/* * Author: Nou * * Add a event handler. * * Argument: * 0: Event name (string) * 1: Event code (code) * * Return value: * Event handler ID number (for use with fnc_removeEventHandler) */ #include "script_component.hpp" private ["_eventName", "_eventCode", "_eventNames", "_eventFunctions", "_eventNameCount", "_eventIndex", "_eventFunctionCount"]; _eventName = _this select 0; _eventCode = _this select 1; _eventNames = GVAR(events) select 0; _eventFunctions = []; _eventIndex = _eventNames find _eventName; if(_eventIndex != -1) then { _eventFunctions = (GVAR(events) select 1) select _eventIndex; } else { _eventNameCount = count _eventNames; _eventNames set[_eventNameCount, _eventName]; (GVAR(events) select 1) set[_eventNameCount, _eventFunctions]; }; _eventFunctionCount = count _eventFunctions; _eventFunctions set[_eventFunctionCount, _eventCode]; _eventFunctionCount;