createTrigger: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
mNo edit summary
(description format)
Line 9: Line 9:
____________________________________________________________________________________________
____________________________________________________________________________________________


| Creates a new [[trigger]] on the given position.  
| 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>


An object of the given type is created; this type must be a class name in CfgNonAIVehicles or CfgVehicles with simulation <nowiki>=</nowiki> detector.
'''NOTE:''' Triggers in multiplayer are global objects and therefore should only be created on the server. Creating trigger on a client will result in trigger becoming a dead weight transferred to the server when client logs out. When created in the editor triggers are created on the server only, the trigger statements are then set on each client individually. After creating a trigger on the server, you can use [[setTriggerStatements]] and other setTriggerXXXX commands on each client to set the required client trigger operation individually.<br><br>


An array containing all units that have activated the trigger is available via [[list]] ''triggerobj''.
Triggers are created with default params, which are:
 
* a - 50.0
Created triggers can be deleted using [[deleteVehicle]].
* b - 50.0
 
* angle - 0
'''NOTE:''' Triggers in multiplayer are global objects and therefore should only be created on the server. Creating trigger on a client will result in trigger becoming a dead weight transferred to the server when client logs out. When created in the editor triggers are created on the server only, the trigger statements are then set on each client individually. After creating a trigger on the server, you can use [[setTriggerStatements]] and other setTriggerXXXX commands on each client to set the required client trigger operation individually.
* rectangular - false
* activationBy - None
* activationType - Present
* repeating - false
* timeoutMin - 0
* timeoutMid - 0
* timeoutMax - 0
* interruptable - true
* type - None
* text - ""
* name - ""
* expCond - "this"
* expActiv - ""
* expDesactiv - ""
   
   
|= Description
|= Description
____________________________________________________________________________________________
____________________________________________________________________________________________


| [[Object]] <nowiki>=</nowiki> '''createTrigger''' [type, position] |= Syntax
| '''createTrigger''' [type, position] |= Syntax


|p1= [type, position]: [[Array]] |= Parameter 1
|p1= [type, position]: [[Array]] |= Parameter 1
Line 31: Line 44:
____________________________________________________________________________________________
____________________________________________________________________________________________
   
   
|x1= <code>_trg<nowiki>=</nowiki>createTrigger["EmptyDetector",getPos player];
|x1= <code>_trg = [[createTrigger]] ["EmptyDetector", [[getPos]] [[player]]];
_trg [[setTriggerArea]][5,5,0,false];<br>_trg [[setTriggerActivation]]["CIV","PRESENT",true];<br>_trg [[setTriggerStatements]]["this", "hint 'Civilian near player'", "hint 'no civilian near'"]; </code>|= Example 1
_trg [[setTriggerArea]] [5, 5, 0, [[false]]];
_trg [[setTriggerActivation]] ["CIV", "PRESENT", [[true]]];
_trg [[setTriggerStatements]] ["this", "hint 'Civilian near player'", "hint 'no civilian near'"];</code>|= Example 1
____________________________________________________________________________________________
____________________________________________________________________________________________
|mp= Triggers are global and will be present on all machine(s) when this command is run. |=
|mp= Triggers are global and will be present on all machine(s) when this command is run. |=

Revision as of 13:56, 19 March 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.

NOTE: Triggers in multiplayer are global objects and therefore should only be created on the server. Creating trigger on a client will result in trigger becoming a dead weight transferred to the server when client logs out. When created in the editor triggers are created on the server only, the trigger statements are then set on each client individually. After creating a trigger on the server, you can use setTriggerStatements and other setTriggerXXXX commands on each client to set the required client trigger operation individually.

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]
Parameters:
[type, position]: Array
type: String
position: Position
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