createTrigger: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
m (page overhaul)
Line 21: Line 21:
|gr1= Triggers
|gr1= Triggers


|descr= 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 <nowiki>=</nowiki> detector. An array containing all units that have activated the trigger is available via [[list]] ''triggerobj''. Since triggers are [[object|'''objects''']], they can be deleted using [[deleteVehicle]].<br><br>
|descr= Creates a [[trigger]] of the given type and at the given position. The type must be a class name in ''CfgNonAIVehicles'' or ''CfgVehicles'' with {{ic|simulation {{=}} detector}}. An array containing all units that have activated the trigger is available via {{ic|[[list]] triggerobj}}. Since triggers are [[object|'''objects''']], commands such as [[getPosASL]], [[setPosASL]], [[deleteVehicle]], etc. work on them.
{{Feature | Informative | Note that triggers are [[object|'''objects''']], and therefore commands such as [[getPosASL]], [[setPosASL]], [[deleteVehicle]], etc. work on them the same as other objects.}}
{{Feature | Informative | Since Arma 3 v1.44 triggers can be created locally on clients setting optional param ''makeGlobal'' to [[false]]}}
{{Feature | Informative | Since Arma 3 v1.54 triggers can be disabled/enabled using [[enableSimulation]] command}}<br>


Triggers are created with default params, which are:
{{Feature | Informative | Since Arma 3 v1.54 triggers can be disabled/enabled using [[enableSimulation]] command.}}
 
Triggers are created with default parameters:
{{Columns|4|
* <tt>a</tt>: 50.0
* <tt>a</tt>: 50.0
* <tt>b</tt>: 50.0
* <tt>b</tt>: 50.0
Line 45: Line 45:
* <tt>expActiv</tt>: ""
* <tt>expActiv</tt>: ""
* <tt>expDesactiv</tt>: ""
* <tt>expDesactiv</tt>: ""
* <tt>interval</tt>: 0.5 (Cannot be accessed via editor, [[setTriggerInterval | scripted only]] since Arma 3 v1.98)
* <tt>interval</tt>: 0.5 {{GVI|arma3|1.98}}
}}
 
   
   


Line 53: Line 55:
|p2= type: [[String]] - usually "EmptyDetector"
|p2= type: [[String]] - usually "EmptyDetector"
|p3= position: [[Position2D]], [[Position3D]] or [[Object]]
|p3= position: [[Position2D]], [[Position3D]] or [[Object]]
|p4= makeGlobal (Optional): [[Boolean]] - locality flag ''(available since Arma 3 v1.44)''
|p4= makeGlobal (Optional - default [[true]]): [[Boolean]] - locality flag {{GVI|arma3|1.44}}
* [[true]] (Default) - trigger is global {{Icon|globalEffect|32}}
* [[true]] - trigger is global {{Icon|globalEffect|24}}
* [[false]] - trigger is local {{Icon|localEffect|32}}
* [[false]] - trigger is local {{Icon|localEffect|24}}


|r1= [[Object]] - created trigger
|r1= [[Object]] - created trigger

Revision as of 09:46, 11 August 2021

Hover & click on the images for description

Description

Description:
Creates a 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. Since triggers are objects, commands such as getPosASL, setPosASL, deleteVehicle, etc. work on them.
Since Arma 3 v1.54 triggers can be disabled/enabled using enableSimulation command.

Triggers are created with default parameters:

  • a: 50.0
  • b: 50.0
  • c: -1
  • 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: ""
  • interval: 0.5 Arma 3 logo black.png1.98
Groups:
Triggers

Syntax

Syntax:
createTrigger [type, position, makeGlobal]
Parameters:
[type, position, makeGlobal]: Array
type: String - usually "EmptyDetector"
position: Position2D, Position3D or Object
makeGlobal (Optional - default true): Boolean - locality flag Arma 3 logo black.png1.44
Return Value:
Object - created trigger

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'"];
Example 2:
Open/close Bar Gate automatically: //--- init of the Bar Gate if (isServer) then { _gateTrigger = createTrigger ["EmptyDetector", getPosWorld this, false]; _gateTrigger setVariable ["BarGateObj", this]; _gateTrigger setTriggerActivation ["ANYPLAYER", "PRESENT", true]; _gateTrigger setTriggerArea [5, 25, getDir this, true]; _gateTrigger setTriggerStatements [ "this", "thisTrigger getVariable ""BarGateObj""; animateSource [""Door_1_sound_source"", 1]", "thisTrigger getVariable ""BarGateObj""; animateSource [""Door_1_sound_source"", 0]" ]; };

Additional Information

See also:
setTriggerActivationsetTriggerAreasetTriggerStatementssetTriggerTextsetTriggerTimeoutsetTriggerTypesetEffectConditionsetSoundEffectsetMusicEffectsetTitleEffectdeleteVehiclesynchronizeWaypointsynchronizeTriggercreateGuardedPointtriggerIntervalsetTriggerIntervalenableSimulationsimulationEnabled

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
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.