Jump to content
Sign in to follow this  
krytosss

Help For Machinima Recording Multiple Reruns of Multiple Angles

Recommended Posts

I am trying to do a machinima in Arma2. I am setting up a scene and using triggers to have two characters have a prerecorded conversation. I want to rerun the scene multiple times to record it from multiple angles. The problem I'm running into is that every time I restart the mission, the delay between triggers is slightly off and they do not say their lines at EXACTLY the same time as previous reruns. They're always off by a 1/4 second or so.

I am using a series of triggers in a ghetto way. If anyone has better suggestions, please let me know! Basically, I have one trigger for each line. Each trigger has a time delay. For example:

Let's just say

line 1 = 10 seconds of dialogue

line 2 = 5 seconds of dialogue

Trigger1:

countdown

min, mid, max: 15

condition: true

on act: character1 say2d "line1";

Trigger2:

countdown

min, mid, max: 25

condition: true

on act: character2 say2d "line2";

Trigger3:

countdown

min, mid, max: 30

condition: true

on act: character1 say2d "line3";

and so on. all my triggers for the conversation flow like this. As soon as the mission starts, all triggers begin a countdown.

Any ideas on why I can't get the characters to sync up their lines everytime the mission starts? Surely there is a 100% way to make the mission dialogue start at exactly the same time, no? Thanks!

Share this post


Link to post
Share on other sites

I hate triggers so i'll help you with code. Create dialog.sqf file in your mission directory (%userprofile%\Documents\ArmA 2 Other Profiles)

dialog.sqf:

sleep 10;
character1 say2d "line1";
sleep 10;
character2 say2d "line2";
sleep 5;
character1 say2d "line3";

Now add this into init line somewhere, but once:

[] execVM "dialog.sqf";

Share this post


Link to post
Share on other sites

As SaMatra says don't use triggers for this. Triggers are only checked twice a second, meaning you only get 0,5s accuracy.

However, instead of sleeps if you can use 'time' then I would use waitUntils since I belive these are checked each frame:

waitUntil { time > 10};
characher1 say "line1";
waitUntil { time > 20};
characher1 say "line1";
//........

Share this post


Link to post
Share on other sites

Thank you guys very much for your replies!

SaMatra, I'm a bit of a noob to the dialogue.sqf. I know how to do cfgidentities and how to do cfgsounds in the description.ext, but i'm new to dialog.sqf.

Do I simply create an empty file called dialog.sqf in the same directory as my description.ext, copy that code, and then in the unit's init I write:

[] execVM "dialog.sqf";

Which unit's init do I put it into? Just one unit anywhere and it doesn't matter which one does it?

Muzzle, would I do the exact same thing as what Samatra said, but instead copy in your "waituntil..." code into the dialog.sqf?

What are the advantages and disadvantages of sleep vs. waituntil?

Thank you all a ton! :)

Share this post


Link to post
Share on other sites

I would use sumatras sleep example, you will be able to dial in your conversations better.

You can sleep for fractions of a second.

Sleep 0.5;

But irc the time command returns the time in seconds rounded off to the nearest second. I could be wrong but even if I am, the sleep command is just pausing the script, where as calling the time command in each cycle in a waituntil. I think the sleep would be less likley to get out of sync if the schedular starts to run behind.

Share this post


Link to post
Share on other sites

Do I simply create an empty file called dialog.sqf in the same directory as my description.ext, copy that code, and then in the unit's init I write:

Yes, exactly. You can name it anything else you want.

Which unit's init do I put it into? Just one unit anywhere and it doesn't matter which one does it?

Doesn't matter, but you might want to put it into player's init to keep things bit more organized. Also you can create file init.sqf and put it there, init.sqf runs automatically when you start the mission.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×