Weapon customisation for RSG Framework (RedM). Players place a portable gunsmith workbench, then use it to swap parts, materials, engravings, tints and wraps on the weapon in their hands, with a live 3D preview.
- Portable gunsmith workbench (usable item) with placement preview, rotation and per-player limits
- NUI customisation menu with live 3D preview and camera controls (zoom, random angle, reset)
- Pay only for the parts you change; the server sets the price and checks it
- Remove all modifications for a configurable percentage of their value
- Components saved on the weapon item and backed up in the database, then re-applied whenever the weapon is drawn
- Scope equip/unequip commands
- Weapon inspection and cleaning with the game's inspection UI and stats (uses a repair kit)
- Optional job restriction, weapon blacklist and
rsg-loglogging - Translations through ox_lib locales:
en,de,el,es,fr,it,ja,nl,pl,pt-br,ro
- Drop
rsg-weaponcompinto your resources folder. - Import
database.sql. - Make sure the
gunsmithandweapon_repair_kititems exist inrsg-core/shared/items.lua, or changeConfig.Gunsmithitem/Config.RepairItem. - Add
ensure rsg-weaponcompto yourserver.cfgafter the dependencies. - Set your language in
server.cfg, for examplesetr ox:locale en.
| Action | How |
|---|---|
| Place a workbench | Use the gunsmith item, aim, rotate with ← / →, hold to place |
| Customise a weapon | Hold the weapon and target the workbench → Use Gunsmith |
| Pack up a workbench | In the menu → Pack Up Workbench (owner only, item is returned) |
| Inspect / clean weapon | /w_inspect (needs a repair kit) |
| Re-apply components | /loadweapon |
| Equip / remove scope | /scope / /unscope |
Everything lives in config.lua:
Config.Gunsmithitem,Config.Gunsmithprop,Config.MaxGunsites,Config.PlaceDistanceset up the workbenchConfig.RequiredJobrestricts placing workbenches to one job (nil= everyone)Config.PaymentType,Config.price,Config.RemovePriceset prices per component category and the reset cost multiplierConfig.WeaponRestrictionlists weapons that can't be customisedConfig.WebhookName/Config.WebhookTitle/Config.WebhookColourset uprsg-logloggingConfig.Shared/Config.Specificset which components each weapon group or weapon can use
The server does all money, item and component handling:
- The client never sends a price. The server checks every component against the config whitelist and charges only for what changed.
- The server checks that the weapon being modified is in the player's own inventory.
- Workbench placement checks distance, limits and overlap. The server takes the item before creating the workbench and gives it back only to the owner on pack-up.
- Events have per-player cooldowns.
- Buy me a coffee: https://buymeacoffee.com/rexshack