Changing weapon damage in FiveM
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.
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.
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)#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.
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.
<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; headshots specifically in 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 and redzone weapon setup go further. The stock figures every weapon starts from are listed in FAM 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?
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?
How do I reduce punch damage?
WEAPON_UNARMED, or use SetPlayerMeleeWeaponDamageModifier(PlayerId(), 0.5) for all melee.Should I change damage in weapons.meta or with a script?
Ready to pick a map?
Twelve themes on three base map styles, $8 each, instant download.
Relevant to what you just read