VendOverride -- Enable this if you want all the vending machines to use this script
RandomAmount -- Sets wether a stash should have a "random" amount of stock or full.
Examples and Explanations
Example of a shop
Locations = {
["digitalden"] = { -- general name of the shops
["label"] = "Digital Den", -- The label of the shop that will be seen by players
["targetIcon"] = "fab fa-galactic-republic", -- Custom qb-target icon (default: "fas fa-cash-register")
["targetLabel"] = "Open Digital Den", -- Custom qb-target label (default: "Browse Shop")
--["requiredItem"] = "phone", specify if this shop requires a certain item to be accessed (for examle: a huntinglicense)
--["scenario"] = "PROP_HUMAN_SEAT_CHAIR_FOOD", -- Support for specifiying specific scenarios
["type"] = "items", -- What kind of items are in the shop
--["job"] = "mechanic", -- Supports locking the shops to jobs's only
--["gang"] = "lostmc", -- Supports locking the shops to gang's only
["killable"] = true, -- Makes it so you can kill the ped (maybe if you can rob that store)
["model"] = { -- A list of possible PED models for the shop to spawn
`sf_prop_sf_vend_drink_01a`, -- You can specfiy props and it will load these instead of a ped model
`S_M_M_LifeInvad_01`,
`IG_Ramp_Hipster`,
`A_M_Y_Hipster_02`,
`A_F_Y_Hipster_01`,
`IG_LifeInvad_01`,
`IG_LifeInvad_02`,
`CS_LifeInvad_01`,
},
["logo"] = "https://static.wikia.nocookie.net/gtawiki/images/b/b5/DigitalDen-GTAV-Logo.png", -- customisable html link to a shop logo png
["coords"] = { -- All the locations these shops will spawn
vector4(391.76, -832.79, 29.29, 223.77), -- vector4 is a vector3 with the heading as the last nubmer
vector4(1136.99, -473.13, 66.53, 254.85),
vector4(-509.55, 278.63, 83.31, 176.65),
vector4(-656.27, -854.73, 24.5, 359.39),
vector4(-1088.29, -254.3, 37.76, 252.7),
},
["products"] = Config.Products["electronics"], -- The list of products will appear in the shop
["blipsprite"] = 619, -- The blip that will appear on the map for this shop
["blipcolour"] = 7, -- https://docs.fivem.net/docs/game-references/blips/
["hideblip"] = false, -- set to true if you want this shop to be hidden on the map (good for illegal shops)
},
}
Example of a product table
Products = {
["electronics"] = { -- The name of the table to be called by a shop
{ name = "phone", price = 850, amount = 50 }, -- spawn name of item, cost of item, amount in the shop
{ name = "radio", price = 250, amount = 50, requiredJob = { ["mechanic"] = 0 } }, -- Supports job + grade lock of specifc items
{ name = "screwdriverset", price = 350, amount = 50, requiredGang = { "lostmc" } },
{ name = "binoculars", price = 50, amount = 50, },
{ name = "fitbit", price = 400, amount = 150, },
},
}
You can easily change shops created in other scripts by swapping out the inventory event with my custom event
If you have a script that opens a shop, you can swap out the event inventory:server:OpenInventory for jim-shops:ShopOpen and it will open in my shop layout instead of the default inventory layout
All my scripts have an option to toggle this in the config
But it's very unlikely someone elses script won't
For example:
in qb-ambulancejob > client > job.lua there is the event
RegisterNetEvent('qb-ambulancejob:armory', function()
if onDuty then
TriggerServerEvent("inventory:server:OpenInventory", "shop", "hospital", Config.Items)
end
end)
Simply changing the event name from inventory:server:OpenInventory to jim-shops:ShopOpen will make it use my script instead
RegisterNetEvent('qb-ambulancejob:armory', function()
if onDuty then
TriggerServerEvent("jim-shops:ShopOpen", "shop", "hospital", Config.Items)
end
end)