# Changing weapon damage in FiveM

> Three ways to change weapon damage in FiveM — SetWeaponDamageModifier, per-player modifiers or weapons.meta — with headshot, melee and balance advice.

Source: https://fam-tools.com/guides/fivem-weapon-damage-modifier · FAM Tools · published 2026-09-11 · updated 2026-09-11 · about 12 min

**Short answer.** For quick, server-wide tuning, run `SetWeaponDamageModifier(weaponHash, multiplier)` in a client script (1.0 is normal, 0.5 halves damage). For permanent, per-weapon values, edit `Damage` in the weapon’s weapons.meta. Per-player modifiers such as `SetPlayerWeaponDamageModifier` scale everything a player deals. Always test with the same armour and health settings your server uses.

## Key points

- `SetWeaponDamageModifier(hash, 1.0)` is the default; lower values reduce damage.
- It is a **client-side** setting, so run it in a client script for every player.
- weapons.meta `Damage` changes the base value — the right tool for addon weapons you ship.
- Melee is tuned separately (`SetWeaponDamageModifier` on melee hashes, or player melee modifiers).

Weapon damage decides what kind of server you run. On a roleplay server a single pistol round should rarely end a scene; on a PvP server time-to-kill is the whole game. GTA V gives you three levers — a per-weapon multiplier, per-player modifiers and the weapon’s own metadata — and knowing which one to pull saves hours of tuning.

## The three levers

| Method | Scope | Good for |
| --- | --- | --- |
| `SetWeaponDamageModifier(weaponHash, x)` | One weapon type, for the client running it | Server-wide balance of vanilla weapons |
| `SetPlayerWeaponDamageModifier(playerId, x)` | Everything one player deals with guns | Buffs, debuffs, event modes |
| weapons.meta `<Damage>` | The weapon’s base damage | Addon weapons and packs you control |

## SetWeaponDamageModifier

The modifier multiplies a weapon’s damage. It applies to damage dealt by the client that set it, so the usual approach is a small client script every player runs at spawn.

*client.lua — roleplay-style balance*

```lua
local DAMAGE = {
    [`WEAPON_PISTOL`]        = 0.6,
    [`WEAPON_COMBATPISTOL`]  = 0.6,
    [`WEAPON_SMG`]           = 0.5,
    [`WEAPON_CARBINERIFLE`]  = 0.55,
    [`WEAPON_PUMPSHOTGUN`]   = 0.45,
    [`WEAPON_UNARMED`]       = 0.3,  -- fists
    [`WEAPON_KNIFE`]         = 0.6,
}

CreateThread(function()
    for weapon, mult in pairs(DAMAGE) do
        SetWeaponDamageModifier(weapon, mult)
    end
end)
```

> **Set it once, not every frame** — The modifier persists for the session. Many older scripts set it inside a `Wait(0)` loop, which costs client time for nothing. Set it on resource start (and again after the player spawns if another script might reset it).

## Per-player damage modifiers

Player-level modifiers scale all damage a player deals or takes, independent of weapon. They are useful for temporary effects — an adrenaline item, a drunk debuff, a training mode.

*client.lua*

```lua
local player = PlayerId()
SetPlayerWeaponDamageModifier(player, 0.8)   -- guns deal 80%
SetPlayerMeleeWeaponDamageModifier(player, 0.5) -- melee deals 50%
```

## Changing damage in weapons.meta

Every weapon has a `<Damage>` value in its `CWeaponInfo`. Changing it changes the weapon itself, for everyone, with no script running. This is the right method for an addon weapon you ship, and the clean method when a pack is overpowered.

*weapons.meta (excerpt)*

```xml
<Item type="CWeaponInfo">
  <Name>WEAPON_MYPISTOL</Name>
  <Damage value="26.000000" />
  <HeadShotDamageModifierPlayer value="18.000000" />
  <!-- … -->
</Item>
```

The full structure of the file — damage, range, rate of fire and headshot fields — is in [weapons.meta explained](https://fam-tools.com/guides/fivem-weapons-meta-explained); headshots specifically in [headshot damage settings](https://fam-tools.com/guides/fivem-headshot-damage-settings).

## Balancing for your server type

| Server type | Typical approach |
| --- | --- |
| Serious roleplay | Lower gun damage (0.4–0.7), low melee, headshots not always lethal; injuries matter more than deaths. |
| Casual roleplay | Close to vanilla guns, reduced melee so fist fights are not instant. |
| PvP / redzone | Consistent time-to-kill per class; often vanilla or slightly raised, strong headshots. |

Balance also depends on health, armour and recoil. Change one thing at a time and test with two players. [Weapon balance for roleplay](https://fam-tools.com/guides/fivem-weapon-balance-roleplay) and [redzone weapon setup](https://fam-tools.com/guides/fivem-redzone-pvp-weapon-setup) go further. The stock figures every weapon starts from are listed in [FAM Tools weapon stats](https://fam-tools.com/free-tools/weapon-stats), read from the game’s own weapons.meta rather than from a wiki.

## Questions

### How do I reduce weapon damage in FiveM?

Run `SetWeaponDamageModifier(weaponHash, 0.5)` (or any value below 1.0) in a client script for each weapon you want to weaken.

### Is SetWeaponDamageModifier server-side?

No, it is a client native. Run it in a client script that every player loads.

### How do I reduce punch damage?

Set a modifier on `WEAPON_UNARMED`, or use `SetPlayerMeleeWeaponDamageModifier(PlayerId(), 0.5)` for all melee.

### Should I change damage in weapons.meta or with a script?

Use weapons.meta for addon weapons you distribute and for permanent changes; use the modifier for quick, server-wide tuning of vanilla weapons.

## Related

- https://fam-tools.com/guides/fivem-weapons-meta-explained
- https://fam-tools.com/guides/fivem-headshot-damage-settings
- https://fam-tools.com/guides/fivem-weapon-balance-roleplay
- https://fam-tools.com/guides/fivem-recoil-script
- https://fam-tools.com/guides/fivem-npc-accuracy-combat-ai
