Jump to content
chrisbaker1981

Delayed Trigger Response

Recommended Posts

Im having a weird issue with all my triggers

They all seem to have a delay of about 5 seconds.

 

There isnt meant to be any delays, i have checked in their settings, 

Usually i like to put a second or 2 delay on triggers if there are multiple tasks being set up so they show in the right order etc.

 

But in this case i dont want delays, the task is to eliminate an officer, when you kill him you sit wondering if he was the correct target for 5 seconds.

 

All the triggers in my mission have this strange delay. Ive tried deleting them and re doing all the triggers and tasks. still have the delay.

 

Is there a general setting somewhere in Eden i switched on accidentally?

 

Its not the end of the world, but it is strange none the less, anyone experienced this before?

 

 

Share this post


Link to post
Share on other sites

Only once had triggers delayed so much and that was because of a script running a loop. So you can check what scripts you have running. Maybe those are the ones causing the lag.

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, JohnKalo said:

Only once had triggers delayed so much and that was because of a script running a loop. So you can check what scripts you have running. Maybe those are the ones causing the lag.

 

Ok thanks, how do you check if you have a script running? I havent intentionally put a script in but you never know with using mods.. 

Share this post


Link to post
Share on other sites

Trial and error when using mods. Enable and disable them at will. But if you have no custom script running and only an addon can be the issue, does any other mission you play lag? Which mission lagged? That used what addon? Maybe posting the addons you use might help since somebody else might have faced a similar issue. 

 

Also are trigger the only thing you have in your mission? Maybe modules from addons or something.

Share this post


Link to post
Share on other sites

In game pause menu in editor run this code

 

diag_activeSQFScripts

It should return information about active .sqf scripts running.

 

I have a pretty light weight mission regarding scripts and not alot of mods installed and i also had a little 2 or 3 second delay with triggers firing the show/hide module(show) and upon removing a vehicle reload script i tinkered with i had no delay.So it could literally be one script running on say,a repeatable trigger causing issues.

  • Like 2

Share this post


Link to post
Share on other sites
On 12/23/2020 at 5:43 AM, redarmy said:

In game pause menu in editor run this code

 


diag_activeSQFScripts

It should return information about active .sqf scripts running.

 

I have a pretty light weight mission regarding scripts and not alot of mods installed and i also had a little 2 or 3 second delay with triggers firing the show/hide module(show) and upon removing a vehicle reload script i tinkered with i had no delay.So it could literally be one script running on say,a repeatable trigger causing issues.

Great thanks I'll try this

Share this post


Link to post
Share on other sites

Keep in mind that you cannot set the trigger interval in 3den Editor. The only way to set the trigger interval is with a script. That being said, the only way to have a 5 seconds delay to all your triggers must be via some scripts or a mod you may be using.


I do not know any mod or a "script collection" that would impose such a delay to all the triggers in the game. It would be quite stupid to do so since you cannot guarantee that there is no need for a trigger to check in shorter intervals.

 

In addition to that, setting the interval to 0 means (according to the BIKI page of the command) that the trigger will check its condition every frame (unless attached to an object, wherein this case it inherits the simulation frequency of the object). I do believe that this is quite unnecessary, but if the condition is not very heavyweight you won't notice it. Nevertheless, I do believe that an interval of 0.2 to 0.5 seconds would be adequate for your case if this is the issue that is.

 

I doubt that somehow the interval of all the triggers has been set to 5 seconds somehow, but you don't have something to lose by trying to set the interval of your trigger in this way. Nevertheless, if this is the case, I believe you should look for the script/mod that imposes this change and get rid of/bypass it somehow.

Share this post


Link to post
Share on other sites
3 hours ago, ZaellixA said:

Keep in mind that you cannot set the trigger interval in 3den Editor. The only way to set the trigger interval is with a script. That being said, the only way to have a 5 seconds delay to all your triggers must be via some scripts or a mod you may be using.

 

Yes but...

In condition field of any 3DEN trigger, you can write:

if (triggerInterval thisTrigger !=5) then { thisTrigger setTriggerInterval 5}; this

Here this is supposed to be your classic condition (preset). You can work with any usual condition.

The first part of code (if then) returns nothing. It must run just once.

So, only the first check will last 0.5 sec. (not for triggers already activated at start). All the other ones will have a 5 sec. loop.

 

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, pierremgi said:

 

Yes but...

In condition field of any 3DEN trigger, you can write:


if (triggerInterval thisTrigger !=5) then { thisTrigger setTriggerInterval 5}; this

Here this is supposed to be your classic condition (preset). You can work with any usual condition.

The first part of code (if then) returns nothing. It must run just once.

So, only the first check will last 0.5 sec. (not for triggers already activated at start). All the other ones will have a 5 sec. loop.

 

Yeah, that's right... I probably didn't state it correctly. I meant that there's no option field to set the trigger interval in 3den Editor. I consider the provided snippet to be a script that's running whenever the trigger checks its condition and this is why I state it this way. I didn't exclusively mean that you have to run a script from a different file.

 

Nevertheless, this, most probably, is not the issue here since if this was the case chrisbaker1981 would already know about the trigger interval being set to 5 seconds (I presume that they made their own triggers themselves). Apart from what JohnKalo suggested I can't think of any other possible reason for such a (big) delay (it is big if it is not set deliberately, of course, otherwise it is normal).

Share this post


Link to post
Share on other sites
7 hours ago, pierremgi said:

if (triggerInterval thisTrigger !=5) then { thisTrigger setTriggerInterval 5}; this

If the default trigger interval is by default 0.5 seconds, why is it it necessary to have a if then check !=5?

 

Is it not enough with only this in the condition?

thisTrigger setTriggerInterval 5; this

 

Share this post


Link to post
Share on other sites
6 hours ago, Robustcolor said:

If the default trigger interval is by default 0.5 seconds, why is it it necessary to have a if then check !=5?

 

Is it not enough with only this in the condition?


thisTrigger setTriggerInterval 5; this

 

that works also. I didn't make a test for what is the fastest, setting this trigger interval to 5 or checking if the interval is set to 5. (every 5 sec. so probably doesn't matter).

  • Like 1

Share this post


Link to post
Share on other sites
18 hours ago, pierremgi said:

that works also. I didn't make a test for what is the fastest, setting this trigger interval to 5 or checking if the interval is set to 5. (every 5 sec. so probably doesn't matter).

If i place a trigger that activates when anyPlayer joins the game, is it enough to do this?

 

Activation - anyPlayer

Activation type - Present

On activation - trg setTriggerInterval 5; trg1 setTriggerInterval 5;

Not repeatable

 

Or do i need to have the trigger to be Not repeatable but activate on each player with condition this && player in thisList for it to make triggers be the same for each client?

 

Share this post


Link to post
Share on other sites

anyPlayer present is a preset condition for a trigger area. So, if no player in this trigger area, this code will not run. If you want this trigger running at start, forget the preset condition and write TRUE instead of THIS in condition field.  (it's also a good usage for running a code at start for any basic test)

  • Like 1

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

×