createTrigger: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) mNo edit summary |
Killzone Kid (talk | contribs) (example, format) |
||
Line 10: | Line 10: | ||
| 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''. Created triggers can be deleted using [[deleteVehicle]].<br><br> | | 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''. Created triggers can be deleted using [[deleteVehicle]].<br><br> | ||
{{Informative | Since Arma 3 v1.43.129935 triggers can be created locally on clients setting optional param ''makeGlobal'' to [[false]]}}<br> | |||
{{Informative | Since Arma 3 v1.53.132440 triggers can be disabled/enabled using [[enableSimulation]] command}}<br> | |||
Triggers are created with default params, which are: | Triggers are created with default params, which are: | ||
* a: 50.0 | * <tt>a</tt>: 50.0 | ||
* b: 50.0 | * <tt>b</tt>: 50.0 | ||
* c: -1 | * <tt>c</tt>: -1 | ||
* angle: 0 | * <tt>angle</tt>: 0 | ||
* rectangular: false | * <tt>rectangular</tt>: false | ||
* activationBy: None | * <tt>activationBy</tt>: None | ||
* activationType: Present | * <tt>activationType</tt>: Present | ||
* repeating: false | * <tt>repeating</tt>: false | ||
* timeoutMin: 0 | * <tt>timeoutMin</tt>: 0 | ||
* timeoutMid: 0 | * <tt>timeoutMid</tt>: 0 | ||
* timeoutMax: 0 | * <tt>timeoutMax</tt>: 0 | ||
* interruptable: true | * <tt>interruptable</tt>: true | ||
* type: None | * <tt>type</tt>: None | ||
* text: "" | * <tt>text</tt>: "" | ||
* name: "" | * <tt>name</tt>: "" | ||
* expCond: "this" | * <tt>expCond</tt>: "this" | ||
* expActiv: "" | * <tt>expActiv</tt>: "" | ||
* expDesactiv: "" | * <tt>expDesactiv</tt>: "" | ||
|= Description | |= Description | ||
Line 54: | Line 54: | ||
_trg [[setTriggerActivation]] ["CIV", "PRESENT", [[true]]]; | _trg [[setTriggerActivation]] ["CIV", "PRESENT", [[true]]]; | ||
_trg [[setTriggerStatements]] ["this", "hint 'Civilian near player'", "hint 'no civilian near'"];</code>|= Example 1 | _trg [[setTriggerStatements]] ["this", "hint 'Civilian near player'", "hint 'no civilian near'"];</code>|= Example 1 | ||
|x2= Open/close Bar Gate automatically: <code>//--- 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]" | |||
]; | |||
};</code>|= EXAMPLE2 | |||
____________________________________________________________________________________________ | ____________________________________________________________________________________________ | ||
Revision as of 21:22, 4 October 2018
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.
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: ""
- Groups:
- Uncategorised
Syntax
- Syntax:
- createTrigger [type, position, makeGlobal]
- Parameters:
- [type, position, makeGlobal]: Array
- type: String - usually "EmptyDetector"
- position: Position2D, Position3D or Object
- makeGlobal (Optional): Boolean - locality flag (available since Arma 3 v1.43.129935)
- true (Default) - trigger is global Template:EffArg
- false - trigger is local Template:EffArg
- 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:
- setTriggerActivationsetTriggerAreasetTriggerStatementssetTriggerTextsetTriggerTimeoutsetTriggerTypesetEffectConditionsetSoundEffectsetMusicEffectsetTitleEffectdeleteVehiclesynchronizeWaypointsynchronizeTriggercreateGuardedPoint
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.