addEventHandler: Difference between revisions
Jump to navigation
Jump to search
m (Text replacement - "<h3 style="display:none">Bottom Section</h3> " to "") |
Tag: Undo |
||
(40 intermediate revisions by 4 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 | |||
|eff= local | |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 | |gr1= Event Handlers | ||
| Adds an Event Handler to the given object | |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 | ||
* Use [[removeEventHandler]] to remove an Event Handler | |||
Read [[:Category:Event Handlers|Event Handlers]] for more information and a list of all available Event Handlers. | 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= | |p1= target: [[Object]] or {{GVI|arma3|2.10|size= 0.75}} [[Group]] | ||
|p2= | |p2= type: [[String]] - see [[:Category:Event Handlers|Event Handlers]] for the full list of available options | ||
|p3= | |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> | |||
| [[Number]] - | |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> | |||
{{ | |||
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: | |||
< | |||
Forget about it, will not work. Instead use: | Forget about it, will not work. Instead use: | ||
< | <sqf>if (whatever) then {true} else {false};</sqf> | ||
100% satisfaction guaranteed! | 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
- 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