Jump to content
Sign in to follow this  
b00tsy

out of sync texts

Recommended Posts

Heya,

I have been adding dialog texts to a mission I am working on and I keep having problems that the texts activates (triggers) out of sync.

So for example I start with this:

PAPABEAR=[West,"HQ"]; PAPABEAR SideChat "Team Delta come in..."; placed in a trigger with a timeout "0,15,30". And then a trigger with PL1 sideChat "Delta here, over..." with the timeout set to "0,20,40". Followed by more dialog text added in the same way after that.

The problem is that sometimes the texts activate in the wrong order. Text that should activate at the end suddenly activates in the beginng... messing up the whole convo.

Is there any trick to get that working in a relieable way?

Share this post


Link to post
Share on other sites

If the condition is the same then it is obvious you get that problem..

The Min, Mid and Max specify a range in which it activates. You first text might end up being displayed as late as 30s after activation while the other as early as 0 seconds.

You can chain the triggers together:

In your first on act:

something sideChat blabla; CHAT_1 = true;

Your other trigger you set the condition to:

CHAT_1

And in your on act:

something sideChat blabla; CHAT_2 = true;

In your next triggers you continue this. Then all of your messages will arrive in order. 30s is a pretty long delay ???? Might try 5,8,11 or something like those values instead.

Share this post


Link to post
Share on other sites

Ahh thanks thats helpful, will try it out now :)

The convo starts at the beginning of the mission so I wanted to wait 30 second to make sure that the player does not still has the "receiving" screen in mp mode. I will mess around with it some more :)

Edit: Works perfecto now, thank you!

Edited by B00tsy

Share this post


Link to post
Share on other sites

Heh got a new problem. The first set of triggers with dialogs activates fine now in the proper order (activated by Bluefor present). I have a second set of triggers with texts that needs to be activated when an object has been destroyed (vehicle not present).

I grouped the 2nd set of triggers to an object and set the activation to not present. Still though when the first set of triggers activates the second set of triggers activate too while the object is not destroyed and still there.

First set of triggers I use the CHAT_1 = true; up to CHAT_6 = true;

2nd set I used CHAT_7 = true; up to CHAT_11 = true;

What did I do wrong?

Share this post


Link to post
Share on other sites

1. timeout "0,15,30"

2. timeout "0,20,40"

1. will go off between 0 and 30 seconds with average of 15, 2. will go off between 0 and 40 seconds with average of 20.

So there is a chance that 2. will go off before 1.

Share this post


Link to post
Share on other sites

Yes got that solved and adjusted the timers already. That does not explain why the other set of triggers activate and display the second convo while they should only activate when the object is destroyed, after completing the objective. The 2nd set is properly grouped to the object and set to not present.

---------- Post added at 06:59 PM ---------- Previous post was at 06:44 PM ----------

Nevermind, I am going to place the dialogs in an external script. I would need like 40 triggers otherwise.

---------- Post added at 07:37 PM ---------- Previous post was at 06:59 PM ----------

Lol, so yet a new problem.

So made a .sqf with some dialogs that activates at the correct moment now with just 1 trigger. However the sleep function does not seem to work in between dialog lines. I get now all the dialog texts at once, but I would like to have like a 5 second gap in between the texts.

I have tried adding:

sleep 5.0;

WaitUntill sleep 5.0;

uisleep 5.0;

Nothing works, I keep getting all texts at the same time.

Suggestions pls :)

Share this post


Link to post
Share on other sites

How exactly do you have it set up?

Are the commands all in the trigger?

Are you using call in the trigger?

Either of the above would explain your results.

Regardless the following should work in a trigger.

On Act: 0 = [] execVM "long_talk.sqf";

in that script:

A sideChat Stuff;
sleep 5;
B sideChat Stuff;
sleep 5;
A sideChat Stuff;
........

Share this post


Link to post
Share on other sites

I have now this in the trigger [this, 5] exec "dialog2.sqf"

and for the script:

Pl1 sideChat "test1";

sleep 5.0; (and the other commands I tried)

Pl1 sideChat "test2";

etc.

I tried your execute command and it works now, again thanks man :)

Share this post


Link to post
Share on other sites

perhaps try reading up on the new dialogue method, and using kbtell and kbwassaid? that will always be in sync and it doesnt require sleep commands. using an fsm for it would make it really easy to get dynamic as well.

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  

×