made makeMenu function, moved all stores from config to server/travellingmerchant.lua

This commit is contained in:
Mustache Dom committed 2024-10-24 19:45:39 -07:00
1 parent e9f722a140
commit dbed6b3c47
14 files changed
+188 -265

No files matched your search

+2 -44
View File
@@ -1,51 +1,9 @@
local QBCore = exports['qb-core']:GetCoreObject()
local isActive = false
RegisterNetEvent('md-drugs:client:opendealermenu', function()
local dealermenu = {}
local rep = GetRep()
print(rep.dealerrep)
if Config.StupidassNewQbItemName then
for k, v in pairs (QBConfig.ProductsStupidNameRewrite) do
if rep.dealerrep >= v.minrep then
dealermenu[#dealermenu + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = '$'..v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = QBConfig.ProductsStupidNameRewrite,
num = k,
}
}
sorter(dealermenu, 'title')
end
end
else
for k, v in pairs (QBConfig.Products) do
if rep.dealerrep >= v.minrep then
dealermenu[#dealermenu + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = '$'..v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = QBConfig.Products,
num = k,
}
}
sorter(dealermenu, 'title')
end
end
end
lib.registerContext({id = 'dealermenu',title = "Dealer Menu", options = dealermenu})
makeMenu('dealermenu', rep)
lib.showContext('dealermenu')
end)
+30
View File
@@ -218,6 +218,36 @@ function sorter(sorting, value)
table.sort(sorting, function(a, b) print(a[value], b[value]) return a[value] < b[value] end)
end
function makeMenu(name, rep)
local menu = {}
local data = lib.callback.await('md-drugs:server:menu', false, name)
for k, v in pairs (data.table) do
local allow = false
if rep == nil then
allow = true
else
if rep.dealerrep >= v.minrep then allow = true end
end
if allow then
menu[#menu + 1] = {
icon = GetImage(v.name),
description = '$'.. v.price,
title = GetLabel(v.name),
onSelect = function()
local settext = "Cost: $"..v.price
local dialog = exports.ox_lib:inputDialog(v.name .."!", {
{ type = 'select', label = "Payment Type", default = "cash", options = { { value = "cash"}, { value = "bank"},}},
{ type = 'number', label = "Amount to buy", description = settext, min = 0, max = v.amount, default = 1 },
})
if not dialog[1] then return end
TriggerServerEvent("md-drugs:server:purchaseGoods", dialog[2], dialog[1], v.name, v.price, data.table, k)
end,
}
end
end
sorter(menu, 'title')
lib.registerContext({id = data.id, title = data.title, options = menu})
end
function ItemCheck(item)
+4 -4
View File
@@ -1,9 +1,9 @@
local QBCore = exports['qb-core']:GetCoreObject()
local icon = "fas fa-sign-in-alt"
local icon = "fa solid fa-eye"
CreateThread(function()
AddBoxZoneSingle('telecokein', Config.CokeTeleIn, {action = function()tele(Config.CokeTeleOut)end, icon = icon, label = Lang.targets.coke.enter}) -- coke
AddBoxZoneSingle('telecokeout', Config.CokeTeleOut, {action = function()tele(Config.CokeTeleIn) end, icon = icon, label = Lang.targets.coke.exits}) -- coke
AddBoxZoneMulti('makepowder', Config.MakePowder, {event = "md-drugs:client:makepowder", icon = icon, label = Lang.targets.coke.chop}) -- coke
AddBoxZoneSingle('telecokein', Config.CokeTeleIn, {action = function()tele(Config.CokeTeleOut)end, icon = 'fa-solid fa-door-open', label = Lang.targets.coke.enter}) -- coke
AddBoxZoneSingle('telecokeout', Config.CokeTeleOut, {action = function()tele(Config.CokeTeleIn) end, icon = "fa-solid fa-door-closed", label = Lang.targets.coke.exit}) -- coke
AddBoxZoneMulti('makepowder', Config.MakePowder, {event = "md-drugs:client:makepowder", icon = "fa-solid fa-scissors", label = Lang.targets.coke.chop}) -- coke
AddBoxZoneMulti('steallysergic', Config.lysergicacid, {event = "md-drugs:client:getlysergic", icon = icon, label = Lang.targets.lsd.lys}) -- lsd
AddBoxZoneMulti('stealdiethylamide', Config.diethylamide, {event = "md-drugs:client:getdiethylamide", icon = icon, label = Lang.targets.lsd.die}) -- lsd
AddBoxZoneMulti('gettabs', Config.gettabs, {event = "md-drugs:client:buytabs", icon = icon, label = Lang.targets.lsd.buyt}) -- lsd
+2 -39
View File
@@ -9,44 +9,7 @@ local current = "g_m_y_famdnf_01"
Freeze(travellingmerchant, true, CurrentLocation.w)
AddSingleModel(travellingmerchant, { label = "Travelling Merchant", icon = "fas fa-eye",
action = function()
local ShopMenu = {}
for k, v in pairs (Config.Items.items) do
ShopMenu[#ShopMenu + 1] = {
icon = GetImage(v.name),
description = '$'.. v.price,
title = GetLabel(v.name),
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = Config.Items.items,
num = k
}
}
sorter(ShopMenu, 'title')
lib.registerContext({id = 'travellingmerchant',title = "Travelling Merchant", options = ShopMenu})
end
lib.showContext('travellingmerchant')
makeMenu('travellingMerchant')
lib.showContext('travellingMerchant')
end}, nil)
end)
RegisterNetEvent("md-drugs:client:travellingmerchantox", function(data)
local price = data.cost
local settext = "Amnt: "..data.amount.." | Cost: "..price or "Cost: "..price
local max = data.amount
local dialog = exports.ox_lib:inputDialog(data.item .."!", {
{ type = 'select', label = "Payment Type", default = "cash",
options = {
{ value = "cash"},
{ value = "bank"},
}
},
{ type = 'number', label = "Amount to buy", description = settext, min = 0, max = max, default = 1 },
})
if not dialog[1] then return end
if data.cost == "Free" then data.cost = 0 end
TriggerServerEvent("md-drugs:server:travellingmerchantox", dialog[2], dialog[1], data.item, data.cost, data.table, data.num )
end)
+1 -21
View File
@@ -191,32 +191,12 @@ AlienEffect()
end)
CreateThread(function()
local WeedShop = {}
local current = "u_m_m_jesus_01"
lib.requestModel(current, Config.RequestModelTime)
local CurrentLocation = Config.WeedSaleman
local WeedGuy = CreatePed(0,current,CurrentLocation.x,CurrentLocation.y,CurrentLocation.z-1, CurrentLocation.w, false, false)
Freeze(WeedGuy, true, CurrentLocation.w)
AddSingleModel(WeedGuy, {label = "Weed Shop",icon = "fas fa-eye",action = function() lib.showContext('WeedShop')end}, nil)
for k, v in pairs (Config.Weed.items) do
WeedShop[#WeedShop + 1] = {
icon = GetImage(v.name),
title = GetLabel(v.name),
description = '$'.. v.price,
event = "md-drugs:client:travellingmerchantox",
args = {
item = v.name,
cost = v.price,
amount = v.amount,
table = Config.Weed.items,
num = k,
}
}
sorter(WeedShop, 'title')
lib.registerContext({id = 'WeedShop',title = "Weed Shop", options = WeedShop})
end
AddSingleModel(WeedGuy, {label = "Weed Shop",icon = "fas fa-eye", action = function() makeMenu('WeedShop') lib.showContext('WeedShop')end}, nil)
end)
local function createBluntOptions(contextId, contextTitle, eventLabelPrefix, tableName)
+40 -44
View File
@@ -36,43 +36,41 @@ end)
RegisterServerEvent('md-drugs:server:makepowder', function(num)
local src = source
if CheckDist(src, Config.MakePowder[num]['loc']) then return end
local tier = 'tier1'
local logMessage = ' Made Raw Coke'
if Config.TierSystem then
local coke = getRep(src, 'coke')
if coke <= Config.Tier1 then
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier1') then return end
Log(GetName(src) .. ' Made Raw Coke' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
elseif coke >= Config.Tier1 and coke <= Config.Tier2 then
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier2') then return end
Log(GetName(src) .. ' Made Raw Coke tier 2' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
else
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier3') then return end
Log(GetName(src) ..' Made Raw Coke tier 3' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
if coke > Config.Tier1 and coke <= Config.Tier2 then
tier = 'tier2'
logMessage = ' Made Raw Coke tier 2'
elseif coke > Config.Tier2 then
tier = 'tier3'
logMessage = ' Made Raw Coke tier 3'
end
else
if not GetRecipe(src, 'cocaine', 'cokepowder', 'tier1') then return end
Log(GetName(src) .. ' Made Raw Coke' .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
end
if not GetRecipe(src, 'cocaine', 'cokepowder', tier) then return end
Log(GetName(src) .. logMessage .. dist(src, Config.MakePowder[num]['loc']) .. ' vectors', 'coke')
end)
RegisterServerEvent('md-drugs:server:cutcokeone', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local count = 0
if Config.TierSystem then
local coke = Player.Functions.GetItemByName('coke')
local coke2 = Player.Functions.GetItemByName('cokestagetwo')
local coke3 = Player.Functions.GetItemByName('cokestagethree')
if coke then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
Log(GetName(src) .. ' Cut Coke', 'coke')
elseif coke2 then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier2') then return end
Log(GetName(src) .. ' Cut Coke tier 2', 'coke')
elseif coke3 then
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier3') then return end
Log(GetName(src) .. ' Cut Coke tier 3', 'coke')
else
Notifys(src,Lang.Coke.nocutcoke, "error")
local cokeTiers = {
{item = 'coke', tier = 'tier1', log = ' Cut Coke'},
{item = 'cokestagetwo', tier = 'tier2', log = ' Cut Coke tier 2'},
{item = 'cokestagethree', tier = 'tier3', log = ' Cut Coke tier 3'}
}
for _, v in ipairs(cokeTiers) do
if count >= 1 then return end
if Player.Functions.GetItemByName(v.item) then
if not GetRecipe(src, 'cocaine', 'cutcoke', v.tier) then return end
Log(GetName(src) .. v.log, 'coke')
return
end
end
Notifys(src, Lang.Coke.nocutcoke, "error")
else
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
Log(GetName(src) .. ' Cut Coke', 'coke')
@@ -82,29 +80,27 @@ end)
RegisterServerEvent('md-drugs:server:bagcoke', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
local count = 0
if Config.TierSystem then
local coke = getRep(source, 'coke')
local locoke = Player.Functions.GetItemByName('loosecoke')
local locoke2 = Player.Functions.GetItemByName('loosecokestagetwo')
local locoke3 = Player.Functions.GetItemByName('loosecokestagethree')
if locoke then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
local coke = getRep(src, 'coke')
local cokeTiers = {
{item = 'loosecoke', tier = 'tier1', log = ' Bagged Coke'},
{item = 'loosecokestagetwo', tier = 'tier2', log = ' Bagged Coke tier 2'},
{item = 'loosecokestagethree', tier = 'tier3', log = ' Bagged Coke tier 3'}
}
for _, v in ipairs(cokeTiers) do
if Player.Functions.GetItemByName(v.item) then
if count >= 1 then return end
if not GetRecipe(src, 'cocaine', 'bagcoke', v.tier) then return end
AddRep(src, 'coke')
Log(GetName(src) .. ' Bagged Coke and now has a rep of ' .. coke + 1, 'coke')
elseif locoke2 then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
AddRep(src, 'coke')
Log(GetName(src) .. ' Bagged Coke tier 2 and now has a rep of ' .. coke + 1, 'coke')
elseif locoke3 then
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier3') then return end
AddRep(src, 'coke')
Log(GetName(source) .. ' Bagged Coke tier 3 and now has a rep of ' .. coke + 1, 'coke')
else
Notifys(src, Lang.Coke.nobagcoke, "error")
Log(GetName(src) .. v.log .. ' and now has a rep of ' .. coke + 1, 'coke')
return
end
end
Notifys(src, Lang.Coke.nobagcoke, "error")
else
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
Log(GetName(source) .. ' Bagged Coke', 'coke')
Log(GetName(src) .. ' Bagged Coke', 'coke')
end
end)
+9 -10
View File
@@ -1,14 +1,14 @@
local QBCore = exports['qb-core']:GetCoreObject()
for k, v in pairs (Consumables.Items) do QBCore.Functions.CreateUseableItem(k, function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if v.time == nil then v.time = Consumables.defaulttime end
if v.effect == nil then v.effect = 0 end
if v.anim == nil then v.anim = Consumables.defaultanim end
if v.progressbartext == nil then v.progressbartext = Consumables.defaultprogresstext end
if v.add == nil then v.add = {hunger = 0} end
TriggerClientEvent("md-drugs:client:consumedrugs", source, v.time, v.effect, v.anim, v.progressbartext, v.add, k)
for k, v in pairs(Consumables.Items) do
QBCore.Functions.CreateUseableItem(k, function(source, item)
if not Itemcheck(source, k, 1) then return end
local time = v.time or Consumables.defaulttime
local effect = v.effect or 0
local anim = v.anim or Consumables.defaultanim
local progressbartext = v.progressbartext or Consumables.defaultprogresstext
local add = v.add or {hunger = 0}
TriggerClientEvent("md-drugs:client:consumedrugs", source, time, effect, anim, progressbartext, add, k)
end)
end
@@ -18,7 +18,6 @@ RegisterNetEvent('md-drugs:server:removeconsum', function(item)
end)
RegisterNetEvent('md-drugs:server:updatestatus', function(stat, statval)
print(stat,statval)
local Player = QBCore.Functions.GetPlayer(source)
if stat == "thirst" then
local value = Player.PlayerData.metadata.thirst + statval
+5
View File
@@ -262,6 +262,11 @@ function AddRep(source, type)
return true
end
function sortTab(tbl, type)
table.sort(tbl, function(a, b)
return a[type] < b[type]
end)
end
function ChecknRemove(source, table)
local Player = QBCore.Functions.GetPlayer(source)
-1
View File
@@ -19,7 +19,6 @@ end)
QBCore.Functions.CreateUseableItem('leancup', function(source, item)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if Itemcheck(src, 'leancup', 1) then
TriggerClientEvent('md-drugs:client:leancraft', src)
end
+19 -33
View File
@@ -10,7 +10,6 @@ end)
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if CheckDist(src, Config.diethylamide[num]['loc']) then return end
if AddItem(src,'diethylamide', 2) then
Log(GetName(src) ..' Got Diethylamide with a distance of ' .. dist(source, Config.diethylamide[num]['loc']) .. '!', 'lsd')
@@ -59,7 +58,6 @@ end)
RegisterServerEvent('md-drugs:server:refinequalityacid', function()
local src = source
local randomchance = math.random(1,100)
if not Itemcheck(src, 'lsd_one_vial', 1) then return end
if Config.TierSystem then
local lsd = getRep(src, 'lsd')
@@ -79,6 +77,7 @@ if not Itemcheck(src, 'lsd_one_vial', 1) then return end
Log(GetName(src) ..' Refined Acid and Now Has A Rep Of ' .. lsd + 1 .. '!', 'lsd')
end
else
local randomchance = math.random(1,100)
if RemoveItem(src,'lsd_one_vial', 1) then
if randomchance <= 60 then
AddItem(src,'lsd_vial_two', 1)
@@ -127,44 +126,31 @@ RegisterServerEvent('md-drugs:server:getlabkit', function()
end
end)
RegisterServerEvent('md-drugs:server:maketabpaper', function()
local src = source
local Player = QBCore.Functions.GetPlayer(src)
if not Itemcheck(src,'tab_paper', 1) then return end
if RemoveItem(src,'lsd_one_vial', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'smileyfacesheet', 1)
Log(GetName(src) ..' Made A Smiley Face Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_two', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'wildcherrysheet', 1)
Log(GetName(src) ..' Made A Wild Cherry Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_three', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'yinyangsheet', 1)
Log(GetName(src) ..' Made A Yin Yang Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_four', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'pineapplesheet', 1)
Log(GetName(src) ..' Made A Pine Apple Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_five', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'bartsheet', 1)
Log(GetName(src) ..' Made A Cluckin Bell Sheet', 'lsd')
elseif Player.Functions.RemoveItem('lsd_vial_six', 1) then
RemoveItem(src,'tab_paper', 1)
AddItem(src,'gratefuldeadsheet', 1)
Log(GetName(src) ..' Made A Maze Sheet', 'lsd')
else
Notifys(Lang.lsd.novial, "error")
local count = 0
local vialdata = {
{vial = 'lsd_one_vial', sheet = 'smileyfacesheet', log = 'Made A Smiley Face Sheet'},
{vial = 'lsd_vial_two', sheet = 'wildcherrysheet', log = 'Made A Wild Cherry Sheet'},
{vial = 'lsd_vial_three', sheet = 'yinyangsheet', log = 'Made A Yin Yang Sheet'},
{vial = 'lsd_vial_four', sheet = 'pineapplesheet', log = 'Made A Pine Apple Sheet'},
{vial = 'lsd_vial_five', sheet = 'bartsheet', log = 'Made A Cluckin Bell Sheet'},
{vial = 'lsd_vial_six', sheet = 'gratefuldeadsheet', log = 'Made A Maze Sheet'}
}
sortTab(vialdata, 'vial')
for k, v in pairs (vialdata) do
if count >= 1 then return end
if RemoveItem(src, v.vial, 1) and RemoveItem(src, 'tab_paper', 1) then
AddItem(src, v.sheet, 1)
Log(GetName(src) ..' ' .. v.log, 'lsd')
count = count + 1
end
end
end)
local sheets = {
{item = 'smileyfacesheet', recieve = "Smiley_tabs", },
{item = 'smileyfacesheet', recieve = "smiley_tabs", },
{item = 'wildcherrysheet', recieve = "wildcherry_tabs", },
{item = 'yinyangsheet', recieve = "yinyang_tabs", },
{item = 'pineapplesheet', recieve = "pineapple_tabs", },
-2
View File
@@ -1,14 +1,12 @@
local QBCore = exports['qb-core']:GetCoreObject()
GlobalState.Mescaline = Config.Mescaline
Citizen.CreateThread(function()
for _, v in pairs(Config.Mescaline) do
v.taken = false
end
end)
function MescalineCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
+76 -7
View File
@@ -1,13 +1,82 @@
local QBCore = exports['qb-core']:GetCoreObject()
local loc = math.random(1, #Config.Travellingmerchant)
RegisterServerEvent("md-drugs:server:travellingmerchantox", function(amount, money, item, price,table,num)
local src = source local Player = QBCore.Functions.GetPlayer(src)
if not table[num]['name'] == item then return end
if Player.Functions.RemoveMoney(tostring(money), tonumber(price) * tonumber(amount)) then
AddItem(source, item, amount)
Log(GetName(source) .. ' Bought ' .. amount .. ' Of ' .. item .. ' For ' .. tonumber(price) * tonumber(amount) .. '!', 'merchant')
end
local stores = {
travel = {
{name = "tab_paper", price = 50, amount = 50, },
{name = "bakingsoda", price = 25, amount = 50, },
{name = "isosafrole", price = 25, amount = 50, },
{name = "mdp2p", price = 25, amount = 50, },
{name = "lysergic_acid", price = 25, amount = 50, },
{name = "diethylamide", price = 25, amount = 50, },
{name = "lockpick", price = 2, amount = 1000, },
{name = "emptyvial", price = 2, amount = 1000, },
{name = "needle", price = 2, amount = 1000, },
{name = "cokeburner", price = 25, amount = 50, },
{name = "crackburner", price = 2, amount = 50, },
{name = "lsdburner", price = 2, amount = 50, },
{name = "heroinburner", price = 2, amount = 50, },
{name = "mdlean", price = 50, amount = 50, },
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000, },
{name = "dabrig", price = 2, amount = 1000, },
{name = "mdwoods", price = 2, amount = 1000, },
{name = "leancup", price = 25, amount = 50, },
{name = "xtcburner", price = 25, amount = 50, },
},
Weed = {
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000,},
{name = "dabrig", price = 2, amount = 1000,},
{name = "mdwoods", price = 2, amount = 1000},
},
Products = {
{name = "weed_white-widow_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_purple-haze_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_og-kush_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
},
ProductsStupidNameRewrite = {
{name = "weed_whitewidow_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_purplehaze_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_ogkush_seed", price = 15, amount = 150, minrep = 0},
{name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
}
}
lib.callback.register('md-drugs:server:menu', function(source, data)
local src = source
if data == 'travellingMerchant' then
return {table = stores.travel, des = '$', id = 'travellingMerchant', title = 'travelling Merchant'}
elseif data == 'dealermenu' then
local table
if Config.StupidassNewQbItemName then table = stores.ProductsStupidNameRewrite else table = stores.Products end
return {table = table, id = 'dealermenu', title = "Dealer Menu"}
elseif data == 'WeedShop' then
return {table = stores.Weed, id = 'WeedShop', title = "Weed Shop"}
end
end)
RegisterServerEvent("md-drugs:server:purchaseGoods", function(amount, money, item, price,table,num)
local src = source local Player = QBCore.Functions.GetPlayer(src)
for i = 1, #table do
if table[i].name == item then
if not table[i].price == price then return end
if Player.Functions.RemoveMoney(tostring(money), tonumber(table[i].price) * tonumber(amount)) then
AddItem(src, item, amount)
Log(GetName(src) .. ' Bought ' .. amount .. ' Of ' .. item .. ' For ' .. tonumber(price) * tonumber(amount) .. '!', 'merchant')
end
end
end
end)
lib.callback.register('md-drugs:server:GetMerchant', function(source)
-42
View File
@@ -158,20 +158,6 @@ Config.WeedDry = { -- where you dry leaves
Config.Joblock = false -- if you want weed to be a job
Config.weedjob = "" -- what the job name is
Config.Weed = { --- this is the store for the weed ingridients
label = "Weed Shop",
slots = 8,
items = {
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000,},
{name = "dabrig", price = 2, amount = 1000,},
{name = "mdwoods", price = 2, amount = 1000,},
}
}
----------------- Wholesale
Config.SuccessfulChance = 90 --- this is the chance of a Success wholesale 1-100
@@ -191,35 +177,7 @@ Config.Travellingmerchant = { ------------ these are the random locations the me
vector4(-1522.93, 1476.01, 111.45, 41.25),
vector4(-3278.98, 973.38, 5.35, 101.53),
}
Config.Items = { --- this is the store for the travelling merchant
items = {
{name = "tab_paper", price = 50, amount = 50,},
{name = "bakingsoda", price = 25, amount = 50, },
{name = "isosafrole", price = 25, amount = 50, },
{name = "mdp2p", price = 25, amount = 50, },
{name = "lysergic_acid", price = 25, amount = 50, },
{name = "diethylamide", price = 25, amount = 50, },
{name = "lockpick", price = 2, amount = 1000, },
{name = "emptyvial", price = 2, amount = 1000, },
{name = "needle", price = 2, amount = 1000, },
{name = "cokeburner", price = 25, amount = 50, },
{name = "crackburner", price = 2, amount = 50, },
{name = "lsdburner", price = 2, amount = 50, },
{name = "heroinburner", price = 2, amount = 50, },
{name = "mdlean", price = 50, amount = 50, },
{name = "weedgrinder", price = 25, amount = 50, },
{name = "mdbutter", price = 25, amount = 50, },
{name = "flour", price = 25, amount = 50, },
{name = "chocolate", price = 25, amount = 50, },
{name = "butane", price = 25, amount = 50, },
{name = "butanetorch", price = 2, amount = 1000, },
{name = "dabrig", price = 2, amount = 1000, },
{name = "mdwoods", price = 2, amount = 1000, },
{name = "leancup", price = 25, amount = 50, },
{name = "xtcburner", price = 25, amount = 50, },
}
}
--------------------------------------- oxy runs
---- How oxyruns work. You pay for a truck, you get in it and it gives a route. There is a 20% chance that the car will be "hot" and you have to ditch it. No Routes will spawn if that pops up
----- when you get to the drop off point third eye the truck. You will carry a box to the ped. He will give you cash, some oxy and maybe a random item. Rinse and repeat
-18
View File
@@ -142,24 +142,6 @@ QBConfig.DrugsPrice = {
QBConfig.Dealers = {}
-- Shop QBConfig
QBConfig.Products = {
[1] = {name = "weed_white-widow_seed", price = 15, amount = 150, minrep = 0},
[2] = {name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
[3] = {name = "weed_purple-haze_seed", price = 15, amount = 150, minrep = 0},
[4] = {name = "weed_og-kush_seed", price = 15, amount = 150, minrep = 0},
[5] = {name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
}
QBConfig.ProductsStupidNameRewrite = {
[1] = {name = "weed_whitewidow_seed", price = 15, amount = 150, minrep = 0},
[2] = {name = "weed_skunk_seed", price = 15, amount = 150, minrep = 0},
[3] = {name = "weed_purplehaze_seed", price = 15, amount = 150, minrep = 0},
[4] = {name = "weed_ogkush_seed", price = 15, amount = 150, minrep = 0},
[5] = {name = "weed_amnesia_seed", price = 15, amount = 150, minrep = 0},
}
QBConfig.UseMarkedBills = false -- true for marked bills, false for cash
QBConfig.DeliveryRepGain = 1 -- amount of rep gained per delivery
QBConfig.DeliveryRepLoss = 1 -- amount of rep lost if delivery wrong or late