This shows you the differences between two versions of the page.
— |
arma:missions:eventhandlers [2007-07-13 11:17] (current) snakeman created eventhandlers initial page |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== EventHandlers ====== | ||
+ | These are the ArmA eventhandlers (EH). | ||
+ | |||
+ | ====== General MP Note ====== | ||
+ | |||
+ | As opposed to OFP EHs, in ArmA a respawned unit still has the EHs it had before, so it is no longer required to re-add EHs after respawning. | ||
+ | |||
+ | ====== Event Handler List ====== | ||
+ | |||
+ | ====== AnimChanged ====== | ||
+ | |||
+ | Trigerred everytime a new animation is started. | ||
+ | |||
+ | Unknown MP behaviour. Probably local. | ||
+ | |||
+ | Passed array: **[unit, anim]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * anim: [[:String]] - Name of the anim that started | ||
+ | |||
+ | ====== AnimDone ====== | ||
+ | |||
+ | Trigerred everytime an animation is finished. | ||
+ | |||
+ | Unknown MP behaviour. Probably local. | ||
+ | |||
+ | Passed array: **[unit, anim]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * anim: [[:String]] - Name of the anim that has been finished | ||
+ | |||
+ | ====== Dammaged ====== | ||
+ | |||
+ | Triggered when the unit is damaged. In ArmA works with all vehicles not only men like in OFP. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | (If simultaneous damage occured (e.g. via grenade) EH might be triggered several times.) | ||
+ | |||
+ | Passed array: **[unit, selectionName, damage]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * selectionName: [[:String]] - Name of the selection where the unit was damaged | ||
+ | * damage: [[:Number]] - Resulting level of damage | ||
+ | |||
+ | ====== Engine ====== | ||
+ | |||
+ | Triggered when the engine of the unit is turned on/off. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | There is a bug in MP: On clients where the vehicle is not local, ''engineState'' is always false, so you should use the following instead. | ||
+ | |||
+ | <code> | ||
+ | _vehicle addEventHandler ["engine", {[_this select 0, isEngineOn (_this select 0)] exec "myScript.sqs"}]; | ||
+ | </code> | ||
+ | |||
+ | Passed array: **[unit, engineState]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * engineState: [[:Boolean]] - True when the engine is turned on, false when turned off | ||
+ | |||
+ | ====== Fired ====== | ||
+ | |||
+ | Triggered when the unit fires a weapon. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit, weapon, muzzle, mode, ammo]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * weapon: [[:String]] - Fired weapon | ||
+ | * muzzle: [[:String]] - Muzzle which was used | ||
+ | * mode: [[:String]] - Current mode of the fired weapon | ||
+ | * ammo: [[:String]] - Ammo used | ||
+ | | ||
+ | ====== Fuel ====== | ||
+ | |||
+ | Triggered when the unit's fuel status changes between completely empty / not empty (only useful when the object the event handler is assigned to is a vehicle). | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit, fuelState]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * fuelState: [[:Boolean]] - 0 when no fuel, 1 when the fuel tank is full | ||
+ | | ||
+ | ====== Gear ====== | ||
+ | |||
+ | Triggered when the unit lowers/retracts the landing gear (only useful when the object the event handler is assigned to is a member of the class "Plane"). | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit, gearState]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * gearState: [[:Boolean]] - True when the gear is lowered, false when retracted | ||
+ | | ||
+ | ====== GetIn ====== | ||
+ | |||
+ | Triggered when a unit enters the object (only useful when the object the event handler is assigned to is a vehicle). It does not trigger upon a change of positions within the same vehicle. It also is not triggered by the moveInX commands. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit, position, enterer]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * position: [[:String]] - Can be either "driver", "gunner", "commander" or "cargo" | ||
+ | * enterer: [[:Object]] - Object that got into the vehicle | ||
+ | |||
+ | ====== GetOut ====== | ||
+ | |||
+ | Triggered when a unit gets out from the object, works the same way as GetIn. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | ====== Hit ====== | ||
+ | |||
+ | Triggered when the unit is hit/damaged. | ||
+ | |||
+ | Is ''not'' always triggered when unit is killed by a hit. Most of the time only the [[arma:missions:eventhandlers#Killed|killed]] event handler is triggered when a unit dies from a hit. The hit EH will not necessarily fire if only minor damage occurred (e.g. firing a bullet at a tank), even though the damage increased. | ||
+ | |||
+ | Local. | ||
+ | |||
+ | Passed array: **[unit, causedBy, damage]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * causedBy: [[:Object]] - Object that caused the damage.Contains the unit itself in case of collisions. | ||
+ | * damage: [[:Number]] - Level of damage caused by the hit | ||
+ | |||
+ | ====== Init ====== | ||
+ | |||
+ | Triggered on mission start or when a vehicle is created on the fly using createVehicle. It is also triggered for a unit when that unit exits (disembarks) a vehicle. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | | ||
+ | ====== IncomingMissile ====== | ||
+ | |||
+ | Triggered when a guided missile or an unguided missile which most likely will hit is fired on the unit. | ||
+ | |||
+ | Global. | ||
+ | |||
+ | Passed array: **[unit, ammo, whoFired]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * ammo: [[:String]] - Ammo type that was fired on the unit | ||
+ | * whoFired: [[:Object]] - Object that fired the weapon | ||
+ | |||
+ | ====== Killed ====== | ||
+ | |||
+ | Triggered when the unit is killed. | ||
+ | |||
+ | Local. | ||
+ | |||
+ | Passed array: **[unit, killer]** | ||
+ | |||
+ | * unit: [[:Object]] - Object the event handler is assigned to | ||
+ | * killer: [[:Object]] - Object that killed the unit Contains the unit itself in case of collisions. | ||
+ | |||
+ | ====== LandedTouchDown ====== | ||
+ | |||
+ | Triggered when a plane (AI or player) touches the ground. | ||
+ | |||
+ | Probably local, needs testing. | ||
+ | |||
+ | Passed array: **[plane, airportID]** | ||
+ | |||
+ | * plane: [[:Object]] - Object the event handler is assigned to | ||
+ | * airportID: [[:Number]] - ID of the airport (-1 for anything else). | ||
+ | |||
+ | ====== LandedStopped ====== | ||
+ | |||
+ | Triggered when an AI pilot would get out usually. Not executed for player. | ||
+ | |||
+ | Probably local, needs testing. | ||
+ | |||
+ | Passed array: **[plane, airportID]** | ||
+ | |||
+ | * plane: [[:Object]] - Object the event handler is assigned to | ||
+ | * airportID: [[:Number]] - ID of the airport (-1 for anything else). |