X3D Weapon Skins

Description

Collectible weapon skins, unlocked by items, worn in a click

A weapon skin system for ESX Legacy: a skin item unlocks a skin into the player's permanent collection, equip it on the weapon any time, damage always equals the base weapon.


Features

  • [+] Easy to set up: tune everything in config, or edit it from the web builder
  • [+] Each skin is an add-on weapon tied to a base weapon, damage always equals the base
  • [+] A skin item unlocks the skin into a permanent collection, equip or unequip any time
  • [+] Ammo, attachments and tint follow the weapon when you change skin
  • [+] Collection screen with progress per weapon and a reward card on unlock
  • [+] Skin rarity 0-5 shown as a frame colour
  • [+] Tradable skins turn back into items, or bind forever with tradable = false
  • [+] Optional effect while a skin is held, set per skin
  • [+] A skin held by someone who never unlocked it becomes the normal weapon
  • [+] Open with /skins, a hotkey, an item or the ox_lib radial menu
  • [+] Tie as many skins as you like to base weapons in config, using your own models
  • [+] Connect other scripts through addons/

Each skin is an add-on of its base weapon

Every skin is an add-on weapon tied to a base weapon, for example WEAPON_GOLDPOOLCUE as a skin of WEAPON_POOLCUE. The model is streamed in as a new weapon and never overwrites the original weapon files (it is not a replace), so players without the skin still see and use the normal gun.

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.

No skin models ship with the script. Use your city's own add-on weapon models and tie as many as you like to their base weapons in config/skins.lua.

A collection players want to fill

The collection screen shows the selected skin large, with a choice strip below and per-weapon collection progress on the left. Unlocking a skin plays a reward card with a warm glow and sparks.

Tradable, or bound forever

Hold the button on a tradable skin to turn it back into an item and sell it. Skins set to tradable = false stay in the collection forever. A skin is never lost with the weapon.

Server-side checks

  • Every unlock, equip and convert is checked on the server, with a per-player lock — no duplicates
  • A skin that reaches a player who never unlocked it (given, dropped, stored) turns back into the normal weapon
  • Attachments and tint are never stripped by a skin change

Works with your scripts

Plugs into X3D Inventory (right-click → change skin, skin tag on the slot) and X3D Damage (damage follows the base weapon), or open it with /skins alongside any other inventory.

Free · edit the code as you like · just don't resell it or re-upload it under your name

Version history

  • 1.1.2 — Released 13/10/2026 00:13
  • 1.1.0 — Released 10/10/2026 19:58
  • 1.0.0 — Released 10/10/2026 18:46
Same category

Related scripts

View all products
Read more

Posts that cover this script