createTrigger
{{RV|type=command
|game1= ofpe |version1= 1.00
|game2= arma1 |version2= 1.00
|game3= arma2 |version3= 1.00
|game4= arma2oa |version4= 1.50
|game5= tkoh |version5= 1.00
|game6= arma3 |version6= 0.50
|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 = 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.
Triggers are created with default params, which are:
- 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 (Cannot be accessed via editor, scripted only since Arma 3 v1.98)
|s1= createTrigger [type, position, makeGlobal]
|p1= [type, position, makeGlobal]: Array |p2= type: String - usually "EmptyDetector" |p3= position: Position2D, Position3D or Object |p4= makeGlobal (Optional): Boolean - locality flag (available since Arma 3 v1.44)
|r1= Object - created trigger
|x1= _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'"];
|x2= 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]"
];
};
|seealso= setTriggerActivation, setTriggerArea, setTriggerStatements, setTriggerText, setTriggerTimeout, setTriggerType, setEffectCondition, setSoundEffect, setMusicEffect, setTitleEffect, deleteVehicle, synchronizeWaypoint, synchronizeTrigger, createGuardedPoint, triggerInterval, setTriggerInterval, enableSimulation, simulationEnabled }}
- 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.