Actions – ArmA: Armed Assault
Introduction
Actions are events that are usually executed in-game by the player by using the action menu, or by using the action sub-menu of the command menu when executing them upon AI in the the player's group. Actions can also be performed by and upon arbitrary units using the action script command. Executing an action in this way will generally create only the basic effect of that seen when starting actions using the action menu, so it may be necessary to script additional effects to achieve the same effect as the game's default action menu, and to maintain immersion. For example, scripted use of the "deactivate" action will not check the distance between the satchel and the collecting unit, allowing it to be used to pick up a satchel that is many kilometres away. Many actions can be executed by a different unit than the target unit, although in most cases it makes more sense to use the same unit. The unit executing the action will generally bend down as if to pick something up (the action animation), with the action effects taking place when the animation completes. It is possible to use a game logic unit to execute actions without any animation or delay.
General Syntax
unit action ["actionType", parameter(s)]
unit: Object. Can be any occupied vehicle or person that is not in a vehicle. "actionType": String. Not case sensitive. parameter(s): Various data types, dependant on the action used. The number of required parameters depends on the action type.
Actions
AutoHover
Description: Toggles auto-hovering on and off. Note that while the auto-hover status can be toggled on an AI crewed or even an empty vehicle, it will only affect a vehicle controlled by a human pilot. Syntax: unit action ["autoHover", targetVehicle] Where unit is any unit (no action animation is performed) and targetVehicle is any vehicle that is capable of hovering. Example: chopperOne action ["autoHover", chopperOne]
CancelAction
Description: Cancels an action in progress. The target unit will complete it's current animation, although the action itself will not be performed. Syntax: unit action ["cancelAction", targetUnit] Where unit is any unit (no action animation is performed) and targetUnit is any unit that is in the process of performing an action. Example: soldierOne action ["CANCELACTION", soldierOne]
CancelLand
Description: Cancels autopilot landing for an aircraft, including AI controlled aircraft. Syntax: unit action ["cancelAction", targetVehicle] Where unit is any unit (no action animation is performed) and targetVehicle is any vehicle that is currently performing an autopilot landing. Example: planeOne action ["cancelLand", planeOne]
CancelTakeFlag
Description: Cancels taking of a flag. The unit will complete the taking/action animation, but the flag will remain attached to it's current object. This action needs to be executed while the flag is being taken (which happens after the unit completes the taking/action animation) to prevent a unit taking the flag. For example, if a person is taking a flag from a flagpole, then the cancelTakeFlag action should be executed while the flag is descending the flagpole. Syntax: unit action ["cancelTakeFlag", targetFlag] Where unit is any unit that is currently taking a flag (no action animation is performed) and targetFlag' is a flag object. Example: westSoldierOne action ["cancelTakeFlag", eastFlag]
Deactivate
Description: Causes a unit to deactivate and take a active satchel charge placed by any unit. This action can be performed upon a satchel object from any distance. Syntax: unit action ["deactivate", targetUnit, targetObject] Where unit is any unit (they will perform the action animation as if deactivating a satchel charge). targetUnit will have the deactivated satchel charge added to it's inventory. targetObject is the armed satchel object to be deactivated (class "pipeBomb" or "timeBomb"). Examples: soldierOne action ["deactivate", soldierOne, mySatchelCharge] soldierOne action ["deactivate", soldierOne, nearestObject [soldierOne, "pipeBomb"]]
DeactivateMine
Description: Causes a unit to deactivate any armed landmine that is within about two meters of a unit. Neither unit requires the ability to disable landmines. Syntax: unit action ["deactivateMine", targetUnit] Where unit is any unit, who will perform the action animation. The closest landmine to targetUnit will be deactivated. Example: soldierOne action ["deactivateMine", soldierOne]
Diary
Description: Use and effects unknown. Syntax: unit action ["diary", <target>] Example:
DropMagazine
Description: Causes a person to drop a magazine either into another unit (both persons and vehicles), or onto the ground (creating a new WeaponHolder object). Magazines can be dropped into other units at any distance. Syntax: unit action ["dropMagazine", targetUnit, "magazineName"] Where unit is the person to drop a magazine (the action animation will be performed), targetUnit is either another unit into which the magazine will be dropped, or the same unit that is dropping the magazine. "magazineName" is the classname (string) of the magazine to be dropped (see the ArmA weapons list for magazine classnames). Examples: soldierOne action ["dropMagazine", soldierOne, "30Rnd_545x39_AK"] soldierOne action ["dropMagazine", ammoCrateOne, "30Rnd_545x39_AK"]
DropWeapon
Description: Causes a person to drop a weapon and all associated magazines either into another unit (including persons and vehicles), or onto the ground (creating a new WeaponHolder object). Weapons can be dropped into other units at any distance. Syntax: unit action ["dropWeapon", targetUnit, "weaponName"] Where unit is the person to drop a weapon (the action animation will be performed), targetUnit is either another unit into which the weapon will be dropped, or the same unit that is dropping the weapon to place it onto the ground. "weaponName" is the classname (string) of the weapon to be dropped (see the ArmA weapons list for classnames). Examples: soldierOne action ["dropWeapon", soldierOne, "AK74GL"] soldierOne action ["dropWeapon", ammoCrateOne, "RPG7V"]
Eject
Description: Causes a person to eject out of the vehicle they are currently inside. If the unit was the driver of the vehicle, the vehicle will retain it's steering control input and it's engine will remain on. This action has a global effect when used on a local unit in multiplayer. If the vehicle parameter used is an moving aircraft, the ejecting person will use a parachute (and likewise if it is not an moving aircraft, no parachute will be used). Syntax: unit action ["eject", vehicle] Where unit is the person to eject from their current vehicle, and vehicle is any vehicle (generally the vehicle unit is within). Example: soldierOne action ["EJECT", vehicle soldierOne]
EngineOn
Description: Turns a vehicle's engine on. This command will not override an AI driver's desires. Syntax: unit action ["engineOn", targetVehicle] Where unit is any unit, and targetVehicle is the vehicle to start it's engine. Example: soldierOne action ["engineOn", vehicle soldierOne]
EngineOff
Description: Turns a vehicle's engine off. This command will not override an AI driver's desires. Syntax: unit action ["engineOff", targetVehicle] Where unit is any unit, and targetVehicle is the vehicle to have it's engine turned off. Example: soldierOne action ["engineOff", vehicle soldierOne]
FireInFlame
Description: Ignites a fireplace object (from any distance). Syntax: unit action ["fireInFlame", targetObject] Where unit is any unit(the action animation will be performed), and targetObject is the fireplace to be ignited. Example: soldierOne action ["fireInFlame", firePlaceOne]
FirePutDown
Description: Extinguishes a fireplace object (from any distance). Syntax: unit action ["firePutDown", targetObject] Where unit is any unit (the action animation will be performed), and targetObject is the fireplace to be extinguished. Example: soldierOne action ["firePutDown", firePlaceOne]
FlapsUp
Description: Adjusts an aircraft's flaps upwards one notch. AI pilot's will instantly adjust their flaps to whatever setting they feel is suitable. Syntax: unit action ["flapsUp", targetVehicle] Where unit is any unit (the action animation will not be performed), and targetVehicle is the aircraft to have it's flaps adjusted. Example: harrierOne action ["flapsUp", harrierOne]
FlapsDown
Description: Adjusts an aircraft's flaps down one notch. AI pilot's will instantly adjust their flaps to whatever setting they feel is suitable. Syntax: unit action ["flapsDown", targetVehicle] Where unit is any unit (the action animation will not be performed), and targetVehicle is the aircraft to have it's flaps adjusted. Example: harrierOne action ["flapsDown", harrierOne]
GetInCargo
Description: Instantly moves a person to the appropriate boarding position of a vehicle, then they attempt to board the vehicle as cargo, in a specific cargo position if given as an optional parameter, otherwise in the first available cargo position. If the specific position is already occupied, the person will board in the first available cargo position. If the all cargo positions are already occupied by living persons, or no cargo position exists, the boarding will fail. Syntax: unit action ["getInCargo", targetVehicle] unit action ["getInCargo", targetVehicle, positionNumber] Where unit is the person to board, and targetVehicle is the vehicle to be boarded. positionNumber is a specific cargo position index number. Examples: soldierOne action ["getInCargo", truckOne] soldierOne action ["getInCargo", truckOne, 0]
GetInCommander
Description: Instantly moves a person (who is not already in a vehicle) to the appropriate boarding position of a vehicle, they then attempt to board the vehicle as the commander. The boarding will fail if the position is already occupied or does not exist. Syntax: unit action ["getInCommmander", targetVehicle] Where unit is the person to board, and targetVehicle is the vehicle to be boarded. Example: soldierOne action ["getInCommmander", tankOne]
GetInDriver
Description: Instantly moves an person (who is not already in a vehicle) to the appropriate boarding position of a vehicle, then they attempt to board the vehicle as the driver/pilot. The boarding will fail if the position is already occupied or does not exist. Syntax: unit action ["getInDriver", targetVehicle] Where unit is the person to board, and targetVehicle is the vehicle to be boarded. Example: soldierOne action ["getInDriver", carOne]
GetInGunner
Description: Instantly moves a person (who is not already in a vehicle) to the appropriate boarding position of a vehicle, then they attempt to board the vehicle as the primary gunner. If the gunner position is already occupied by another living person or it does not exist, the boarding will fail. Also see getInTurret. Syntax: unit action ["getInGunner", targetVehicle] Where unit is the person to board, and targetVehicle is the vehicle to be boarded. Example: soldierOne action ["getInGunner", mySpotlight]
GetInPilot
Description: This action is identical to getInDriver. It instantly moves an person (who is not already in a vehicle) to the appropriate boarding position of a vehicle, then they attempt to board the vehicle as the driver/pilot. The boarding will fail if the position is already occupied or does not exist. Syntax: unit action ["getInPilot", targetVehicle] Where unit is the person to board, and targetVehicle is the vehicle to be boarded. Example: pilotOne action ["getInPilot", chopperOne]
GetInTurret
Description: Instantly moves a person (who is not already in a vehicle) to the appropriate boarding position of a vehicle, then they attempt to board the vehicle as the specified turret user. If the turret position is already occupied by another living person the boarding will fail. If the turret position does not exist, ArmA may crash. See also getInGunner. Syntax: unit action ["getInTurret", targetVehicle, turretArray] Where unit is the person to board, and targetVehicle is the vehicle to be boarded, and turretArray is an array defining the turret. For example, [1] would be a vehicle's second turret, and [0, 2, 1] is the second turret of the third turret of the first turret. A vehicle's turret order is defined in it's class CfgVehicles of the Config. Examples: gunnerTwo action ["getInTurret", myUH60MG, [1]] tankCommanderOne action ["getInTurret", myT72, [0,1]]
GetOut
Description: Causes a person to disembark from a vehicle, without a parachute in the case of aircraft. See also eject. Syntax: unit action ["getOut", targetVehicle] Where unit is the person to disembark, and targetVehicle is the vehicle to disembark from. Example: soldierOne action ["getOut", carOne]
HandGunOn
Description: Causes a person to ready their hand gun (if equiped). This action may not work if the unit does not have a primary rifle. Syntax: unit action ["handGunOn", targetUnit] Where unit is any unit (who will not play the action animation), and targetUnit is the unit who will ready their pistol. Example: soldierOne action ["handGunOn", soldierOne]
HandGunOff
Description: Causes a person to return a readied pistol to it's holster, then switch to the primary rifle. This action may not work if the unit does not have a primary rifle. Syntax: unit action ["handGunOff", targetUnit] Where unit is any unit (who will not play the action animation), and targetUnit is the person to holster it's pistol. Example: soldierOne action ["handGunOff", soldierOne]
Heal
Description: Instantly teleports a person unit to the target medic. The target medic then heals the unit. If the target unit is not a medic, the animations will still be played, but no healing occurs. If the medic is within a vehicle, no teleporting will occur and the wounded unit will only be healed if they are already within healing range (a few meters). Syntax: unit action ["heal", targetUnit] Where unit is a wounded person, and targetUnit is the medic to do the healing. Example: soldierOne action ["heal", medicOne]
HideBody
Description: Causes a person to bend down and hide (bury) a body in the ground. The body is automatically deleted within a few seconds. The person performing the action does not require the ability to hide bodies, and may be any distance from the body. Syntax: unit action ["hideBody", targetObject] Where unit is a person, and targetUnit is a dead person. Example: soldierOne action ["hideBody", soldierTwo]
INGAMEMENU
["INGAMEMENU", <target>]
LADDERDOWN / LADDERUP
unitname action ["LADDERDOWN", building1] unitname action ["LADDERDOWN", object ID] unitname action ["LADDERUP", building1] unitname action ["LADDERUP", object ID]
unitName action ["LADDERDOWN", <target object>, <ladder index>, <position>]
unitName action ["LADDERUP", <target object>, <ladder index>, <position>]
Soldier 'unitName' will play the climbing onto ladder animation, then appear at the specified ladder location. If he is controlled by the AI, he will then either climb up or down the ladder and get off.
Example:
unit1 action ["ladderOnUp", (position player nearestObject 452221), 0, 0]
LADDEROFF
unitName action ["LADDEROFF", <target object>]
Soldier 'unitName' will get off any ladder on <target object> he happens to be on.
Example:
unit1 action ["LADDEROFF", (position player nearestObject 452221)]
LADDERONUP / LADDERONDOWN
unitName action ["LADDERONUP", <target object>, <ladder index>, <ladder position>] unitName action ["LADDERONDOWN", <target object>, <ladder index>, <ladder position>]
UnitName will play the appropriate getting on ladder animation and appear upon the ladder at the position given. If he is AI controlled, he will climb to the other end of the ladder and get off.
LAND
unit action ["LAND", <target>] Turns on the landing autopilot.
LANDGEAR
unitName action ["LANDGEAR", planeName]
Toggle landing gear on 'planename'.
Only works if player is pilot.
Example:
PlaneOne action ["LANDGEAR", PlaneOne]
LIGHTOFF / LIGHTON
vehiclename action ["LIGHTON", vehiclename]
vehiclename action ["LIGHTOFF", vehiclename]
Turns lights of 'vehiclename' either on or off.
The lights will only stay on if the driver is in SAFE or CARELESS mode.
The lights will not stay off if the driver is in SAFE or CARELESS mode.
Example:
driver CarOne setBehaviour "safe";
CarOne action ["LIGHTON", CarOne];
LOADMAGAZINE
["LOADMAGAZINE", <target>, <magazine creator>, <number>, <number> ,<weapon name>, <muzzle name>]
This makes the target bend down, like he's using an ammo crate. I don't notice anything else happening. I don't know what the number values in the middle do.
Example:
player action["LOADMAGAZINE", player, player, 0, 0, primaryWeapon player, primaryWeapon player]
MANUALFIRE
unitName action ["MANUALFIRE",<vehicle>]
Toggles manual fire mode if player is driver or commander of vehicle.
Example:
player action ["MANUALFIRE", vehicle player]
MARKENTITY
["MarkEntity", <target>]
MOVETOCARGO / MOVETOCOMMANDER / MOVETODRIVER / MOVETOGUNNER / MOVETOPILOT
unitname action ["MOVETOCARGO", vehiclename]
unitname action ["MOVETOCOMMANDER", vehiclename]
unitname action ["MOVETODRIVER", vehiclename]
unitname action ["MOVETOGUNNER", vehiclename]
unitname action ["MOVETOPILOT", vehiclename]
Moves 'unitname' into cargo, commander, driver or gunner position.
If that position was occupied before, the units will swap places.
Example:
SoldierOne action ["MOVETODRIVER", CarOne]
NONE
["NONE", <target>]
NVGOGGLES / NVGOGGLESOFF
unitName action ["NVGOGGLES", unitName2]
unitName action ["NVGOGGLESOFF", unitName2]
unitName puts his night vision goggles on/off. UnitName2 is apparently not used, but action requires a two element array.
Example:
player action ["NVGOGGLES",ANYTHING]
REARM / REFUEL / REPAIR
vehiclename action ["REARM", vehiclename2] vehiclename action ["REFUEL", vehiclename2] vehiclename action ["REPAIR", vehiclename2]
Vehiclename will receive weapons/fuel/repair from 'vehicle2' immediately and via teleportation.
Example:
SoldierOne action ["REARM", TruckOne]
RETURNFLAG
unitname action ["RETURNFLAG", flagname]
Soldier 'unitname' returns 'flagname' to base.
Example:
SoldierOne action ["RETURNFLAG", FlagOne]
SALUTE
unitOne action ["SALUTE", unitTwo]
UnitOne does nothing. UnitTwo salutes. If unitTwo is in safe or careless mode, salute will be held, otherwise it is only momentary.
Example:
SoldierOne action ["SALUTE", SoldierOne]
SCUD LAUNCH / SCUD START / SCUD CANCEL
scudname action ["SCUD LAUNCH"]
scudname action ["SCUD START"]
scudname action ["SCUD CANCEL"]
Scudname launches or fires its missile.
The launch process takes about 10.5 seconds. There is no Scud in ArmA.
Example:
ScudOne action ["SCUD START"]
SETTIMER
unitOne action ["SETTIMER", unitTwo, <bombName>]
Soldier 'unitOne' plays the action animation. UnitTwo activates and adds thirty seconds to the timer for a satchel charge. Neither unit needs to be near the satchel. Charge has to be places first using unitname Fire ["pipebombmuzzle", "pipebombmuzzle", "pipebomb"] command.
SITDOWN
unitOne action ["SITDOWN", unitTwo]
Soldier 'unitTwo' sits down.
Sitting position will only be held if unitTwo is in SAFE and CARELESS mode.
Example:
SoldierOne action ["SITDOWN", SoldierOne]
STROKEFIST
unitname action ["STROKEFIST"]
Soldier 'unitname' performs a boxing animation. Apparently not working in ArmA.
Example:
SoldierOne action ["STROKEFIST"]
STROKEGUN
unitname action ["STROKEGUN"]
Soldier 'unitname' performs a hitting animation with his weapon. Apparently not working in ArmA.
Example:
SoldierOne action ["STROKEGUN"]
SWITCHWEAPON
unitOne action ["SWITCHWEAPON", <target unit>, <target unit>, <muzzle index>]
UnitOne plays the action animation. Target unit switches to the given muzzle index. Second element might be target vehicle, as seen with "USEWEAPON".
Example:
unit2 action ["SWITCHWEAPON",unit1,unit1,7]
TAKEFLAG
unitname action ["TAKEFLAG", flag1]
Soldier 'unitname' takes control of 'flag1'. He must be close to the flagpole and it must belong to an enemy side.
Example:
SoldierOne action ["TAKEFLAG", FlagOne]
TAKEMAGAZINE / TAKEWEAPON
unitname action ["TAKEMAGAZINE", (vehiclename or unitname), "MAGAZINENAME"]
unitname action ["TAKEWEAPON", (vehiclename or unitname), "WEAPONNAME"]
Soldier 'unitname' takes one magazine/weapon of specified type (see list) from the ground (Weaponholder) or from named vehicle (ammo box, car, etc.).
Transfer happens immediately and via teleportation. Unit1 plays pickup animation at its current position, no matter where 'weapon or magazine' is.
Example:
SoldierOne action ["TAKEMAGAZINE", SoldierTwo, "RPGLAUNCHER"]
TAKEMINE
unitName action ["TAKEMINE", <target unit>]
UnitName will perform the action animation. The closest mine that is within two meters of the target unit will be placed into the target unit's inventory.
Example:
unit1 action ["takeMine",unit2]
TALK
["TALK", <target>]
TOUCHOFF
unitOne action ["TOUCHOFF", unitTwo]
Soldier 'unitOne' plays the action animation. UnitTwo's satchels are "touched off". UnitTwo must be within range (300m) of his satchels to touch them off.
Example:
unitname action ["TOUCHOFF", unitname]
TURNIN / TURNOUT
unitName action ["TURNIN", vehicleName]
unitName action ["TURNOUT", vehicleName]
Crew of 'vehiclename' turns in/out (gets in and out of hatches). UnitName must be a player in effective commander of vehicleName. AI will automatically turn in/out based on their current behaviour mode.
Examples:
TankOne action ["TURNIN", TankOne]
player action ["TURNOUT,vehicle player]
USEMAGAZINE
["USEMAGAZINE", <target>, <magazine creator>, <number>, <number>]
This makes the target bend down, like he's using an ammo crate. I don't notice anything else happening. I don't know what the number values at the end do.
Example:
player action["USEMAGAZINE", player, player, 0, 0]
USER
unitName ["USER", <target unit>, <action index>]
Soldier 'unitName' does nothing. Executes the custom action with the given index of the the target unit. Indexes are based upon the order in which the actions are added to the unit. See addAction.
Example:
gameLogic action ["USER", player, 3]
USERTYPE
["USERTYPE", <target>, <action index>]
As of ArmA version 1.08, using this action type will cause ArmA to crash to desktop.
USEWEAPON
unitOne ["USEWEAPON", <target vehicle>, <target unit>, <weapon index>]
Soldier 'unitOne' will play the action animation. Target unit will fire the specified unit's position in the target vehicle's (can be the unit itself) weapon mode index. The indexes seem to be based upon the order in which weapons are added to the unit/vehicle, with each weapon's muzzle's fire mode having an unique index. Weapons can be fired in this way from a not-readied position (eg, firing a rifle on a soldiers back). Pistols will fire from the current weapon's proxy. It can also be used to sound the horn on AI controlled vehicles.
Examples:
gameLogic action ["useWeapon",unit1,unit1,16]
gameLogic action ["useWeapon",vehicle unit1,unit1,0]
gameLogic action ["useWeapon",myTank,gunner myTank,1]
gameLogic action ["useWeapon",myTank,commander myTank,0]
WEAPONINHAND / WEAPONONBACK
unitName action ["WEAPONINHAND",<target unit>]
unitName action ["WEAPONONBACK",<target unit>]
Soldier 'unitName' does nothing, 'target unit' moves his weapon from/to the safety position (gun held across chest pointing at the ground). Change is persistent with player, but AI units will change back to suit their current behaviour mode. AI generally keep their rifles safe unless moving or targeting.
Example:
SoldierOne action ["WEAPONONBACK", SoldierTwo]