Jump to content
Sign in to follow this  
-----jayjayc-----

Help scripting trigger statements

Recommended Posts

New to scripting and working on a search and destroy mission with three enemy bases spawning in random positions (three bases using quick and dirty invisible h-pads with placement radii and BIS functions).

I want to execute a return to base script after three bases are cleared.

Here's the relevant portion of script creating triggers on the base spawn positions with activation code designed to top up a 'BasesCleared' variable to 3 then execute rtb.spf.

//conditions for success

BasesCleared = 0;

_trg1 = createTrigger ["EmptyDetector",_b1Pos];
_trg1 setTriggerArea [100, 100, 0, false];
_trg1 setTriggerActivation ["EAST","NOT PRESENT",true];
_trg1 setTriggerTimeout [1, 2, 3, false ];
_trg1 setMusicEffect "EP1_Track13D1";
_trg1 setTitleEffect ["TEXT", "PLAIN", "OPFOR CAMP NEUTRALISED"];
_trg1 setTriggerStatements ["this","BasesCleared = BasesCleared + 1;if (BasesCleared == 3) then {this execVM "rtb.sqf"};"];

_trg2= createTrigger ["EmptyDetector",_b2Pos];
_trg2 setTriggerArea [100, 100, 0, false];
_trg2 setTriggerActivation ["EAST","NOT PRESENT",true];
_trg2 setTriggerTimeout [1, 2, 3, false ];
_trg2 setMusicEffect "EP1_Track13D1";
_trg2 setTitleEffect ["TEXT", "PLAIN", "OPFOR CAMP NEUTRALISED"];
_trg2 setTriggerStatements ["this","BasesCleared = BasesCleared + 1;if (BasesCleared == 3) then {this execVM "rtb.sqf"};];

_trg3 = createTrigger ["EmptyDetector",_b3Pos];
_trg3 setTriggerArea [100, 100, 0, false];
_trg3 setTriggerActivation ["EAST","NOT PRESENT",true]
_trg3 setTriggerTimeout [1, 2, 3, false ];
_trg3 setMusicEffect "EP1_Track13D1";
_trg3 setTitleEffect ["TEXT", "PLAIN", "OPFOR CAMP NEUTRALISED"];
_trg3 setTriggerStatements ["this","BasesCleared = BasesCleared + 1;if (BasesCleared == 3) then {this execVM "rtb.sqf";}"];

I keep getting an error for a missing ']' in the following line:

_trg1 setTriggerStatements ["this","BasesCleared = BasesCleared + 1;if (BasesCleared == 3) then {this execVM "rtb.sqf"};"];

Can anyone help?

Share this post


Link to post
Share on other sites

change to this:

_trg1 setTriggerStatements ["this","BasesCleared = BasesCleared + 1;if (BasesCleared == 3) then {this execVM 'rtb.sqf'};"];

this because you cant use qoutes inside quotes without errors, you can use ' or "" double quotes to replace " correctly inside other quotes, (string)

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  

×