121 lines
4.8 KiB
Lua
121 lines
4.8 KiB
Lua
local QBCore = exports['qb-core']:GetCoreObject()
|
|
|
|
GlobalState.CocaPlant = Config.CocaPlant
|
|
|
|
Citizen.CreateThread(function()
|
|
for _, v in pairs(Config.CocaPlant) do
|
|
v.taken = false
|
|
end
|
|
end)
|
|
|
|
function CaneCooldown(loc)
|
|
CreateThread(function()
|
|
Wait(Config.respawnTime * 1000)
|
|
Config.CocaPlant[loc].taken = false
|
|
GlobalState.CocaPlant = Config.CocaPlant
|
|
Wait(1000)
|
|
TriggerClientEvent('coke:respawnCane', -1, loc)
|
|
Log('Coca Plant Respawned At ' .. Config.CocaPlant[loc].location, 'coke')
|
|
end)
|
|
end
|
|
|
|
RegisterNetEvent("coke:pickupCane")
|
|
AddEventHandler("coke:pickupCane", function(loc)
|
|
local src = source
|
|
if CheckDist(src, Config.CocaPlant[loc].location) then return end
|
|
if not Config.CocaPlant[loc].taken then
|
|
Config.CocaPlant[loc].taken = true
|
|
GlobalState.CocaPlant = Config.CocaPlant
|
|
TriggerClientEvent("coke:removeCane", -1, loc)
|
|
CaneCooldown(loc)
|
|
AddItem(src, 'coca_leaf', 1)
|
|
Log(GetName(src) .. ' Picked A Coca Leaf With a distance of ' .. dist(src, Config.CocaPlant[loc].location) .. ' vectors', 'coke')
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:makepowder', function(num)
|
|
local src = source
|
|
if CheckDist(src, Config.MakePowder[num]['loc']) then return end
|
|
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')
|
|
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
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:cutcokeone', function()
|
|
local src = source
|
|
local Player = QBCore.Functions.GetPlayer(src)
|
|
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")
|
|
end
|
|
else
|
|
if not GetRecipe(src, 'cocaine', 'cutcoke', 'tier1') then return end
|
|
Log(GetName(src) .. ' Cut Coke', 'coke')
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:bagcoke', function()
|
|
local src = source
|
|
local Player = QBCore.Functions.GetPlayer(src)
|
|
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
|
|
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")
|
|
end
|
|
else
|
|
if not GetRecipe(src, 'cocaine', 'bagcoke', 'tier1') then return end
|
|
Log(GetName(source) .. ' Bagged Coke', 'coke')
|
|
end
|
|
end)
|
|
|
|
local cokecut = {loosecokestagetwo = 2, loosecokestagethree = 3}
|
|
for k, v in pairs (cokecut) do
|
|
QBCore.Functions.CreateUseableItem(k, function(source, item)
|
|
local src = source
|
|
local Player = QBCore.Functions.GetPlayer(src)
|
|
if Player.Functions.GetItemByName(item.name) then
|
|
if not Itemcheck(src, 'bakingsoda', 1) then return end
|
|
TriggerClientEvent('md-drugs:client:minusTier', src, {type = 'coke', xt = 'bakingsoda', item = k, amount = v,recieve = 'loosecoke'})
|
|
end
|
|
end)
|
|
end |