createTrigger: Difference between revisions
Lou Montana (talk | contribs) m (Text replacement - "\|s([0-9])\= '''([^' ]+)'''([^ ]+) " to "|s$1= $2$3 ") |
No edit summary |
||
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''. | |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> | ||
{{Feature | Informative | Note that triggers are objects, and 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.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> | {{Feature | Informative | Since Arma 3 v1.54 triggers can be disabled/enabled using [[enableSimulation]] command}}<br> |
Revision as of 01:55, 11 August 2021
{{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.