---
name: "setDamage"
type: command
status: ok
groups: ["Object Manipulation"]
arma3_since: "0.50"
locality: {"argument": "global", "effect": "global", "server_exec": false}
source: https://community.bistudio.com/wiki/setDamage
revid: 378306
updated: 2026-04-01T22:21:06Z
---

# setDamage

*Command · Object Manipulation · Arma 3 v0.50 · introduced in Operation Flashpoint vNone*

Locality: arguments **global** · effect **global**

Alias: [setDammage](../commands/setDammage.md)

## 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

```sqf
object setDamage damage
```

**Parameters:**

- `object`: [Object](../topics/Object.md)
- `damage`: [Number](../topics/Number.md) - range 0..1, 0 = pristine/healthy condition, 1 = entirely destroyed/killed

**Returns:** [Nothing](../topics/Nothing.md)

### Syntax 2

*since arma3 1.68*

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

**Parameters:**

- `object`: [Object](../topics/Object.md)
- `damage`: [Number](../topics/Number.md) - range 0..1, 0 = pristine/healthy condition, 1 = entirely destroyed/killed
- `useEffects`: [Boolean](../topics/Boolean.md) (Optional, default [true](../commands/true.md)) - [false](../commands/false.md) to skip destruction effects
- `Server Execution killer`: [Object](../topics/Object.md) - (Optional, default [objNull](../commands/objNull.md)) the entity that caused the damage (can be anything). If the damage leads to the death of the unit, the killer will be used as the object that caused the kill.
  - it can be used to show "killed by player" in debriefing statistics and kill messages in the chat (if death messages are enabled).
  - it will alter the killer's [rating](../commands/rating.md) as if the killer directly killed the unit
  - it will be listed as `_killer` parameter in the [Killed](../topics/Event_Handlers.md#killed) event handler
  - it influences a tree/pole/wall fall direction (it will fall *away* from *killer*)
  - *killer* is ignored if [setDamage](../commands/setDamage.md) is called on a player client machine unless *object* is one of these three entity types - see [#Example 3](../commands/setDamage.md#example-3)
  - MP restricted similar to [setShotParents](../commands/setShotParents.md), will be ignored unless executed on the server or headless client in MP *(since arma3 2.12)*
- `Server Execution instigator`: [Object](../topics/Object.md) - (Optional, default [objNull](../commands/objNull.md)) the person that instigated the damage.
  - if a tank is a killer, the tank gunner that pulled the trigger is instigator
  - it will be listed as `_instigator` parameter in the [Killed](../topics/Event_Handlers.md#killed) event handler
  - MP restricted similar to [setShotParents](../commands/setShotParents.md), will be ignored unless executed on the server or headless client in MP
    - the above MP restriction does not apply to trees, poles and walls *(since arma3 2.12)*
- `allowResurrection`: [Boolean](../topics/Boolean.md) - (Optional, default [false](../commands/false.md)) - Will re-set [alive](../commands/alive.md) state of previously dead object. *(since arma3 2.22)*
- `shot`: [Object](../topics/Object.md) - (Optional, default [objNull](../commands/objNull.md)) - shot that caused the damage. *(since arma3 2.22)*

**Returns:** [Nothing](../topics/Nothing.md)

## Examples

### Example 1

```sqf
_soldier1 setDamage 1;
```

### Example 2

```sqf
_house1 setDamage [1, false];
```

### Example 3

```sqf
// 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](../commands/setVehicleArmor.md) · [damage](../commands/damage.md) · [setHit](../commands/setHit.md) · [getHit](../commands/getHit.md) · [getHitIndex](../commands/getHitIndex.md) · [setHitIndex](../commands/setHitIndex.md) · [getHitPointDamage](../commands/getHitPointDamage.md) · [setHitPointDamage](../commands/setHitPointDamage.md)

## Community notes

**Fragorl** — 2006-04-17

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

---

**KamikazeXeX** — 2015-05-29

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

---

**Sarogahtyp** — 2021-06-24

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:

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

<sub>Source: [BI Community Wiki — setDamage](https://community.bistudio.com/wiki/setDamage) (revision 378306).</sub>
