Arma 3 Scripting

Command in Object Manipulation

setDamage

Also available as Markdown and JSON, or read the original wiki page.

Description

+ Event Handler Triggered
Hit ✗
HandleDamage ✗
Killed ✓
MPKilled ✓

Sets the damage (or lack thereof) of an object/unit. The alternative syntax allows to skip destruction effects for vehicles and buildings and set a tree/pole/wall fall direction (away from killer).

Syntax

Syntax 1

object setDamage damage

Parameters:

Returns: Nothing

Syntax 2

since arma3 1.68

object setDamage [damage, useEffects, killer, instigator, allowResurrection]

Parameters:

Returns: Nothing

Examples

Example 1

_soldier1 setDamage 1;

Example 2

_house1 setDamage [1, false];

Example 3

// executed on a client
_remoteVehicle setDamage [1, true, player];    // killer (here, player) is not considered if the command is not called on the server
                                            // the vehicle still gets destroyed

_tree setDamage [1, true, player];            // the tree is destroyed and falls away from the player
_pole setDamage [1, true, player];            // these three cases are the only ones where ''killer'' is considered
_wall setDamage [1, true, player];            // when setDamage is called on a non-server machine (neither server or headless client)

See also

setVehicleArmor · damage · setHit · getHit · getHitIndex · setHitIndex · getHitPointDamage · setHitPointDamage

Community notes

Fragorl

In Operation Flashpoint, setting a unit's damage to a negative value will set it is health to full, but impair their aim.

KamikazeXeX

Using this possible overrides individual hit damages such as setHitPointDamage ["HitHead", _value]; if you're having issues try setting hitdamage after setdamage.

Sarogahtyp

You are able to repair buildings with this command if you just store the original object and use setDamage on this and not on the wreck which is shown after the building was destroyed. This works in debug console when pointing a house:

0 spawn
{
    private _house = cursorObject;
    _house setDamage 1;
    sleep 5;
    _house setDamage 0;
};