10/10/2026 · Updated 11/10/2026

Free FiveM weapon skins and a weapon damage script: a tradable skin collection, headshot kills, bleed, stun and lifesteal

Free FiveM ESX weapon skins (X3D Weapon Skins): unlock skins with items into a permanent collection, damage always equals the base weapon, turn tradable skins back into items to trade or sell. Plus a free weapon damage script (X3D Damage): per-weapon damage, headshot kills, bleed, slow, stun, knockdown and lifesteal, on ESX or standalone. How to add new skins and what to know about anticheat.

Gun-focused cities care about two things most: weapons that look unique and fights that feel fair. Most shared gun skins, though, are separate weapon files whose damage doesn't match the base gun, and GTA's default damage makes some weapons strong enough to break a city's balance.

X3D gives away two scripts designed to work together, both free.

Script What it does Runs on
X3D Weapon Skins collectible weapon skins unlocked by items, equip any time, same damage as the base weapon ESX Legacy
X3D Damage per-weapon damage, headshot kills, and bleed, slow, stun, knockdown and lifesteal effects ESX or standalone

Related scripts

X3D Weapon Skins: a collection players want to fill

Each skin is an add-on weapon tied to a base weapon, for example WEAPON_GOLDPOOLCUE as a skin of WEAPON_POOLCUE. The skin model is streamed in as a new weapon; it does not overwrite the original weapon files (it is not a replace). The original gun stays in the game, and players without the skin still see and use the normal weapon. Equipping a skin swaps the weapon in hand for that add-on weapon, carrying ammo, attachments and tint across; unequipping swaps back to the base weapon.

X3D Weapon Skins does not ship skin models. Use add-on weapon models your city already has or gets elsewhere, and tie as many as you like to their base weapons in config/skins.lua.

A skin is part of a collection, not another gun to keep track of. Using a skin item from the bag unlocks the skin into the player's permanent collection (the x3d_weaponskins table), and they can equip it on the weapon any time. Damage, weight and ammo always come from the base weapon, so a skin can never be stronger than the normal gun.

  • The collection screen shows the selected skin large, a choice strip below and per-weapon collection progress on the left. Unlocking plays a reward card with a warm glow and sparks. Open it with /skins
  • Tradable or bound forever: hold the button on a tradable skin to turn it back into an item and sell it on. Skins set to tradable = false stay in the collection forever, and a skin is never lost with the weapon
  • Held-weapon effects: give each skin its own light or particle effect (vfx)
  • Rarity 0–5 with frame colours

No dupes, no skins without an unlock

  • Every unlock, equip and convert is checked on the server with a per-player lock, so spamming the button never duplicates anything
  • A skinned gun that reaches someone who never unlocked it (given, dropped, stored) turns back into the normal weapon
  • Changing skin never strips attachments or tint

Works with X3D Inventory

X3D Inventory 1.1.0 supports skins with nothing to configure: a "Change skin" right-click entry, a "Skins" header button, a skin tag on the slot, and tooltip rows showing which weapon it is a skin of and its damage. After a skin change the weapon stays in hand and hotkeys follow. With any other inventory there are several ways in (version 1.1.0):

  • The /skins command or the Config.Key hotkey
  • An opener item, Config.OpenItem, for any inventory that supports ESX usable items (NC, ox, qs…); it is not consumed
  • A "Weapon skins" entry in the ox_lib radial menu (Config.Radial)
  • Your own menu, through exports.x3d_weaponskins:Open(), with Hooks.BeforeFocus to close your inventory before the collection opens

Adding a new skin

  1. Stream the add-on weapon model yourself (weapons.meta etc.)
  2. Add the weapon to es_extended Config.Weapons, copying the base weapon's components/tints, or a weapon with attachments can't take the skin
  3. Add the item to the items table and put a weapon_<name>.png picture where Config.ImagePath points
  4. Add a row in config/skins.lua (base, item, label, rarity, tradable, vfx) and restart. Players reconnect once to load new models

Selling skins in your city: every skin is a normal item, so give or sell it through whatever your city already uses, such as an in-city shop or redeem codes in X3D Mailbox.

X3D Damage: balance a gun-focused city

Set each weapon's damage and effects in config/weapons.lua. Weapons you don't list keep the game's damage. No ox_lib required.

Part What it does
Per-weapon damage damage per hit, headshotKill, blockInstantKill (no heavy melee)
Effects bleed (stops when healed), slow, stun, knockdown with blur, bonus damage, armour pierce, lifesteal. Every effect takes a chance and can be headshotOnly
Lifesteal the server checks range, the weapon in hand and a cooldown before healing the attacker
Helmets / armour Hooks.OnHeadshot lets your helmet script block headshots
Jump-dodge guard holding jump blocks attacking for a while
Weapon skins skinned weapons use their base weapon's row automatically through GlobalState.x3dWeaponBase, published by X3D Weapon Skins

Effect parameters (from the script's docs):

Effect Parameters
bleed perTick, ticks, intervalMs
slow mult (0–1), seconds
stun seconds, ragdollMs
knockdown pulses, headshotPulses, ejectBelowSpeed (pull out of slow vehicles)
bonus damage
pierce damage, minArmor
lifesteal heal, healChance

A note on anticheat

Every client-side damage script shares one limit: the victim's own client applies the damage. X3D Damage's docs say it plainly: pair it with an anticheat health check (god mode detection). More in basic FiveM server security, and see X3D Anti-Cheat. Lifesteal is the one effect that heals the attacker, so it is checked on the server every time.

Installing both

ensure es_extended
ensure x3d_inventory
ensure x3d_weaponskins
ensure x3d_damage
  • X3D Weapon Skins: run install.sql first (creates the x3d_weaponskins table) and start it after es_extended and your inventory. With X3D Inventory, set Hooks.CanCarry to call exports.x3d_inventory:CanCarryItemSrc and point Config.ImagePath at x3d_inventory's pictures
  • X3D Damage: drop the folder in, ensure x3d_damage, edit config/weapons.lua, and set Config.Framework to 'auto', 'esx' or 'standalone'

FAQ

Are skins add-on or replace? — Add-on. Each skin is a separate add-on weapon tied to a base weapon, the original gun is never overwritten, and no skin models ship with the script: you bring your own.

Do skins make guns stronger? — No. Damage, weight and ammo always come from the base weapon, and X3D Damage reads the base weapon's row for skinned guns automatically.

Does it work with QBCore? — X3D Damage runs standalone. X3D Weapon Skins is for ESX Legacy.

If a player loses the gun or gets robbed, is the skin gone? — No. The skin lives in the player's collection, not on that particular gun.

Do I need X3D Inventory? — No. Any inventory works (NC, ox, qs…) and the collection opens with /skins, an opener item or the ox_lib radial menu, but with X3D Inventory players change skins right from the bag.

The other free scripts are in free FiveM scripts.

Related scripts