DODI Weapon Mod (Gunsmith Workbench)
A full **gunsmith workbench** for RedM: walk up to a bench, open the NUI, pick a weapon from your inventory, customize components on a 3D preview (barrel, grip, sight, wrap, scope, tints, etc.), preview changes live, and **pay on finalize**. Mods persist per weapon and re-apply when the player equips it again.
Works on **VORP Core** and **RSG Core** — same UI, same catalog.
---
RP Value
Turns gunsmithing into a real service loop instead of a menu hack:
- **Workbench locations** with blip, 3D weapon on the display case, cinematic cameras (lobby + modify)
- **Inventory-driven** — only weapons the player actually owns show up
- **Per-slot customization** with live preview, pin UI on the weapon model, and a price quote before saving
- **Persistent mods** saved to the weapon (serial-bound) and applied again on equip
- Optional **job lock** (`gunsmith`, grade, per-bench override)
- **Pin dev tools** to calibrate UI anchor points per weapon (`/gunsmith_pindev`, export to F8)
Features
- **NUI gunsmith** — lobby + modify modes, draggable panels, paginated weapon list
- **Component catalog** — auto-built from `data/weapon_components.lua` (RDR3 component names)
- **Live 3D preview** on bench with rotation + pin cards per category
- **Pricing** — per category / per component / per weapon (`Config.ModPrices`)
- **Job gate** — global or per-location (`Config.JobAccess`, `location.jobAccess`)
- **Slot filters** — hide pins/categories per weapon (`Config.WeaponSlotFilters`)
- **Pin calibration** — `data/pin_offsets.lua` + `Config.PinOffsetTuning` + in-game dev panel
- **Equip apply** — saved components re-applied when weapon is drawn from inventory
- **Exports** — open UI, build weapon data, merge component maps (for external gunsmith scripts)