Dual-framework support — automatically detects and loads RSG-Core or VORP at runtime.
Fully custom NUI gunsmith interface with item preview panel and category filtering
LRC = {}
-- LANGUAGE: "en" = English | "ro" = Romanian
LRC.locale = "en"
-- IMAGE PATH: Where item images are loaded from.
-- RSG-Core → "nui://rsg-inventory/html/images/{name}.png"
-- VORP → "nui://vorp_inventory/html/img/items/{name}.png"
LRC.imagePath = "nui://rsg-inventory/html/images/{name}.png"
-- ── CATEGORIES ───────────────────────────────────
-- These are the filter tabs shown in the UI.
-- 'type' must match the 'category' field on each item below.
-- you can change the labels to whatever you want, just make sure to keep the same 'type' for each category.
LRC.categories = {
{ type = "weapons", label = "Weapons" },
{ type = "melee", label = "Melee" },
{ type = "other", label = "Other" },
}
-- ── SHOPS ───────────────────────────────────────
-- You can make as many shop locations as you want.
LRC.shops = {
-- ┌────────────────────────────────────────────────┐
-- │ SHOP 1 — Example: Valentine Gunsmith │
-- └────────────────────────────────────────────────┘
{
name = "Valentine",
-- blip + prompt coords
coords = vector3(-281.1378, 780.7042, 119.5271),
-- spawn coords for NPC
spawn = vector4(-281.1638, 778.8755, 119.5040, 2.2484),
-- blip: Map marker settings
blip = {
show = true,
sprite = "blip_shop_gunsmith", -- blip icon
modifier = "BLIP_MODIFIER_MP_COLOR_32", -- blip color modifier
label = "Gunsmith", -- text shown on map
},
-- npc: The shopkeeper ped model
npc = { model = "u_m_m_nbxgeneralstoreowner_01" },
-- items: The inventory of this shop. Add as many items as you want.
items = {
{
name = "weapon_revolver_cattleman",
label = "Cattleman Revolver",
category = "weapons",
price = 100, -- weapon price
isWeapon = true, --
ammo = {
name = "ammo_box_revolver", -- ammo item name (must exist in your inventory/items)
label = "Revolver Ammo",
price = 20, -- ammo price
},
},
{
name = "weapon_revolver_schofield",
label = "Schofield Revolver",
category = "weapons",
price = 150,
isWeapon = true,
ammo = {
name = "ammo_box_revolver",
label = "Revolver Ammo",
price = 20,
},
},
{
name = "weapon_repeater_carbine",
label = "Carbine Repeater",
category = "weapons",
price = 250,
isWeapon = true,
ammo = {
name = "ammo_box_repeater",
label = "Repeater Ammo",
price = 25,
},
},
{
name = "weapon_revolver_lemat",
label = "Lemat Revolver",
category = "weapons",
price = 190,
isWeapon = true,
ammo = {
name = "ammo_box_revolver",
label = "Revolver Ammo",
price = 20,
},
},
{
name = "weapon_shotgun_doublebarrel",
label = "Double Barrel Shotgun",
category = "weapons",
price = 190,
isWeapon = true,
ammo = {
name = "ammo_box_shotgun",
label = "Shotgun Ammo",
price = 25,
},
},
-- Melee
{
name = "weapon_melee_knife",
label = "Knife",
category = "melee",
price = 10,
isWeapon = true,
},
{
name = "weapon_melee_lantern",
label = "Lantern",
category = "melee",
price = 5,
isWeapon = true,
},
{
name = "weapon_melee_hatchet",
label = "Hatchet",
category = "melee",
price = 20,
isWeapon = true,
},
{
name = "weapon_melee_torch",
label = "Torch",
category = "melee",
price = 12,
isWeapon = true,
},
-- Other items (whatever you want)
{
name = "ammomolotov",
label = "Molotov Cocktail",
category = "other",
price = 10,
isWeapon = false,
},
{
name = "weapon_lasso",
label = "Lasso",
category = "other",
price = 5,
isWeapon = false,
},
{
name = "bandage",
label = "Bandage",
category = "other",
price = 1,
isWeapon = false,
},
},
},
-- ┌────────────────────────────────────────────────────────┐
-- │ SHOP 2 — Add more shops by copying the block above │
-- └────────────────────────────────────────────────────────┘
--[[
{
name = "Rhodes Gunsmith",
coords = vector3(1328.56, -1292.63, 77.02),
spawn = vector4(1330.07, -1293.73, 77.01, 65.53),
blip = {
show = true,
sprite = "blip_shop_ammo",
modifier = "BLIP_MODIFIER_MP_COLOR_32",
label = "Gunsmith",
},
npc = { model = "u_m_m_nbxgeneralstoreowner_01" },
items = {
-- add items here
},
},
]]
}