Latest version: 1.7 @ Mar. 16 2008
Extended Event Handlers (XEH) by Solus and Killswitch
Combines Extended Init, Fired, and other event handlers into a single addon. Thanks to Killswitch for combining them and adding the ability to use extended event handlers for all events! Includes working signature and key. The cfgPatch names are backwards compatible with addons made for the Extended Init and Fired EH addons. The previous addons should be removed, but shouldn't have any problems if present.
XEH Version 1.7:
Extended EventHandlers 1.7 @ ArmedAssault.info
Extended EventHandlers 1.7 @ Armaholic.com
Extended EventHandlers 1.7 @ ofp-zeus.com
Fixed: Removed XEH from class Static, which stops ArmA from crashing to desktop
when resuming saved games.
Fixed: The "exclude" property will apply to the specified class(es) and all
Added: Composite ("inner") XEH classes can have an extra property, "exclude"
which is either a string or an array of strings with the class name(s)
of vehicles that should *not* get a particular XEH event handler.
Added: "Static" class vehicles can now have XEH event handlers.
Added: A respawn monitor that restores non-init XEH event handlers after
the player respawns. Many thanks to Sickboy, LoyalGuard and ViperMaul for
the initial research and suggestions!
Added: The ability to use "nested" XEH classes with a "scope" feature
to limit certain event handlers to objects of specific classes.
Fixed: Extended Dammaged EventHandler.
Fixed: XEH can now handle extended event handlers that are missing a trailing
Fixed: the example addons now require the Extended_Eventhandlers addon
instead of the two older ones. Also, the debug sideChats are now guaranteed
to be seen when previewing a mission with the example addons loaded.
Fixed: XEH init EH:s are now actually being called on units inside vehicles.
This addon allows a virtually infinite amount of event handlers to be used together from different addons. The event handlers are executed for the matching class and all inheriting classes. The event handler init line also contains the extended event handler class to look for, so you can have a custom inheritance for custom units.
Normally event handlers can only be added in configs, and trying to add a new event handler caused all previous event handlers to be overwritten, this addon allows that limitation to be overcome. This is mostly useful for having addons that can add different functionality, for example in OFP addons that had their own event handlers wouldn't inherit default event handlers, such as a custom unit with EHs being used with ECP or FFUR wouldn't have the ECP or FFUR effects.
Other Extended Event Handlers by Killswitch
Adds extended event handlers for all events.
Extended Fired Event Handler
This allows a virtually infinite amount of fired event handlers to be used together from different addons.
The extended fired event handler has several different parts:
First the extended init EH is run for all units to add together and compile all of the inherited fired event handlers and use setVariable to attach those to the unit.
The extended fired event handler is added to the base class Extended_EventHandlers so that all of the cfgVehicles class EventHandlers inherit it. When a unit fires and sets off the event handler the shot is immediately captured in the same game state cycle. Then the compiled extended fired events are called by using getVariable to retrieve them from the unit.
The fired event handler init line contains the extended event handler class to look for, so you can have a custom inheritance for custom units. The event handlers are executed for the matching class and all inheriting classes.
It allows more fired events to be used together, for example a script that makes shots affected by wind and a tracer script could be used together.
More can be read at the previous thread:
Thanks to Mr Groch for testing!
Thanks to ofp-zeus.com, Armaholic.com, AssaultMissionStudio.de, Combat-Prison.net, and ArmedAssault.info for hosting!
License: XEH can be included in other releases either as the original archive or as the extracted files, preferably with the readme to help explain things. Modified versions can be released to add features or fix bugs or compatibility issues, but it should be signed and should retain backwards compatibility. Killswitch handles the SLX_XEH key and can check the code and sign new versions, although a new key can be used if necessary.