- update sv side plants

This commit is contained in:
Mustache Dom committed 2025-07-16 01:48:56 -07:00
1 parent 2dd8729dc9
commit 94c6458037
13 files changed
+236 -407

No files matched your search

+13 -14
View File
@@ -12,7 +12,7 @@ end
function MethCooking() function MethCooking()
local animDict, animName = "anim@amb@business@meth@meth_monitoring_cooking@cooking@", "chemical_pour_short_cooker" local animDict, animName = "anim@amb@business@meth@meth_monitoring_cooking@cooking@", "chemical_pour_short_cooker"
lib.requestAnimDict(animDict, 500) ps.requestAnim(animDict, 500)
SetEntityCoords(PlayerPedId(), vector3(1005.773, -3200.402, -38.524)) SetEntityCoords(PlayerPedId(), vector3(1005.773, -3200.402, -38.524))
local targetPosition = GetEntityCoords(PlayerPedId()) local targetPosition = GetEntityCoords(PlayerPedId())
local animDuration = GetAnimDuration(animDict, animName) * 800 local animDuration = GetAnimDuration(animDict, animName) * 800
@@ -29,7 +29,7 @@ function MethCooking()
NetworkStopSynchronisedScene(netScene) NetworkStopSynchronisedScene(netScene)
DeleteObject(sacid) DeleteObject(ammonia) DeleteObject(sacid) DeleteObject(ammonia)
FreezeEntityPosition(PlayerPedId(), false) FreezeEntityPosition(PlayerPedId(), false)
lib.requestModel('hei_prop_heist_thermite', 2000) ps.requestModel('hei_prop_heist_thermite', 2000)
loadParticle('scr_ornate_heist') loadParticle('scr_ornate_heist')
local thermite = CreateObject('hei_prop_heist_thermite', vector3(1005.76, -3201.3, -39.25), true, false, false) local thermite = CreateObject('hei_prop_heist_thermite', vector3(1005.76, -3201.3, -39.25), true, false, false)
FreezeEntityPosition(thermite, true) FreezeEntityPosition(thermite, true)
@@ -44,7 +44,7 @@ end
function SmashMeth() function SmashMeth()
local ver = "" local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char02" local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char02"
lib.requestAnimDict(animDict, 500) ps.requestAnim(animDict, 500)
local ped = PlayerPedId() local ped = PlayerPedId()
local targetPosition = vector3(1012.628, -3194.619, -39.589) local targetPosition = vector3(1012.628, -3194.619, -39.589)
SetEntityCoords(ped, targetPosition) SetEntityCoords(ped, targetPosition)
@@ -79,7 +79,7 @@ end
function BagMeth() function BagMeth()
local ver = "" local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01" local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01"
lib.requestAnimDict(animDict, 500) ps.requestAnim(animDict, 500)
local animDuration = GetAnimDuration(animDict, animName) * 1000 local animDuration = GetAnimDuration(animDict, animName) * 1000
local ped = PlayerPedId() local ped = PlayerPedId()
local coords = GetEntityCoords(ped) local coords = GetEntityCoords(ped)
@@ -161,7 +161,7 @@ end
function CutCoke(coords, offset, rotation) function CutCoke(coords, offset, rotation)
local animDict, animName = "anim@amb@business@coc@coc_unpack_cut_left@", "coke_cut_v5_coccutter" local animDict, animName = "anim@amb@business@coc@coc_unpack_cut_left@", "coke_cut_v5_coccutter"
lib.requestAnimDict(animDict, 500) ps.requestAnim(animDict, 500)
local animDuration = GetAnimDuration(animDict, animName) * 1000 local animDuration = GetAnimDuration(animDict, animName) * 1000
local ped = PlayerPedId() local ped = PlayerPedId()
local scenePos, sceneRot = vector3(coords.x + offset.x, coords.y + offset.y,coords.z + offset.z), rotation local scenePos, sceneRot = vector3(coords.x + offset.x, coords.y + offset.y,coords.z + offset.z), rotation
@@ -216,7 +216,7 @@ end)
function BagCoke(coords, offset, rotation) function BagCoke(coords, offset, rotation)
local ver = "" local ver = ""
local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01" local animDict, animName = "anim@amb@business@meth@meth_smash_weight_check@", "break_weigh_"..ver.."char01"
lib.requestAnimDict(animDict, 500) ps.requestAnim(animDict, 500)
local animDuration = GetAnimDuration(animDict, animName) * 1000 local animDuration = GetAnimDuration(animDict, animName) * 1000
local ped = PlayerPedId() local ped = PlayerPedId()
local scenePos, sceneRot = vector3(coords.x + offset.x, coords.y + offset.y,coords.z + offset.z), rotation local scenePos, sceneRot = vector3(coords.x + offset.x, coords.y + offset.y,coords.z + offset.z), rotation
@@ -372,9 +372,9 @@ function SpawnCarPedChase()
Notify(Lang.lean.act,'error') Notify(Lang.lean.act,'error')
else else
started = true started = true
lib.requestModel("pounder", Config.RequestModelTime) ps.requestModel("pounder", Config.RequestModelTime)
lib.requestModel("ig_priest", Config.RequestModelTime) ps.requestModel("ig_priest", Config.RequestModelTime)
lib.requestModel("cargobob3", Config.RequestModelTime) ps.requestModel("cargobob3", Config.RequestModelTime)
local leancar = CreateVehicle("pounder", start.x+3, start.y-2, start.z-1, 52.0, true, false) local leancar = CreateVehicle("pounder", start.x+3, start.y-2, start.z-1, 52.0, true, false)
local driver = CreatePed(26, "ig_priest", start.x, start.y, start.z, 268.9422, false, false) local driver = CreatePed(26, "ig_priest", start.x, start.y, start.z, 268.9422, false, false)
local pilot2 = CreatePed(26, "ig_priest", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, false, false) local pilot2 = CreatePed(26, "ig_priest", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, false, false)
@@ -418,12 +418,12 @@ local start = config.StartLoc[math.random(1,#config.StartLoc)]
local startedmeth = false local startedmeth = false
if startedmeth then if startedmeth then
Notify(Lang.meth.act,'error') ps.notify(Lang.meth.act,'error')
else else
startedmeth = true startedmeth = true
lib.requestModel("journey", Config.RequestModelTime) ps.requestModel("journey", Config.RequestModelTime)
lib.requestModel("a_m_m_hillbilly_02", Config.RequestModelTime) ps.requestModel("a_m_m_hillbilly_02", Config.RequestModelTime)
lib.requestModel("cargobob3", Config.RequestModelTime) ps.requestModel("cargobob3", Config.RequestModelTime)
local methcar = CreateVehicle("journey", start.x+3, start.y-2, start.z-1, 52.0, true, false) local methcar = CreateVehicle("journey", start.x+3, start.y-2, start.z-1, 52.0, true, false)
local methdriver = CreatePed(26, "a_m_m_hillbilly_02", start.x, start.y, start.z, 268.9422, false, false) local methdriver = CreatePed(26, "a_m_m_hillbilly_02", start.x, start.y, start.z, 268.9422, false, false)
local methpilot = CreatePed(26, "a_m_m_hillbilly_02", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, false, false) local methpilot = CreatePed(26, "a_m_m_hillbilly_02", stoploc.x-3, stoploc.y-3, stoploc.z-1, 268.9422, false, false)
@@ -483,4 +483,3 @@ function SetUpPeds()
SetPedCombatAttributes(i, 46, true) SetPedCombatAttributes(i, 46, true)
end end
end end
+4 -3
View File
@@ -10,12 +10,12 @@ end
local function sellDrug(item, amount, price, targ) local function sellDrug(item, amount, price, targ)
-- PoliceCall(20) -- PoliceCall(20)
if ps.vehicleData() then if ps.vehicleData() then
Notify(ps.lang('Cornerselling.inveh', 'error')) ps.notify(ps.lang('Cornerselling.inveh', 'error'))
walkAway(targ) walkAway(targ)
return return
end end
if not ps.progressbar(string.format(ps.lang('Cornerselling.selling', GetLabel(item), price)), 4000, 'uncuff') then walkAway(targ) return end if not ps.progressbar(string.format(ps.lang('Cornerselling.selling', ps.getLabel(item), price)), 4000, 'uncuff') then walkAway(targ) return end
buyers[targ] = 'sold' buyers[targ] = 'sold'
TriggerServerEvent('md-drugs:server:sellCornerDrugs', item, amount, price) TriggerServerEvent('md-drugs:server:sellCornerDrugs', item, amount, price)
walkAway(targ) walkAway(targ)
@@ -46,6 +46,7 @@ local function findPed()
until targ ~= nil until targ ~= nil
buyers[targ] = true buyers[targ] = true
ps.drawText('Waiting For Customer') ps.drawText('Waiting For Customer')
repeat repeat
@@ -123,7 +124,7 @@ function Cornersell()
FreezeEntityPosition(targ, true) FreezeEntityPosition(targ, true)
ps.entityTarget(data.ped, { ps.entityTarget(data.ped, {
{ {
label = string.format(ps.lang('targets.CornerSell.sell', data.amount, GetLabel(data.item), data.price)), label = string.format(ps.lang('targets.CornerSell.sell', data.amount, ps.getLabel(data.item), data.price)),
icon ="fa-solid fa-money-bill", icon ="fa-solid fa-money-bill",
action = function() action = function()
sellDrug(data.item, data.amount, data.price, targ) sellDrug(data.item, data.amount, data.price, targ)
-146
View File
@@ -1,65 +1,7 @@
local QBCore = exports['qb-core']:GetCoreObject()
local progressbartype = Config.progressbartype
local minigametype = Config.minigametype local minigametype = Config.minigametype
local notifytype = Config.Notify
local dispatch = Config.Dispatch local dispatch = Config.Dispatch
function getJobType()
return QBCore.Functions.GetPlayerData().job.type
end
function getJobName()
return QBCore.Functions.GetPlayerData().job.name
end
function progressbar(text, time, anim)
TriggerEvent('animations:client:EmoteCommandStart', {anim})
if progressbartype == 'oxbar' then
if lib.progressBar({ duration = time, label = text, useWhileDead = false, canCancel = true, disable = { car = true, move = true},}) then
if GetResourceState('scully_emotemenu') == 'started' then
exports.scully_emotemenu:cancelEmote()
else
TriggerEvent('animations:client:EmoteCommandStart', {"c"})
end
return true
end
elseif progressbartype == 'oxcir' then
if lib.progressCircle({ duration = time, label = text, useWhileDead = false, canCancel = true, position = 'bottom', disable = { car = true,move = true},}) then
if GetResourceState('scully_emotemenu') == 'started' then
exports.scully_emotemenu:cancelEmote()
else
TriggerEvent('animations:client:EmoteCommandStart', {"c"})
end
return true
end
elseif progressbartype == 'qb' then
local test = false
local cancelled = false
QBCore.Functions.Progressbar("drink_something", text, time, false, true, { disableMovement = true, disableCarMovement = true, disableMouse = false, disableCombat = true, disableInventory = true,
}, {}, {}, {}, function()-- Done
test = true
if GetResourceState('scully_emotemenu') == 'started' then
exports.scully_emotemenu:cancelEmote()
else
TriggerEvent('animations:client:EmoteCommandStart', {"c"})
end
end, function()
cancelled = true
if GetResourceState('scully_emotemenu') == 'started' then
exports.scully_emotemenu:cancelEmote()
else
TriggerEvent('animations:client:EmoteCommandStart', {"c"})
end
end)
repeat
Wait(100)
until cancelled or test
if test then return true end
else
print"^1 SCRIPT ERROR: Md-DRUGS set your progressbar with one of the options!"
end
end
function loadParticle(dict) function loadParticle(dict)
if not HasNamedPtfxAssetLoaded(dict) then if not HasNamedPtfxAssetLoaded(dict) then
@@ -177,56 +119,6 @@ function minigame()
end end
end end
function Notify(text, type)
if notifytype =='ox' then
lib.notify({title = text, type = type})
elseif notifytype == 'qb' then
QBCore.Functions.Notify(text, type)
elseif notifytype == 'okok' then
exports['okokNotify']:Alert('', text, 4000, type, false)
else
print"^1 SCRIPT ERROR: Md-DRUGS set your notification with one of the options!"
end
end
function GetImage(img)
if GetResourceState('ox_inventory') == 'started' then
local Items = exports['ox_inventory']:Items()
if not Items[img] then print(' You Are Missing: ' .. img .. ' From Your ox items.lua') return end
local itemClient = Items[img] and Items[img]['client']
if itemClient and itemClient['image'] then
return itemClient['image']
else
return "nui://ox_inventory/web/images/" .. img .. '.png'
end
end
local invs = {
['ps-inventory'] = "nui://ps-inventory/html/images/",
['lj-inventory'] = "nui://lj-inventory/html/images/",
['qb-inventory'] = "nui://qb-inventory/html/images/",
['qs-inventory'] = "nui://qs-inventory/html/imgages/",
['origen_inventory'] = "nui://origen_inventory/html/img/",
['core_inventory'] = "nui://core_inventory/html/img/"
}
for k, v in pairs(invs) do
if not QBCore.Shared.Items[img] then print(' You Are Missing: ' .. img .. ' From Your QB items.lua') return end
if GetResourceState(k) == 'started' then
return v .. QBCore.Shared.Items[img].image
end
end
end
function GetLabel(label)
if GetResourceState('ox_inventory') == 'started' then
local Items = exports['ox_inventory']:Items()
if not Items[label] then print(' You Are Missing: ' .. label .. ' From Your ox items.lua') return end
return Items[label]['label']
else
if QBCore.Shared.Items[label] == nil then print("There Is No " .. label .. " In Your QB Items.lua") return end
return QBCore.Shared.Items[label]['label']
end
end
function GetRep() function GetRep()
local rep = ps.callback('md-drugs:server:GetRep') local rep = ps.callback('md-drugs:server:GetRep')
return rep return rep
@@ -269,43 +161,6 @@ function makeMenu(name, rep)
end end
function ItemCheck(item)
if GetResourceState('ox_inventory') == 'started' then
if exports.ox_inventory:GetItemCount(item) >= 1 then return true else Notify('You Need ' .. GetLabel(item) .. " !", 'error') return false end
else
if QBCore.Shared.Items[item] == nil then print("There Is No " .. item .. " In Your QB Items.lua") return end
if QBCore.Functions.HasItem(item) then return true else Notify('You Need ' .. QBCore.Shared.Items[item].label .. " !", 'error') return false end
end
end
function hasItem(item)
if GetResourceState('ox_inventory') == 'started' then
if exports.ox_inventory:GetItemCount(item) >= 1 then return true else return false end
else
if QBCore.Shared.Items[item] == nil then print("There Is No " .. item .. " In Your QB Items.lua") return end
if QBCore.Functions.HasItem(item) then return true else return false end
end
end
function ItemCheckMulti(item)
local need = 0
local has = 0
for k,v in pairs (item) do
need = need + 1
if GetResourceState('ox_inventory') == 'started' then
if exports.ox_inventory:GetItemCount(v) >= 1 then has = has + 1 else Notify('You Need ' .. GetLabel(v) .. " !", 'error') end
else
if QBCore.Shared.Items[v] == nil then print("There Is No " .. item .. " In Your QB Items.lua") return end
if QBCore.Functions.HasItem(v) then has = has + 1 else Notify('You Need ' .. QBCore.Shared.Items[v].label .. " !", 'error') end
end
end
if need == has then
return true
else
return false
end
end
function Email(sender, subject, message) function Email(sender, subject, message)
if Config.Phone == 'yflip' then if Config.Phone == 'yflip' then
local receiver = GetPlayerServerId(PlayerId()) local receiver = GetPlayerServerId(PlayerId())
@@ -498,7 +353,6 @@ CreateThread(function()
TriggerEvent('Mescaline:init') TriggerEvent('Mescaline:init')
ps.requestModel(GetHashKey('mushroom')) ps.requestModel(GetHashKey('mushroom'))
TriggerEvent('shrooms:init') TriggerEvent('shrooms:init')
TriggerEvent('weed:init')
end) end)
ps.registerCallback('md-drugs:client:uncuff', function(data) ps.registerCallback('md-drugs:client:uncuff', function(data)
+6 -6
View File
@@ -16,7 +16,7 @@ local function createLabKit(coord, head)
{name = 'lysergic_acid', amount = 1}, {name = 'lysergic_acid', amount = 1},
{name = 'diethylamide', amount = 1} {name = 'diethylamide', amount = 1}
}) then }) then
Notify(ps.lang('lsd.need'), 'error') ps.notify(ps.lang('lsd.need'), 'error')
return return
end end
if not minigame() then if not minigame() then
@@ -26,7 +26,7 @@ local function createLabKit(coord, head)
SetParticleFxLoopedAlpha(exitPtfx, 3.0) SetParticleFxLoopedAlpha(exitPtfx, 3.0)
return return
end end
if not progressbar(ps.lang('lsd.heat'), 7000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.heat'), 7000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:heatliquid") TriggerServerEvent("md-drugs:server:heatliquid")
end, end,
canInteract = function() canInteract = function()
@@ -64,7 +64,7 @@ local function createLabKit(coord, head)
icon = "fas fa-box-circle-check", icon = "fas fa-box-circle-check",
label = ps.lang('targets.lsd.back'), label = ps.lang('targets.lsd.back'),
action = function() action = function()
if not progressbar(ps.lang('lsd.tablepack'), 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.tablepack'), 4000, 'uncuff') then return end
DeleteObject(labkit) DeleteObject(labkit)
TriggerServerEvent('md-drugs:server:getlabkitback') TriggerServerEvent('md-drugs:server:getlabkitback')
tableout = false tableout = false
@@ -78,7 +78,7 @@ local function createLabKit(coord, head)
label = ps.lang('targets.lsd.clean'), label = ps.lang('targets.lsd.clean'),
action = function() action = function()
if not ps.hasItem('cleaningkit') then if not ps.hasItem('cleaningkit') then
Notify(ps.lang('lsd.needclean'), 'error') ps.notify(ps.lang('lsd.needclean'), 'error')
return return
end end
if not ps.progressbar(ps.lang('lsd.clean'), 4000, 'clean') then return end if not ps.progressbar(ps.lang('lsd.clean'), 4000, 'clean') then return end
@@ -168,13 +168,13 @@ end
ps.registerCallback("md-drugs:client:setlsdlabkit", function() ps.registerCallback("md-drugs:client:setlsdlabkit", function()
if tableout then if tableout then
Notify(ps.lang('lsd.tableout'), 'error') ps.notify(ps.lang('lsd.tableout'), 'error')
return false return false
else else
tableout = true tableout = true
local loc, head = StartRay() local loc, head = StartRay()
if not loc then tableout = false return end if not loc then tableout = false return end
if not progressbar(ps.lang('lsd.place'), 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.place'), 4000, 'uncuff') then return end
createLabKit(loc, head) createLabKit(loc, head)
return true, loc return true, loc
end end
+1 -2
View File
@@ -10,7 +10,7 @@ local DrugPlants = {
icon = "fa-solid fa-seedling", icon = "fa-solid fa-seedling",
label = ps.lang('targets.coke.pick'), label = ps.lang('targets.coke.pick'),
}, },
allow = Config.Drugs.coke, allow = Config.Drugs.cocaine,
}, },
{model = 'prop_plant_01b', label = 'heroin', tbl = GlobalState.PoppyPlants, plantTbl = {}, {model = 'prop_plant_01b', label = 'heroin', tbl = GlobalState.PoppyPlants, plantTbl = {},
pick = function(loc) pick = function(loc)
@@ -85,7 +85,6 @@ for k, v in pairs (DrugPlants) do
end) end)
RegisterNetEvent(v.label ..':removeCane', function(loc) RegisterNetEvent(v.label ..':removeCane', function(loc)
ps.debug(v.plantTbl)
DeleteEntity(v.plantTbl[loc]) DeleteEntity(v.plantTbl[loc])
v.plantTbl[loc] = nil v.plantTbl[loc] = nil
end) end)
+1
View File
@@ -15,6 +15,7 @@ server_scripts {
'server/functions.lua', 'server/functions.lua',
'server/locations.lua', 'server/locations.lua',
'server/recipes.lua', 'server/recipes.lua',
'server/plantSpawns.lua',
'serverRun.lua', 'serverRun.lua',
'@oxmysql/lib/MySQL.lua', '@oxmysql/lib/MySQL.lua',
} }
-44
View File
@@ -1,48 +1,4 @@
local cokeplants = {
{ location = vector3(1474.25, -2643.87, 42.88), heading = 334.49, model = "prop_plant_01a", taken = false },
{ location = vector3(1472.35, -2649.3, 41.87), heading = 329.56, model = "prop_plant_01a", taken = false },
{ location = vector3(1475.7, -2652.9, 40.8), heading = 25.16, model = "prop_plant_01a", taken = false },
{ location = vector3(1481.0, -2654.99, 39.86), heading = 21.52, model = "prop_plant_01a", taken = false },
{ location = vector3(1480.9, -2660.63, 38.68), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1477.18, -2666.53, 38.19), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1477.58, -2670.82, 37.73), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1476.56, -2675.82, 37.46), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1474.8, -2680.19, 37.03), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1471.52, -2685.0, 36.82), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1462.82, -2676.58, 38.83), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1461.31, -2667.74, 39.67), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1456.3, -2647.61, 43.39), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1453.65, -2641.56, 45.0), heading = 202.97, model = "prop_plant_01a", taken = false },
}
GlobalState.CocaPlant = cokeplants
function CaneCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
cokeplants[loc].taken = false
GlobalState.CocaPlant = cokeplants
Wait(1000)
TriggerClientEvent('coke:respawnCane', -1, loc)
Log('Coca Plant Respawned At ' .. cokeplants[loc].location, 'coke')
end)
end
RegisterNetEvent("coke:pickupCane")
AddEventHandler("coke:pickupCane", function(loc)
local src = source
if CheckDist(src, cokeplants[loc].location) then return end
if not cokeplants[loc].taken then
cokeplants[loc].taken = true
GlobalState.CocaPlant = cokeplants
TriggerClientEvent("coke:removeCane", -1, loc)
CaneCooldown(loc)
ps.addItem(src, 'coca_leaf', 1)
end
end)
RegisterServerEvent('md-drugs:server:makepowder', function(num) RegisterServerEvent('md-drugs:server:makepowder', function(num)
local src = source local src = source
if not ps.checkDistance(src, GlobalState.MDDrugsLocs.MakePowder[num].loc, 3.5) then if not ps.checkDistance(src, GlobalState.MDDrugsLocs.MakePowder[num].loc, 3.5) then
+2 -2
View File
@@ -126,6 +126,7 @@ for k, v in pairs(Drugs) do
table.insert(drugsNames, k) table.insert(drugsNames, k)
end end
GlobalState.DrugNames = drugsNames GlobalState.DrugNames = drugsNames
local robChance = 1 -- Chance To Be Robbed local robChance = 1 -- Chance To Be Robbed
local RobbedDrugs = {} local RobbedDrugs = {}
@@ -211,11 +212,10 @@ RegisterNetEvent('md-drugs:server:sellCornerDrugs', function(item, amount, price
DrugDeals[ps.getIdentifier(src)] = nil DrugDeals[ps.getIdentifier(src)] = nil
return return
end end
--AddRep(src, 'cornerselling', Drugs[item].rep * amount) AddRep(src, 'cornerselling', Drugs[item].rep * amount)
Log(string.format('%s Sold %s Of %s For A Price Of $%s !', GetName(src),amount, item, price), 'cornerselling') Log(string.format('%s Sold %s Of %s For A Price Of $%s !', GetName(src),amount, item, price), 'cornerselling')
DrugDeals[ps.getIdentifier(src)] = nil DrugDeals[ps.getIdentifier(src)] = nil
ps.addMoney(src, 'cash', price) ps.addMoney(src, 'cash', price)
end) end)
RegisterNetEvent('md-drugs:server:getBackRobbed', function() RegisterNetEvent('md-drugs:server:getBackRobbed', function()
+1 -44
View File
@@ -2,39 +2,6 @@ local heroinLabKits = {}
local prices = { local prices = {
heroinlabkitprice = 10000 heroinlabkitprice = 10000
} }
local h = {
{ location = vector3(-2251.3, -99.18, 100.11), heading = 334.49, model = "prop_plant_01b"},
{ location = vector3(-2249.63, -92.97, 101.8), heading = 329.56, model = "prop_plant_01b"},
{ location = vector3(-2245.57, -85.12, 104.5), heading = 25.16, model = "prop_plant_01b"},
{ location = vector3(-2240.81, -88.48, 105.88), heading = 21.52, model = "prop_plant_01b"},
{ location = vector3(-2240.87, -93.36, 103.88), heading = 334.49, model = "prop_plant_01b"},
{ location = vector3(-2236.0, -95.34, 102.55), heading = 329.56, model = "prop_plant_01b"},
{ location = vector3(-2240.6, -100.01, 100.49), heading = 25.16, model = "prop_plant_01b"},
{ location = vector3(-2246.29, -104.92, 99.27), heading = 21.52, model = "prop_plant_01b"},
{ location = vector3(-2243.64, -107.99, 96.71), heading = 334.49, model = "prop_plant_01b"},
{ location = vector3(-2254.22, -108.76, 97.25), heading = 329.56, model = "prop_plant_01b"},
{ location = vector3(-2247.33, -108.92, 97.70), heading = 25.16, model = "prop_plant_01b"},
{ location = vector3(-2250.96, -111.22, 97.50), heading = 21.52, model = "prop_plant_01b"},
{ location = vector3(465.95, -1021.32, 31.78), heading = 21.52, model = "prop_plant_01b"},
}
GlobalState.PoppyPlants = h
Citizen.CreateThread(function()
for _, v in pairs(h) do
v.taken = false
end
end)
function heroinCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
h[loc].taken = false
GlobalState.PoppyPlants = h
Wait(1000)
TriggerClientEvent('heroin:respawnCane', -1, loc)
Log('Heroin Plant Respawned At ' .. h[loc].location, 'heroin')
end)
end
ps.registerCallback('removeCleaningkit', function(source) ps.registerCallback('removeCleaningkit', function(source)
for k, v in pairs(heroinLabKits) do for k, v in pairs(heroinLabKits) do
@@ -46,17 +13,7 @@ ps.registerCallback('removeCleaningkit', function(source)
return false return false
end) end)
RegisterServerEvent("heroin:pickupCane", function(loc)
local src = source
if not ps.checkDistance(src, h[loc].location, 3.0) then return end
if not h[loc].taken then
h[loc].taken = true
GlobalState.PoppyPlants = h
TriggerClientEvent("heroin:removeCane", -1, loc)
heroinCooldown(loc)
ps.addItem(src, 'poppyresin', 1)
end
end)
RegisterServerEvent('md-drugs:server:dryplant', function(num) RegisterServerEvent('md-drugs:server:dryplant', function(num)
local src = source local src = source
-48
View File
@@ -1,53 +1,5 @@
local m = {
{ location = vector3(2598.73, 4207.89, 41.02), heading = 334.49, model = "prop_cactus_03"},
{ location = vector3(2601.46, 4199.34, 40.62), heading = 329.56, model = "prop_cactus_03"},
{ location = vector3(2611.63, 4194.18, 41.18), heading = 25.16, model = "prop_cactus_03"},
{ location = vector3(2620.18, 4202.69, 41.5), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2624.26, 4211.75, 42.34), heading = 334.49, model = "prop_cactus_03"},
{ location = vector3(2635.21, 4207.5, 42.49), heading = 329.56, model = "prop_cactus_03"},
{ location = vector3(2644.97, 4193.51, 42.11), heading = 25.16, model = "prop_cactus_03"},
{ location = vector3(2654.21, 4195.31, 41.23), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2653.32, 4206.49, 41.62), heading = 334.49, model = "prop_cactus_03"},
{ location = vector3(2647.45, 4213.94, 42.49), heading = 329.56, model = "prop_cactus_03"},
{ location = vector3(2636.3, 4218.49, 43.03), heading = 25.16, model = "prop_cactus_03"},
{ location = vector3(2627.37, 4223.2, 42.88), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2617.86, 4230.38, 42.63), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2609.8, 4222.12, 41.19), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2602.96, 4194.05, 41.01), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2614.39, 4188.3, 41.68), heading = 21.52, model = "prop_cactus_03"},
{ location = vector3(2623.82, 4189.97, 41.44), heading = 21.52, model = "prop_cactus_03"},
}
GlobalState.Mescaline = m
Citizen.CreateThread(function()
for _, v in pairs(m) do
v.taken = false
end
end)
function MescalineCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
m[loc].taken = false
GlobalState.Mescaline = m
TriggerClientEvent('Mescaline:respawnCane', -1, loc)
Log('Cactus Respawned At ' ..m[loc].location, 'mescaline')
end)
end
RegisterNetEvent("Mescaline:pickupCane", function(loc)
if CheckDist(source, m[loc].location) then return end
if not m[loc].taken then
m[loc].taken = true
GlobalState.Mescaline = m
TriggerClientEvent("Mescaline:removeCane", -1, loc)
MescalineCooldown(loc)
ps.addItem(source,'cactusbulb', 1)
end
end)
RegisterNetEvent("md-drugs:server:drymescaline", function() RegisterNetEvent("md-drugs:server:drymescaline", function()
local src = source local src = source
if not checkLoc(src, 'singleSpot', 'DryOut') then return end if not checkLoc(src, 'singleSpot', 'DryOut') then return end
+208
View File
@@ -0,0 +1,208 @@
local plants = {
cocaine = {
{ location = vector3(1474.25, -2643.87, 42.88), heading = 334.49, model = "prop_plant_01a", taken = false },
{ location = vector3(1472.35, -2649.3, 41.87), heading = 329.56, model = "prop_plant_01a", taken = false },
{ location = vector3(1475.7, -2652.9, 40.8), heading = 25.16, model = "prop_plant_01a", taken = false },
{ location = vector3(1481.0, -2654.99, 39.86), heading = 21.52, model = "prop_plant_01a", taken = false },
{ location = vector3(1480.9, -2660.63, 38.68), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1477.18, -2666.53, 38.19), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1477.58, -2670.82, 37.73), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1476.56, -2675.82, 37.46), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1474.8, -2680.19, 37.03), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1471.52, -2685.0, 36.82), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1462.82, -2676.58, 38.83), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1461.31, -2667.74, 39.67), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1456.3, -2647.61, 43.39), heading = 202.97, model = "prop_plant_01a", taken = false },
{ location = vector3(1453.65, -2641.56, 45.0), heading = 202.97, model = "prop_plant_01a", taken = false },
},
heroin = {
{ location = vector3(-2251.3, -99.18, 100.11), heading = 334.49, model = "prop_plant_01b", taken = false},
{ location = vector3(-2249.63, -92.97, 101.8), heading = 329.56, model = "prop_plant_01b", taken = false},
{ location = vector3(-2245.57, -85.12, 104.5), heading = 25.16, model = "prop_plant_01b", taken = false},
{ location = vector3(-2240.81, -88.48, 105.88), heading = 21.52, model = "prop_plant_01b", taken = false},
{ location = vector3(-2240.87, -93.36, 103.88), heading = 334.49, model = "prop_plant_01b", taken = false},
{ location = vector3(-2236.0, -95.34, 102.55), heading = 329.56, model = "prop_plant_01b", taken = false},
{ location = vector3(-2240.6, -100.01, 100.49), heading = 25.16, model = "prop_plant_01b", taken = false},
{ location = vector3(-2246.29, -104.92, 99.27), heading = 21.52, model = "prop_plant_01b", taken = false},
{ location = vector3(-2243.64, -107.99, 96.71), heading = 334.49, model = "prop_plant_01b", taken = false},
{ location = vector3(-2254.22, -108.76, 97.25), heading = 329.56, model = "prop_plant_01b", taken = false},
{ location = vector3(-2247.33, -108.92, 97.70), heading = 25.16, model = "prop_plant_01b", taken = false},
{ location = vector3(-2250.96, -111.22, 97.50), heading = 21.52, model = "prop_plant_01b", taken = false},
{ location = vector3(465.95, -1021.32, 31.78), heading = 21.52, model = "prop_plant_01b", taken = false},
},
mescaline = {
{ location = vector3(2598.73, 4207.89, 41.02), heading = 334.49, model = "prop_cactus_03", taken = false},
{ location = vector3(2601.46, 4199.34, 40.62), heading = 329.56, model = "prop_cactus_03", taken = false},
{ location = vector3(2611.63, 4194.18, 41.18), heading = 25.16, model = "prop_cactus_03", taken = false},
{ location = vector3(2620.18, 4202.69, 41.5), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2624.26, 4211.75, 42.34), heading = 334.49, model = "prop_cactus_03", taken = false},
{ location = vector3(2635.21, 4207.5, 42.49), heading = 329.56, model = "prop_cactus_03", taken = false},
{ location = vector3(2644.97, 4193.51, 42.11), heading = 25.16, model = "prop_cactus_03", taken = false},
{ location = vector3(2654.21, 4195.31, 41.23), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2653.32, 4206.49, 41.62), heading = 334.49, model = "prop_cactus_03", taken = false},
{ location = vector3(2647.45, 4213.94, 42.49), heading = 329.56, model = "prop_cactus_03", taken = false},
{ location = vector3(2636.3, 4218.49, 43.03), heading = 25.16, model = "prop_cactus_03", taken = false},
{ location = vector3(2627.37, 4223.2, 42.88), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2617.86, 4230.38, 42.63), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2609.8, 4222.12, 41.19), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2602.96, 4194.05, 41.01), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2614.39, 4188.3, 41.68), heading = 21.52, model = "prop_cactus_03", taken = false},
{ location = vector3(2623.82, 4189.97, 41.44), heading = 21.52, model = "prop_cactus_03", taken = false},
},
shrooms = {
{ location = vector3(2185.14, 5183.81, 57.48), heading = 334.49, model = "mushroom", taken = false},
{ location = vector3(2174.45, 5187.85, 57.43), heading = 329.56, model = "mushroom", taken = false},
{ location = vector3(2166.22, 5196.56, 58.0), heading = 25.16, model = "mushroom", taken = false},
{ location = vector3(2166.82, 5204.83, 58.63), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2174.84, 5205.82, 59.19), heading = 334.49, model = "mushroom", taken = false},
{ location = vector3(2184.46, 5201.23, 59.2), heading = 329.56, model = "mushroom", taken = false},
{ location = vector3(2192.45, 5194.89, 58.86), heading = 25.16, model = "mushroom", taken = false},
{ location = vector3(2207.53, 5187.81, 58.95), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2213.46, 5191.11, 59.81), heading = 334.49, model = "mushroom", taken = false},
{ location = vector3(2218.31, 5180.0, 58.18), heading = 329.56, model = "mushroom", taken = false},
{ location = vector3(2212.75, 5172.35, 57.2), heading = 25.16, model = "mushroom", taken = false},
{ location = vector3(2208.56, 5167.06, 56.34), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2196.9, 5158.59, 54.84), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2191.62, 5174.91, 56.68), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2190.18, 5182.54, 57.47), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2185.85, 5190.49, 58.1), heading = 21.52, model = "mushroom", taken = false},
{ location = vector3(2179.95, 5194.19, 58.26), heading = 21.52, model = "mushroom", taken = false},
},
weed = {
{ location = vector3(1064.84, -3199.84, -42.70), heading = 334.49, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1063.88, -3198.69, -42.70), heading = 329.56, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1061.68, -3196.46, -42.70), heading = 25.16, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1061.62, -3199.63, -42.70), heading = 21.52, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1062.82, -3197.70, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1064.69, -3196.31, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1062.92, -3198.78, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1049.73, -3201.92, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1052.94, -3202.21, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1051.93, -3201.17, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1050.98, -3201.13, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1050.89, -3200.07, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1050.89, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
{ location = vector3(1049.72, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b", taken = false},
}
}
local plantData = {
{
label = 'coke',
plants = plants.cocaine,
globalState = function()
GlobalState.CocaPlant = plants.cocaine
end,
itemGive = function(src)
ps.addItem(src, 'coca_leaf', 1)
end,
coolDown = function(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
plants.cocaine[loc].taken = false
GlobalState.CocaPlant = plants.cocaine
TriggerClientEvent('coke:respawnCane', -1, loc)
Log('Coca Plant Respawned At ' .. plants.cocaine[loc].location, 'coke')
end)
end,
allow = Config.Drugs.cocaine
},
{
label = 'heroin',
plants = plants.heroin,
globalState = function()
GlobalState.PoppyPlants = plants.heroin
end,
itemGive = function(src)
ps.addItem(src, 'poppyresin', 1)
end,
coolDown = function(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
plants.heroin[loc].taken = false
GlobalState.PoppyPlants = plants.heroin
TriggerClientEvent('heroin:respawnCane', -1, loc)
Log('Heroin Plant Respawned At ' .. plants.heroin[loc].location, 'heroin')
end)
end,
allow = Config.Drugs.heroin
},
{
label = 'Mescaline',
plants = plants.mescaline,
globalState = function()
GlobalState.Mescaline = plants.mescaline
end,
itemGive = function(src)
ps.addItem(src, 'cactusbulb', 1)
end,
coolDown = function(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
plants.mescaline[loc].taken = false
GlobalState.Mescaline = plants.mescaline
TriggerClientEvent('Mescaline:respawnCane', -1, loc)
Log('Mescaline Plant Respawned At ' .. plants.mescaline[loc].location, 'mescaline')
end)
end,
allow = Config.Drugs.mescaline
},
{
label = 'shrooms',
plants = plants.shrooms,
globalState = function()
GlobalState.shrooms = plants.shrooms
end,
itemGive = function(src)
ps.addItem(src, 'shrooms', 1)
end,
coolDown = function(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
plants.shrooms[loc].taken = false
GlobalState.shrooms = plants.shrooms
TriggerClientEvent('shrooms:respawnCane', -1, loc)
Log('Shroom Respawned At ' .. plants.shrooms[loc].location, 'shrooms')
end)
end,
allow = Config.Drugs.shrooms
},
{
label = 'weed',
plants = plants.weed,
globalState = function()
GlobalState.WeedPlant = plants.weed
end,
itemGive = function(src)
ps.addItem(src, 'wetcannabis', 1)
end,
coolDown = function(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
plants.weed[loc].taken = false
GlobalState.WeedPlant = plants.weed
TriggerClientEvent('weed:respawnCane', -1, loc)
Log('Weed Plant Respawned At ' .. plants.weed[loc].location, 'weed')
end)
end,
allow = Config.Drugs.weed
}
}
for k, v in pairs (plantData) do
if not v.allow then goto continue end
v.globalState()
RegisterNetEvent(v.label ..":pickupCane", function(loc)
local src = source
if ps.checkDistance(src, v.plants[loc].location, 5.0) then
if not v.plants[loc].taken then
v.plants[loc].taken = true
v.globalState()
TriggerClientEvent(v.label ..":removeCane", -1, loc)
v.coolDown(loc)
v.itemGive(src)
end
end
end)
::continue::
end
-51
View File
@@ -1,54 +1,3 @@
local QBCore = exports['qb-core']:GetCoreObject()
local s = {
{ location = vector3(2185.14, 5183.81, 57.48), heading = 334.49, model = "mushroom"},
{ location = vector3(2174.45, 5187.85, 57.43), heading = 329.56, model = "mushroom"},
{ location = vector3(2166.22, 5196.56, 58.0), heading = 25.16, model = "mushroom"},
{ location = vector3(2166.82, 5204.83, 58.63), heading = 21.52, model = "mushroom"},
{ location = vector3(2174.84, 5205.82, 59.19), heading = 334.49, model = "mushroom"},
{ location = vector3(2184.46, 5201.23, 59.2), heading = 329.56, model = "mushroom"},
{ location = vector3(2192.45, 5194.89, 58.86), heading = 25.16, model = "mushroom"},
{ location = vector3(2207.53, 5187.81, 58.95), heading = 21.52, model = "mushroom"},
{ location = vector3(2213.46, 5191.11, 59.81), heading = 334.49, model = "mushroom"},
{ location = vector3(2218.31, 5180.0, 58.18), heading = 329.56, model = "mushroom"},
{ location = vector3(2212.75, 5172.35, 57.2), heading = 25.16, model = "mushroom"},
{ location = vector3(2208.56, 5167.06, 56.34), heading = 21.52, model = "mushroom"},
{ location = vector3(2196.9, 5158.59, 54.84), heading = 21.52, model = "mushroom"},
{ location = vector3(2191.62, 5174.91, 56.68), heading = 21.52, model = "mushroom"},
{ location = vector3(2190.18, 5182.54, 57.47), heading = 21.52, model = "mushroom"},
{ location = vector3(2185.85, 5190.49, 58.1), heading = 21.52, model = "mushroom"},
{ location = vector3(2179.95, 5194.19, 58.26), heading = 21.52, model = "mushroom"},
}
GlobalState.shrooms = s
Citizen.CreateThread(function()
for _, v in pairs(s) do
v.taken = false
end
end)
function shroomsCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
s[loc].taken = false
GlobalState.shrooms = s
Wait(1000)
TriggerClientEvent('shrooms:respawnCane', -1, loc)
Log('Cactus Respawned At ' .. s[loc].location, 'shrooms')
end)
end
RegisterNetEvent("shrooms:pickupCane", function(loc)
if CheckDist(source, s[loc].location) then return end
if not s[loc].taken then
s[loc].taken = true
GlobalState.shrooms = s
TriggerClientEvent("shrooms:removeCane", -1, loc)
shroomsCooldown(loc)
ps.addItem(source, 'shrooms', 1)
Log(GetName(source) .. ' Picked A Shroom With a distance of ' .. dist(source,s[loc].location) .. ' vectors', 'shrooms')
end
end)
CUI('shrooms', function(source, item) CUI('shrooms', function(source, item)
local src = source local src = source
-47
View File
@@ -1,52 +1,5 @@
local QBCore = exports['qb-core']:GetCoreObject()
local weedPlant = {
{ location = vector3(1064.84, -3199.84, -42.70), heading = 334.49, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1063.88, -3198.69, -42.70), heading = 329.56, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1061.68, -3196.46, -42.70), heading = 25.16, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1061.62, -3199.63, -42.70), heading = 21.52, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1062.82, -3197.70, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1064.69, -3196.31, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1062.92, -3198.78, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1049.73, -3201.92, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1052.94, -3202.21, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1051.93, -3201.17, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.98, -3201.13, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.89, -3200.07, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.89, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1049.72, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
}
GlobalState.WeedPlant = weedPlant
Citizen.CreateThread(function()
for _, v in pairs(weedPlant) do
v.taken = false
end
end)
function WeedCooldown(loc)
CreateThread(function()
Wait(Config.respawnTime * 1000)
weedPlant[loc].taken = false
GlobalState.WeedPlant = weedPlant
Wait(1000)
TriggerClientEvent('weed:respawnCane', -1, loc)
Log('Weed Plant Respawned At ' .. weedPlant[loc].location, 'weed')
end)
end
RegisterNetEvent("weed:pickupCane", function(loc)
if CheckDist(source, weedPlant[loc].location) then return end
if not weedPlant[loc].taken then
weedPlant[loc].taken = true
GlobalState.WeedPlant = weedPlant
TriggerClientEvent("weed:removeCane", -1, loc)
WeedCooldown(loc)
AddItem(source, 'wetcannabis', 1)
Log(GetName(source) .. ' Picked Weed With a distance of ' .. dist(source, weedPlant[loc].location) .. ' vectors', 'weed')
end
end)
--------------- events --------------- events
RegisterServerEvent('md-drugs:server:dryoutweed', function() RegisterServerEvent('md-drugs:server:dryoutweed', function()