PDA

View Full Version : Matinees not repeating?



Scubasage
11-30-2011, 08:50 AM
So, I have a set of matinees hooked up to a switch, which is hooked up to a use trigger event. What is supposed to happen is that every time the player hits the switch, one of the four matinees plays, then the next time he hits it, the next matinee plays, etc. etc.

Once he hits the switch for the fifth time, the first matinee is supposed to trigger again. I know the switch action is working properly (having tested with announcements that play properly), but the matinees don't play.

Kismet Screencap (http://img254.imageshack.us/img254/3962/kismetq.png)

Here is a screen cap of this portion of my kismet. You can't see all the matinees, but they are set up the same way, just with different data inside. I'm thinking there's something in that properties window at the bottom I have to change, but I don't know what.

Any help?

ADayInForever
11-30-2011, 03:37 PM
Toggle the "Rewind on Play" option for each of those matinees. Should work correctly then.

Scubasage
12-01-2011, 07:39 AM
Well...it's better than before, but no, it's still not working.

What is happening now is that every use of the trigger after the 4th, instead of no animation playing at all, it just keeps repeating the 4th matinee.

ADayInForever
12-01-2011, 10:35 AM
Because you need to run a validation check of some sort for after the 4th matinee gets played so that it resets to the first one. So on the "completed" input node of your 4th matinee, you need to set a boolean variable. Something like Is4thMatineePlayed... then toggle it to true after 4th matinee completes, and then have a boolean comparison of this variable checked before it hits the "switch" node. (And you might want to clarify what your switch node conditions are by taking a screencap of its properties like you did with the matinees...). And then once the first matinee is executed, set that boolean back to false. That way you get the looping behavior you desire.

Scubasage
12-01-2011, 10:51 AM
Alright, so I have to set up a bool and compare it...but where exactly do I connect the nodes of the comparison? Here's the screencap of the switch properties.

Switch (http://img266.imageshack.us/img266/1300/kismet2.png)

ADayInForever
12-01-2011, 08:47 PM
In your boolean comparison node, I would recommend plugging the "bool" input node to the boolean variable, not the "result" output node.

After Matinee #4 completes, use the "Toggle" kismet node to change the boolean value by linking "completed" to "Turn On". Conversely, "Turn Off" sets the boolean to FALSE... you will need to toggle this off after the FIRST matinee completes.

This time around you might want to modify your kismet switch node slightly, since you're doing this comparison check now. If "FourthMatineeHasPlayed", then just connect straight to matinee number one. Otherwise, use switch to compare between the remaining three matinees.

From there, I recommend you continue playing around with your kismet until you get it working and customized to your liking. Good luck! :)

Scubasage
12-02-2011, 08:00 AM
So, something like this?

Kismet (http://img52.imageshack.us/img52/461/kismet3.png)

Cause it still isn't working properly. Whether I have the bool start as true or false didn't make a difference either, it still just repeats the 4th matinee over and over for every use of the trigger after the 4th.

klasodeth
12-07-2011, 04:12 AM
Perhaps this will work for you:

http://i273.photobucket.com/albums/jj216/klasodeth/UDK/Kismet-Resetting4-wayswitch-1.jpg

I've only tested this with Play Announcements. The Matinees I have in the screenshot are untested dummies, but it seems like the system should work with your Matinees. For the Index node of the Switch, an Int variable is plugged in. I have it set for 0 initially, though it probably should be set to 1, since that's what the first Link index would actually be. The Switch should automatically progress to the next Matinee each time it's triggered. At the same time, the Switch automatically updates the Int variable plugged into the Index node. When it finishes playing the fourth Matinee, the action Set Variable - Int gets triggered. In the properties, I have it set to reset the Int Variable to 1. This manually resets the Switch, so that next time the Switch is triggered, it should play the first Matinee.

As I said before, I only tested this with Play Announcements, but it works for me without having to enable Looping in the properties for the Switch. As long as your fourth Matinee completes playback, this setup should forcibly reset your Switch to achieve the desired behavior.

EDIT: I just tried it with a dummy Matinee connected to the fourth Link, and it worked properly. After testing that, I disconnected the Set Variable - Int action and verified that the Switch no longer resets itself after firing the fourth Link. At this point, I'm pretty confident this setup should resolve your problem.

Scubasage
12-07-2011, 08:12 AM
Unless I'm missing a setting in the properties somewhere, no, it doesn't work. the 5th use won't do anything at all, and then uses 6, 7 and 8 are all playing the 4th matinee.

I'm thinking at this point I need to come up with another thing for this puzzle instead of this statue turning thing.

klasodeth
12-07-2011, 12:51 PM
I wonder if there's somehow something wrong with the fourth Matinee. If something is wrong and the Matinee never thinks it's finished playing, the Index variable will never get updated. How about rewiring the fourth Link so that the Index variable is reset before the fourth Matinee plays? That way, even if the fourth Matinee is having a problem, the Link Index is already reset, so the next activation of the Switch should use Link 1, instead of staying stuck on Link 4.

If that doesn't work, try setting your Switch up with only three Links, so that the fourth Matinee isn't connected at all. Since the Switch properly updates after playing the first three Matinees, it seems like a Switch with only three Links ought to work properly. If you do that, you can try checking the Looping property of the Switch to see if it loops properly, or you can modify the setup I posted earlier so that the Index variable is updated after the third Matinee completes.

If it works, then there's something wrong with your fourth Matinee. If it doesn't work, then maybe it will be necessary to add some Breakpoints to see what's happening as Kismet executes.

Scubasage
12-08-2011, 07:46 AM
I think the problem is with my first matinee. Even doing both of your suggestions, the same thing happens, where the first press of the switch for the second cycle doesn't play any matinee at all, and then each of the other presses afterwards play the last one that is linked up (in this case, the third).

klasodeth
12-09-2011, 02:52 AM
It's hard to imagine something being wrong with the first Matinee if the Switch can successfully move on to the second Matinee afterward. If you think the first Matinee itself might be a problem, how about connecting your Matinees to the Switch in reverse order, so that the first Matinee gets plugged into the fourth Link?

Something else I'm curious about is confirmation about whether or not the fourth Matinee is completing playback. Perhaps you should add some Play Announcements. You could put a Play Announcement before each Matinee that says something to the effect of "Matinee XX starting playback", and put a Play Announcement on the Completed node of each Matinee that says something to the effect of "Matinee XX finishing playback". If the Matinees aren't ending playback properly, the absence of the completion message will be a clue.

Scubasage
12-12-2011, 09:44 AM
Well, the announcement plays at the end, but what I found is that the set value for the INT isn't running (I put an announcement at the end of that to check it as well). Maybe I'm missing a really obvious setting there?

EDIT: Ok, by making a second int and plugging it into the value node of the set int action, I get the announcement to play, but the animations still don't work right. Now I'm very confused. I'm sure it's something super basic and obvious that I'm missing because I'm such a noob.

klasodeth
12-13-2011, 01:14 AM
I'm really not sure what's going on. To try to reproduce your issue, I created a Switch with four Links that causes a brick to rotate 90 degrees each time the trigger is touched, and it's working perfectly. Using the 'Looping' checkbox on the Switch, I don't even need to manually reset the Switch after the first cycle. If you like, I can upload a copy of the level somewhere so that you can see it in action and inspect the Kismet involved.

Edit: Here's a sample level with a rotating brick. I'm using a Weapon Factory as a trigger. Each time it is touched, the brick just beyond it rotates 90 degrees, followed by a message announcing that the relevant Link is complete.

RotatingBrick.udk at MegaUpload (http://www.megaupload.com/?d=5EUGJWXX)

Scubasage
12-13-2011, 08:02 AM
My UDK crashes whenever I try to open your Rotating Brick map. I'm using the September build, so yeah, that might be why. I have a trigger "use" event with an actual trigger to activate the switch, not a "touch" event with a weapon factory. I have the switch set to looping, and I have the use event set to have a max trigger count of 0 and a trigger delay of 5. My matinees are 3.5 seconds long. I just put the delay in so that the matinee has a chance to finish before they can trigger the next one.

klasodeth
12-13-2011, 12:08 PM
That's really weird. I'm still using the September build, so there shouldn't be any compatibility issues. I just reopened the test level just to be sure, and it still loads correctly for me. I also used the MegaUpload link to download a copy of the level, and that loads correctly as well.

As for your settings, they sound pretty similar to mine. I also set the Switch for looping and a max trigger count of 0. My trigger delay is shorter, but that really shouldn't matter. The 0.5 second delay I'm using is actually shorter than the animations are, but it doesn't seem to cause a problem. My Matinees are set to rewind on play, and that's pretty much all the properties I messed with. Everything else is left at the defaults.

At this point, it sounds like you have everything right. The only suggestion I can think of now is to manually recreate your entire Switch setup, preferably in a separate test level. If that still doesn't work, maybe UDK needs to be reinstalled.

Scubasage
12-14-2011, 08:17 AM
Yeah, no, I apparently can't read. Using the August build (for some reason I saw 09 instead of 08).

I'll try recreating it in a clean test level and see what happens.