mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
7.2 KiB
7.2 KiB
layout | title | description | group | parent | order |
---|---|---|---|---|---|
wiki | ACE3 Events System | Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality. | development | wiki | 3 |
1. Event Handlers
Event handlers in ACE3 are implemented through our event system. They should be used to trigger or allow triggering of specific functionality.
The commands are listed below.
[eventName, eventCodeBlock] call ace_common_fnc_addEventHandler
adds an event handler with the event name and returns the event handler id.[eventName, args] call ace_common_fnc_globalEvent
calls an event with the listed args on all machines, the local machine, and the server.[eventName, args] call ace_common_fnc_serverEvent
calls an event just on the server computer (dedicated or self-hosted).[eventName, targetObject(s), args] call ace_common_fnc_targetEvent
calls an event just on the targeted object or list of objects.[eventName, args] call ace_common_fnc_localEvent
calls an event just on the local machine, useful for inter-module events.
Events can be removed or cleared with the following commands.
[eventName, eventHandlerId] call ace_common_fnc_removeEventHandler
will remove a specific event handler of the event name, using the ID returned fromace_common_fnc_addEventHandler
.[eventName] call ace_common_fnc_removeAllEventHandlers
will remove all event handlers for that type of event.
1.1 Synchronized Events
[eventName, eventCodeBlock, ttlNumberOrCodeBlock] call ace_common_fnc_addSyncedEventHandler
adds a globally synchronized event handler which will expire events after the provided TTL, or the code returns true.[eventName] call ace_common_fnc_removeSyncedEventHandler
will remove a specific event handler of the event name, using the ID returned fromace_common_fnc_addSyncedEventHandler
.-
[eventName, args, ttlNumberOrCodeBlock] call ace_common_fnc_syncedEvent
calls a global synchronized event, which will also be run on JIP players unless it has expired; event will expire after the provided TTL, or the code returns true.
1.2 Pattern:
// tapper machine
["tapShoulder", [_target], [otherArguments]] call EFUNC(common,targetEvent);
// target machine XEH_preInit.sqf
PREP(onTapShoulder);
["tapShoulder", FUNC(onTapShoulder) ] call EFUNC(common,addEventHandler);
1.3 Listenable Event List:
Event Key | Description | Source(s) | Passed Parameter(s) (_this) | Locality |
---|---|---|---|---|
"playerChanged" | `player` changed (zeus/respawn) | common | [_newPlayer, _oldPlayer] | local |
"PlayerJIP" | Player was a JIP player, and `player` object is now created. | common | [_player] | local |
"playerInventoryChanged" | Inventory changed | common | getAllGear-Array | local |
"playerVisionModeChanged" | Vision mode changed (e.g. NVG on) | common | [_unit, _newVisionMode] | local |
"inventoryDisplayChanged" | Inventory display opened/closed | common | [_unit, _isOpen] | local |
"zeusDisplayChanged" | Zeus display opened/closed | common | [_unit, _isOpen] | local |
"cameraViewChanged" | Camera view changed | common | [_unit, _newCameraView] | local |
"playerVehicleChanged" | Player vehicle changed | common | [_unit, _newVehicle] | local |
"playerTurretChanged" | Player turret changed | common | [_unit, _newTurretIndexArray] | local |
"infoDisplayChanged" | On info box change (e.g. entering and leaving a vehicle) | common | [_display, _type] | local |
"inventoryDisplayLoaded" | On opening the inventory display | common | [_display] | local |
"mapDisplayLoaded" | On loading the map (briefing and mission start) | common | [_display, _mapType] | local |
"interactionMenuOpened" | Interaction Menu Opened | interaction | local | |
"killedByFriendly" | On TK/Civilian Killed | respawn | local | |
"drawing_requestMarkers" | Request Drawing Markers | map | target | |
"drawing_sendbackMarkers" | Send Drawing Markers | map | target | |
"drawing_addLineMarker" | Line Drawn | map | global | |
"drawing_removeLineMarker" | Line Deleted | map | global | |
"flashbangExplosion" | Flashbang Goes Bang | grenades | target |
1.4 Callable Event List:
Event Key | Description | Parameters | Owner | Locality |
---|---|---|---|---|
"ace_fcs_forceChange" | force FCS updates | fcs | fcs | local |