addEventHandler: Difference between revisions
| mNo edit summary | Tag: Undo | ||
| (126 intermediate revisions by 27 users not shown) | |||
| Line 1: | Line 1: | ||
| {{ | {{RV|type=command | ||
| |  | |game1= ofp | ||
| |version1= 1.85 | |||
| |1. | |game2= ofpe | ||
| |version2= 1.00 | |||
| | | |game3= arma1 | ||
| |version3= 1.00 | |||
| | | |game4= arma2 | ||
| |version4= 1.00 | |||
| |  | |game5= arma2oa | ||
| |version5= 1.50 | |||
| |  | |game6= tkoh | ||
| |version6= 1.00 | |||
| | | |game7= arma3 | ||
| |version7= 0.50 | |||
| | | |arg= global | ||
| | | |eff= local | ||
| |  | |gr1= Event Handlers | ||
| | [[removeEventHandler]] | | |descr= Adds an Event Handler to the given object. | ||
| * As many Event Handlers of any type can be added - existing Event Handlers do not get overwritten | |||
| * Use [[removeEventHandler]] to remove an Event Handler | |||
| Read [[:Category:Event Handlers|Event Handlers]] for more information and a list of all available Event Handlers. | |||
| |mp= Some event handlers are persistent (i.e they stay attached to the unit, even after it dies and respawns). | |||
| |s1= target [[addEventHandler]] [type, code] | |||
| |p1= target: [[Object]] or {{GVI|arma3|2.10|size= 0.75}} [[Group]] | |||
| |p2= type: [[String]] - see [[:Category:Event Handlers|Event Handlers]] for the full list of available options | |||
| |p3= code: [[Code]] or [[String]] - code that should be executed when the Event Handler fires; executed in [[missionNamespace]] by default. Several [[Magic Variables]] are available: | |||
| * Event Handler parameters are accessible via <sqf inline>_this</sqf> | |||
| * The Event Handler type is available as <sqf inline>_thisEvent</sqf> | |||
| * The Event Handler index is available as <sqf inline>_thisEventHandler</sqf> | |||
| |r1= [[Number]] - the index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler. | |||
| |x1= <sqf> | |||
| this addEventHandler ["Killed", { | |||
| 	params ["_unit", "_killer"]; | |||
| 	systemChat format ["%1 has been killed by %2.", _unit, _killer]; | |||
| }]; | |||
| </sqf> | |||
| |x2= <sqs>_index = player addEventHandler ["Killed", { _this exec "playerKilled.sqs" }]</sqs> | |||
| |seealso= [[removeEventHandler]] [[removeAllEventHandlers]] [[:Category:Event Handlers|Event Handlers]] [[addMPEventHandler]] [[addMissionEventHandler]] [[BIS_fnc_addScriptedEventHandler]] [[getEventHandlerInfo]] | |||
| }} | }} | ||
| {{Note | |||
| < | |user= Killzone_Kid | ||
| < | |timestamp= 20150607210600 | ||
| |text= When using overridable EH, such as "InventoryOpened" and similar, where returning [[true]] allows to override default action, [[exitWith]] cannot be used to return value. So: | |||
| <sqf>if (whatever) exitWith {true}; false;</sqf> | |||
| Forget about it, will not work. Instead use: | |||
| <sqf>if (whatever) then {true} else {false};</sqf> | |||
| 100% satisfaction guaranteed! | |||
| }} | |||
Latest revision as of 15:58, 31 March 2024
Description
- Description:
- Adds an Event Handler to the given object.
- As many Event Handlers of any type can be added - existing Event Handlers do not get overwritten
- Use removeEventHandler to remove an Event Handler
 
- Multiplayer:
- Some event handlers are persistent (i.e they stay attached to the unit, even after it dies and respawns).
- Groups:
- Event Handlers
Syntax
- Syntax:
- target addEventHandler [type, code]
- Parameters:
- target: Object or  2.10 Group 2.10 Group
- type: String - see Event Handlers for the full list of available options
- code: Code or String - code that should be executed when the Event Handler fires; executed in missionNamespace by default. Several Magic Variables are available:
- Event Handler parameters are accessible via _this
- The Event Handler type is available as _thisEvent
- The Event Handler index is available as _thisEventHandler
 
- Return Value:
- Number - the index of the added Event Handler. Indices start at 0 for each unit and increment with each added Event Handler.
Examples
- Example 1:
- this addEventHandler ["Killed", { params ["_unit", "_killer"]; systemChat format ["%1 has been killed by %2.", _unit, _killer]; }];
- Example 2:
Additional Information
- See also:
- removeEventHandler removeAllEventHandlers Event Handlers addMPEventHandler addMissionEventHandler BIS_fnc_addScriptedEventHandler getEventHandlerInfo
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
Categories: 
- Scripting Commands
- Introduced with Operation Flashpoint version 1.85
- Operation Flashpoint: New Scripting Commands
- Operation Flashpoint: Scripting Commands
- Operation Flashpoint: Elite: Scripting Commands
- ArmA: Armed Assault: Scripting Commands
- Arma 2: Scripting Commands
- Arma 2: Operation Arrowhead: Scripting Commands
- Take On Helicopters: Scripting Commands
- Arma 3: Scripting Commands
- Command Group: Event Handlers
- Scripting Commands: Local Effect
 
	





