createTrigger: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 83: Line 83:
<dt class="note">[[User:MisterGoodson|MisterGoodson]]</dt>
<dt class="note">[[User:MisterGoodson|MisterGoodson]]</dt>
<dd class="note">
<dd class="note">
Following TeaCup's note, you can reliably use the following to wait until a trigger has initialized:
Following TeaCup's note, you can reliably use the following to wait until a trigger has initialised:
<code>waitUntil {(count (list _trigger)) > 0}; // Wait for trigger to initialize</code>
<code>waitUntil {(count (list _trigger)) > 0}; // Wait for trigger to initialise</code>
</dd>
</dd>
</dl>
</dl>
<!-- DISCONTINUE Notes -->
<!-- DISCONTINUE Notes -->

Revision as of 13:56, 18 September 2015

-wrong parameter ("Arma") defined!-1.00
Hover & click on the images for description

Description

Description:
Creates a sensor (trigger) of the given type and at the given position. The type must be a class name in CfgNonAIVehicles or CfgVehicles with simulation = detector. An array containing all units that have activated the trigger is available via list triggerobj. Created triggers can be deleted using deleteVehicle.

NOTE1: Since Arma 3 v1.43.129935 triggers can be created locally on clients using the alternative syntax.
NOTE2: Since Arma 3 v1.53.132440 triggers can be disabled/enabled using enableSimulation command.

Triggers are created with default params, which are:
  • a - 50.0
  • b - 50.0
  • angle - 0
  • rectangular - false
  • activationBy - None
  • activationType - Present
  • repeating - false
  • timeoutMin - 0
  • timeoutMid - 0
  • timeoutMax - 0
  • interruptable - true
  • type - None
  • text - ""
  • name - ""
  • expCond - "this"
  • expActiv - ""
  • expDesactiv - ""
Multiplayer:
Triggers are global and will be present on all machine(s) when this command is run.
Groups:
Uncategorised

Syntax

Syntax:
createTrigger [type, position, makeGlobal]
Parameters:
[type, position, makeGlobal]: Array
type: String
position: Position2D, Position3D or Object
makeGlobal (optional): Boolean - locality flag, true - trigger is global Template:EffArg, false - trigger is local Template:EffArg (available since Arma 3 v1.43.129935)
Return Value:
Object

Examples

Example 1:
_trg = createTrigger ["EmptyDetector", getPos player]; _trg setTriggerArea [5, 5, 0, false]; _trg setTriggerActivation ["CIV", "PRESENT", true]; _trg setTriggerStatements ["this", "hint 'Civilian near player'", "hint 'no civilian near'"];

Additional Information

See also:
setTriggerActivationsetTriggerAreasetTriggerStatementssetTriggerTextsetTriggerTimeoutsetTriggerTypesetEffectConditionsetSoundEffectsetMusicEffectsetTitleEffectdeleteVehiclesynchronizeWaypointsynchronizeTrigger

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note

Notes

Posted on March 6, 2013 - 14:15 (CEST)
teaCup
Calling list immediately after creating a trigger this way (and setting up activation, area, statements, timeout, etc..), will return <null> instead of an array. It seems the trigger needs about 1 second to initialise, after which it will behave as expected: returning an array of all the objects inside the trigger (the ones matching the criteria), or an empty array.

Bottom Section

Posted on September 18, 2015 - 12:54 (UTC)
MisterGoodson
Following TeaCup's note, you can reliably use the following to wait until a trigger has initialised: waitUntil {(count (list _trigger)) > 0}; // Wait for trigger to initialise