- hush hush

This commit is contained in:
Mustache Dom committed 2025-07-15 02:21:34 -07:00
1 parent 4fdef3cf30
commit a86a342f4d
17 files changed
+246 -426

No files matched your search

+1 -57
View File
@@ -1,63 +1,7 @@
local CocaPlant = {}
local cuttingcoke = nil local cuttingcoke = nil
local baggingcoke = nil local baggingcoke = nil
local function pick(loc)
if not progressbar(Lang.Coke.picking, 4000, 'uncuff') then return end
TriggerServerEvent("coke:pickupCane", loc)
return true
end
local function targetOps(loc)
return {
{
icon = "fa-solid fa-seedling",
label = ps.lang('targets.coke.pick'),
action = function()
if not pick(loc) then return end
end
}
}
end
RegisterNetEvent('coke:respawnCane', function(loc)
local v = GlobalState.CocaPlant[loc]
local hash = GetHashKey(v.model)
if not CocaPlant[loc] then
CocaPlant[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(CocaPlant[loc], true, v.heading)
ps.entityTarget(CocaPlant[loc], targetOps(loc))
end
end)
RegisterNetEvent('coke:removeCane', function(loc)
if DoesEntityExist(CocaPlant[loc]) then DeleteEntity(CocaPlant[loc]) end
CocaPlant[loc] = nil
end)
RegisterNetEvent("coke:init", function()
for k, v in pairs (GlobalState.CocaPlant) do
local hash = GetHashKey(v.model)
ps.requestModel(hash)
if not v.taken then
CocaPlant[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(CocaPlant[k], true, v.heading)
ps.entityTarget(CocaPlant[k], targetOps(k))
end
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01a'))
for k, v in pairs(CocaPlant) do
if DoesEntityExist(v) then
DeleteEntity(v) SetEntityAsNoLongerNeeded(v)
end
end
end
end)
for k, v in pairs (GlobalState.MDDrugsLocs.MakePowder) do for k, v in pairs (GlobalState.MDDrugsLocs.MakePowder) do
ps.boxTarget('cocaplant'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('cocaplant'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
+1
View File
@@ -496,6 +496,7 @@ CreateThread(function()
TriggerEvent('heroin:init') TriggerEvent('heroin:init')
TriggerEvent('coke:init') TriggerEvent('coke:init')
TriggerEvent('Mescaline:init') TriggerEvent('Mescaline:init')
ps.requestModel(GetHashKey('mushroom'))
TriggerEvent('shrooms:init') TriggerEvent('shrooms:init')
TriggerEvent('weed:init') TriggerEvent('weed:init')
end) end)
+2 -57
View File
@@ -1,22 +1,7 @@
local PoppyPlants = {}
local herointable = false local herointable = false
local dirty = false local dirty = false
local function pickher(loc)
if not ps.progressbar(Lang.Heroin.pick, 4000, 'uncuff') then return end
TriggerServerEvent("heroin:pickupCane", loc)
end
local function pickOps(loc)
return {
{
icon = "fa-solid fa-seedling",
label = ps.lang('Heroin.pick'),
action = function() pickher(loc) end
}
}
end
local function createLabKit(coord, head) local function createLabKit(coord, head)
local heroinlabkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false,false) local heroinlabkit = CreateObject("v_ret_ml_tablea", coord.x, coord.y, coord.z - 1, true, false,false)
SetEntityHeading(heroinlabkit, head) SetEntityHeading(heroinlabkit, head)
@@ -31,6 +16,7 @@ local function createLabKit(coord, head)
dirty = true dirty = true
TriggerServerEvent("md-drugs:server:failheatingheroin") TriggerServerEvent("md-drugs:server:failheatingheroin")
ps.requestPTFX("core") ps.requestPTFX("core")
lib.requestNamedPtfxAsset("core")
local heroinkit = StartParticleFxLoopedOnEntity("exp_air_molotov", heroinlabkit, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false) local heroinkit = StartParticleFxLoopedOnEntity("exp_air_molotov", heroinlabkit, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.5, false, false, false)
SetParticleFxLoopedAlpha(heroinkit, 3.0) SetParticleFxLoopedAlpha(heroinkit, 3.0)
SetPedToRagdoll(PlayerPedId(), 1300, 1300, 0, 0, 0, 0) SetPedToRagdoll(PlayerPedId(), 1300, 1300, 0, 0, 0, 0)
@@ -40,7 +26,6 @@ local function createLabKit(coord, head)
end, end,
canInteract = function() canInteract = function()
if not dirty then return true end if not dirty then return true end
return false
end end
}, },
{ {
@@ -74,46 +59,6 @@ local function createLabKit(coord, head)
}}) }})
end end
RegisterNetEvent('heroin:respawnCane', function(loc)
local v = GlobalState.PoppyPlants[loc]
local hash = GetHashKey(v.model)
if not PoppyPlants[loc] then
PoppyPlants[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(PoppyPlants[loc], true, v.heading)
ps.entityTarget(PoppyPlants[loc], pickOps(loc), loc)
end
end)
RegisterNetEvent('heroin:removeCane', function(loc)
if DoesEntityExist(PoppyPlants[loc]) then DeleteEntity(PoppyPlants[loc]) end
PoppyPlants[loc] = nil
end)
RegisterNetEvent("heroin:init", function()
for k, v in pairs (GlobalState.PoppyPlants) do
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModel(hash) end
if not v.taken then
PoppyPlants[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(PoppyPlants[k], true, v.heading)
ps.entityTarget(PoppyPlants[k], pickOps(k))
end
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01b'))
for k, v in pairs(PoppyPlants) do
if DoesEntityExist(v) then
DeleteEntity(v) SetEntityAsNoLongerNeeded(v)
end
end
end
end)
for k, v in pairs (GlobalState.MDDrugsLocs.dryplant) do for k, v in pairs (GlobalState.MDDrugsLocs.dryplant) do
ps.boxTarget('dryHeroin'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('dryHeroin'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
+23 -23
View File
@@ -9,14 +9,14 @@ local function createLabKit(coord, head)
local options = { local options = {
{ {
icon = "fa-solid fa-temperature-high", icon = "fa-solid fa-temperature-high",
label = Lang.targets.lsd.heat, label = ps.lang('targets.lsd.heat'),
action = function() action = function()
local dict = "scr_ie_svm_technical2" local dict = "scr_ie_svm_technical2"
if not ps.hasItems({ if not ps.hasItems({
{name = 'lysergic_acid', amount = 1}, {name = 'lysergic_acid', amount = 1},
{name = 'diethylamide', amount = 1} {name = 'diethylamide', amount = 1}
}) then }) then
Notify(Lang.lsd.need, 'error') 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(Lang.lsd.heat, 7000, 'uncuff') then return end if not 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()
@@ -35,11 +35,11 @@ local function createLabKit(coord, head)
}, },
{ {
icon = "fa-solid fa-temperature-high", icon = "fa-solid fa-temperature-high",
label = Lang.targets.lsd.refine, label = ps.lang('targets.lsd.refine'),
action = function() action = function()
if not ps.hasItem('lsd_one_vial') then return end if not ps.hasItem('lsd_one_vial') then return end
if not minigame() then TriggerServerEvent("md-drugs:server:failrefinequality") return end if not minigame() then TriggerServerEvent("md-drugs:server:failrefinequality") return end
if not ps.progressbar(Lang.lsd.refine, 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.refine'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:refinequalityacid") TriggerServerEvent("md-drugs:server:refinequalityacid")
end, end,
canInteract = function() canInteract = function()
@@ -48,11 +48,11 @@ local function createLabKit(coord, head)
}, },
{ {
icon = "fa-regular fa-note-sticky", icon = "fa-regular fa-note-sticky",
label = Lang.targets.lsd.dab, label = ps.lang('targets.lsd.dab'),
action = function() action = function()
if not ps.hasItem('tab_paper') then return end if not ps.hasItem('tab_paper') then return end
if not minigame() then TriggerServerEvent("md-drugs:server:failtabs") return end if not minigame() then TriggerServerEvent("md-drugs:server:failtabs") return end
if not ps.progressbar(Lang.lsd.dip, 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.dip'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:maketabpaper") TriggerServerEvent("md-drugs:server:maketabpaper")
end, end,
canInteract = function() canInteract = function()
@@ -62,9 +62,9 @@ local function createLabKit(coord, head)
{ {
event = "md-drugs:client:getlabkitback", event = "md-drugs:client:getlabkitback",
icon = "fas fa-box-circle-check", icon = "fas fa-box-circle-check",
label = Lang.targets.lsd.back, label = ps.lang('targets.lsd.back'),
action = function() action = function()
if not progressbar(Lang.lsd.tablepack, 4000, 'uncuff') then return end if not 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
@@ -75,13 +75,13 @@ local function createLabKit(coord, head)
}, },
{ {
icon = "fa-solid fa-hand-sparkles", icon = "fa-solid fa-hand-sparkles",
label = 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(Lang.lsd.needclean, 'error') Notify(ps.lang('lsd.needclean'), 'error')
return return
end end
if not ps.progressbar(Lang.lsd.clean, 4000, 'clean') then return end if not ps.progressbar(ps.lang('lsd.clean'), 4000, 'clean') then return end
local check = ps.callback('md-drugs:server:removecleaningkit') local check = ps.callback('md-drugs:server:removecleaningkit')
if check then if check then
dirtylsd = false dirtylsd = false
@@ -96,12 +96,12 @@ end
for k, v in pairs (GlobalState.MDDrugsLocs.lysergicacid) do for k, v in pairs (GlobalState.MDDrugsLocs.lysergicacid) do
ps.boxTarget('lysergicacid'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('lysergicacid'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
label = Lang.targets.lsd.lys, label = ps.lang('targets.lsd.lys'),
icon = 'fa-solid fa-temperature-high', icon = 'fa-solid fa-temperature-high',
action = function() action = function()
if not ps.hasItem('empty_weed_bag') then return end if not ps.hasItem('empty_weed_bag') then return end
if not minigame() then TriggerServerEvent("md-drugs:server:faillysergic") return end if not minigame() then TriggerServerEvent("md-drugs:server:faillysergic") return end
if not ps.progressbar(Lang.lsd.steallys, 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.steallys'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:getlysergic", k) TriggerServerEvent("md-drugs:server:getlysergic", k)
end, end,
canInteract = function() canInteract = function()
@@ -115,12 +115,12 @@ end
for k, v in pairs (GlobalState.MDDrugsLocs.diethylamide) do for k, v in pairs (GlobalState.MDDrugsLocs.diethylamide) do
ps.boxTarget('diethylamide'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('diethylamide'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
label = Lang.targets.lsd.die, label = ps.lang('targets.lsd.die'),
icon = 'fa-solid fa-temperature-high', icon = 'fa-solid fa-temperature-high',
action = function() action = function()
if not ps.hasItem('empty_weed_bag') then return end if not ps.hasItem('empty_weed_bag') then return end
if not minigame() then TriggerServerEvent("md-drugs:server:faildiethylamide") return end if not minigame() then TriggerServerEvent("md-drugs:server:faildiethylamide") return end
if not ps.progressbar(Lang.lsd.stealdie, 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.stealdie'), 4000, 'uncuff') then return end
TriggerServerEvent("md-drugs:server:getdiethylamide", k) TriggerServerEvent("md-drugs:server:getdiethylamide", k)
end, end,
canInteract = function() canInteract = function()
@@ -134,10 +134,10 @@ end
for k,v in pairs (GlobalState.MDDrugsLocs.gettabs) do for k,v in pairs (GlobalState.MDDrugsLocs.gettabs) do
ps.boxTarget('gettabs'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('gettabs'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
label = Lang.targets.lsd.buyt, label = ps.lang('targets.lsd.buyt'),
icon = 'fa-solid fa-hand-holding-dollar', icon = 'fa-solid fa-hand-holding-dollar',
action = function() action = function()
if not ps.hasItem('lsdlabkit') then ps.notify(Lang.lsd.havlabkit, 'error') return end if not ps.hasItem('lsdlabkit') then ps.notify(ps.lang('lsd.havlabkit'), 'error') return end
TriggerEvent("md-drugs:client:buytabs", k) TriggerEvent("md-drugs:client:buytabs", k)
end, end,
canInteract = function() canInteract = function()
@@ -151,11 +151,11 @@ end
for k, v in pairs (GlobalState.MDDrugsLocs.buykit) do for k, v in pairs (GlobalState.MDDrugsLocs.buykit) do
ps.boxTarget('buykit'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, { ps.boxTarget('buykit'..k, v.loc, {length = v.l, width = v.w, height = 1.0, rotation = v.rot}, {
{ {
label = Lang.targets.lsd.buy, label = ps.lang('targets.lsd.buy'),
icon = 'fa-solid fa-hand-holding-dollar', icon = 'fa-solid fa-hand-holding-dollar',
action = function() action = function()
if ps.hasItem('lsdlabkit') then ps.notify(Lang.lsd.havlabkit, 'error') return end if ps.hasItem('lsdlabkit') then ps.notify(ps.lang('lsd.havlabkit'), 'error') return end
if not ps.progressbar(Lang.lsd.buykit, 4000, 'uncuff') then return end if not ps.progressbar(ps.lang('lsd.buykit'), 4000, 'uncuff') then return end
TriggerEvent("md-drugs:client:buylabkit") TriggerEvent("md-drugs:client:buylabkit")
end, end,
canInteract = function() canInteract = function()
@@ -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(Lang.lsd.tableout, 'error') 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(Lang.lsd.place, 4000, 'uncuff') then return end if not progressbar(ps.lang('lsd.place'), 4000, 'uncuff') then return end
createLabKit(loc, head) createLabKit(loc, head)
return true, loc return true, loc
end end
-43
View File
@@ -1,47 +1,4 @@
local Mescaline = {}
local function pick(loc)
if not progressbar(Lang.mescaline.pick, 4000, 'uncuff') then return end
TriggerServerEvent("Mescaline:pickupCane", loc)
end
RegisterNetEvent('Mescaline:respawnCane', function(loc)
local v = GlobalState.Mescaline[loc]
local hash = GetHashKey(v.model)
if not Mescaline[loc] then
Mescaline[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(Mescaline[loc], true, v.heading)
AddSingleModel(Mescaline[loc], {icon = "fa-solid fa-seedling",label = Lang.targets.mescaline.pick, action = function() pick(loc) end}, loc )
end
end)
RegisterNetEvent('Mescaline:removeCane', function(loc)
if DoesEntityExist(Mescaline[loc]) then DeleteEntity(Mescaline[loc]) end
Mescaline[loc] = nil
end)
RegisterNetEvent("Mescaline:init", function()
for k, v in pairs (GlobalState.Mescaline) do
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModel(hash) end
if not v.taken then
Mescaline[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(Mescaline[k], true, v.heading)
AddSingleModel(Mescaline[k], {icon = "fa-solid fa-seedling",label = Lang.targets.mescaline.pick,action = function() pick(k) end}, k)
end
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_cactus_03'))
for k, v in pairs(Mescaline) do
if DoesEntityExist(v) then
DeleteEntity(v) SetEntityAsNoLongerNeeded(v)
end
end
end
end)
RegisterNetEvent("md-drugs:client:drymescaline", function() RegisterNetEvent("md-drugs:client:drymescaline", function()
if not ItemCheck('cactusbulb') then return end if not ItemCheck('cactusbulb') then return end
+117
View File
@@ -0,0 +1,117 @@
local DrugPlants = {
{model = 'prop_plant_01a', label = 'coke', tbl = GlobalState.CocaPlant, plantTbl = {},
pick = function(loc)
if not ps.progressbar(ps.lang('Coke.picking'), 4000, 'uncuff') then return end
TriggerServerEvent("coke:pickupCane", loc)
return true
end,
target = {
icon = "fa-solid fa-seedling",
label = ps.lang('targets.coke.pick'),
},
},
{model = 'prop_plant_01b', label = 'heroin', tbl = GlobalState.PoppyPlants, plantTbl = {},
pick = function(loc)
if not ps.progressbar(ps.lang('Heroin.pick'), 4000, 'uncuff') then return end
TriggerServerEvent("heroin:pickupCane", loc)
return true
end,
target = {
icon = "fa-solid fa-seedling",
label = ps.lang('targets.heroin.pick'),
},
},
{model = 'prop_cactus_03', label = 'Mescaline', tbl = GlobalState.Mescaline, plantTbl = {},
pick = function(loc)
if not ps.progressbar(ps.lang('mescaline.pick'), 4000, 'uncuff') then return end
TriggerServerEvent("Mescaline:pickupCane", loc)
return true
end,
target = {
icon = "fa-solid fa-seedling",
label = ps.lang('targets.mescaline.pick'),
},
},
{model = 'prop_weed_01', label = 'weed', tbl = GlobalState.WeedPlant, plantTbl = {},
pick = function(loc)
if not ps.progressbar(ps.lang('Weed.picking'), 4000, 'uncuff') then return end
TriggerServerEvent("weed:pickupCane", loc)
return true
end,
target = {
icon = "fa-solid fa-seedling",
label = ps.lang('targets.weed.pick'),
},
},
{model = 'mushroom', label = 'shrooms', tbl = GlobalState.shrooms, plantTbl = {},
pick = function(loc)
if not ps.progressbar(ps.lang('Shrooms.pick'), 4000, 'uncuff') then return end
TriggerServerEvent("shrooms:pickupCane", loc)
return true
end,
target = {
icon = "fa-solid fa-hand",
label = ps.lang('targets.shrooms.pick'),
},
},
}
for k, v in pairs (DrugPlants) do
RegisterNetEvent(v.label ..':respawnCane', function(loc)
local plant = v.tbl[loc]
local hash = GetHashKey(plant.model)
if not v.plantTbl[loc] then
ps.requestModel(hash)
v.plantTbl[loc] = CreateObject(hash, plant.location, false, true, true)
Freeze(v.plantTbl[loc], true, plant.heading)
ps.entityTarget(v.plantTbl[loc], {
{
icon = v.icon,
label = v.label,
action = function()
if not v.pick(loc) then return end
end
}
})
end
end)
RegisterNetEvent(v.label ..':removeCane', function(loc)
ps.debug(v.plantTbl)
DeleteEntity(v.plantTbl[loc])
v.plantTbl[loc] = nil
end)
RegisterNetEvent(v.label ..":init", function()
if not v.plantTbl then v.plantTbl = {} end
for key, value in pairs (v.tbl) do
local hash = GetHashKey(value.model)
if not value.taken then
v.plantTbl[key] = CreateObject(hash, value.location.x, value.location.y, value.location.z, false, true, true)
Freeze(v.plantTbl[key], true, v.heading)
ps.entityTarget(v.plantTbl[key], {
{
icon = v.icon,
label = v.label,
action = function()
if not v.pick(key) then return end
end
}
})
end
end
end)
end
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('prop_plant_01a'))
for k, v in pairs(DrugPlants) do
for key, plant in pairs(v.plantTbl) do
if DoesEntityExist(plant) then DeleteEntity(plant) end
v.plantTbl[key] = nil
end
end
end
end)
-54
View File
@@ -1,57 +1,3 @@
local shrooms = {}
local function LoadModels(hash)
hash = GetHashKey(hash)
RequestModel(hash)
local timeout = GetGameTimer() + 5000 -- 5-second timeout
while not HasModelLoaded(hash) and GetGameTimer() < timeout do
Wait(10)
end
if HasModelLoaded(hash) then return true end
end
local function pick(loc)
if not progressbar(Lang.Shrooms.pick, 4000, 'uncuff') then return end
TriggerServerEvent("shrooms:pickupCane", loc)
end
RegisterNetEvent('shrooms:respawnCane', function(loc)
local v = GlobalState.shrooms[loc]
local hash = GetHashKey(v.model)
if not shrooms[loc] then
shrooms[loc] = CreateObject(hash, v.location, false, true, true)
Freeze(shrooms[loc], true, v.heading)
AddSingleModel(shrooms[loc],{ icon = "fas fa-hand", label = Lang.targets.shrooms.pick, action = function() pick(loc) end }, loc )
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('mushroom'))
for k, v in pairs(shrooms) do
if DoesEntityExist(v) then
DeleteEntity(v) SetEntityAsNoLongerNeeded(v)
end
end
end
end)
RegisterNetEvent('shrooms:removeCane', function(loc)
if DoesEntityExist(shrooms[loc]) then DeleteEntity(shrooms[loc]) end
shrooms[loc] = nil
end)
RegisterNetEvent("shrooms:init", function()
for k, v in pairs (GlobalState.shrooms) do
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModels(hash) end
if not v.taken then
shrooms[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z, false, true, true)
Freeze(shrooms[k], true, v.heading)
AddSingleModel(shrooms[k],{ icon = "fas fa-hand", label = Lang.targets.shrooms.pick, action = function() pick(k) end }, k )
end
end
end)
RegisterNetEvent('md-drugs:client:takeshrooms', function() RegisterNetEvent('md-drugs:client:takeshrooms', function()
if not progressbar(Lang.Shrooms.eat, 500, 'eat') then return end if not progressbar(Lang.Shrooms.eat, 500, 'eat') then return end
-44
View File
@@ -1,4 +1,3 @@
local WeedPlant = {}
local exploded, drying = false, false local exploded, drying = false, false
local function hasJob() local function hasJob()
@@ -9,49 +8,6 @@ local function hasJob()
return true end return true end
end end
local function pick(loc)
if not progressbar(Lang.Weed.pick, 4000, 'uncuff') then return end
TriggerServerEvent("weed:pickupCane", loc)
end
RegisterNetEvent('weed:respawnCane', function(loc)
local v = GlobalState.WeedPlant[loc]
local hash = GetHashKey(v.model)
if not HasModelLoaded(hash) then LoadModel(hash) end
if not WeedPlant[loc] then
WeedPlant[loc] = CreateObject(hash, v.location.x, v.location.y, v.location.z-3.5, false, true, true)
Freeze(WeedPlant[loc],true, v.heading)
AddSingleModel(WeedPlant[loc], {icon = "fas fa-hand",label = Lang.targets.weed.pick, action = function() pick(loc) end}, loc)
end
end)
RegisterNetEvent('weed:removeCane', function(loc)
if DoesEntityExist(WeedPlant[loc]) then DeleteEntity(WeedPlant[loc]) end
WeedPlant[loc] = nil
end)
RegisterNetEvent("weed:init", function()
for k, v in pairs (GlobalState.WeedPlant) do
local hash = GetHashKey(v.model)
lib.requestModel('prop_weed_01', 1000)
if not v.taken then
WeedPlant[k] = CreateObject(hash, v.location.x, v.location.y, v.location.z-3.5, false, true, true)
Freeze(WeedPlant[k],true, v.heading)
AddSingleModel(WeedPlant[k], {icon = "fas fa-hand",label = Lang.targets.weed.pick, action = function() pick(k) end}, k)
end
end
end)
AddEventHandler('onResourceStop', function(resourceName)
if GetCurrentResourceName() == resourceName then
SetModelAsNoLongerNeeded(GetHashKey('bkr_prop_weed_lrg_01b'))
for k, v in pairs(WeedPlant) do
if DoesEntityExist(v) then
DeleteEntity(v) SetEntityAsNoLongerNeeded(v)
end
end
end
end)
CreateThread(function() CreateThread(function()
local config = ps.callback('md-drugs:server:getLocs', false) local config = ps.callback('md-drugs:server:getLocs', false)
+1
View File
@@ -7,6 +7,7 @@ version '3.9.0'
client_scripts { client_scripts {
'client/functions.lua', 'client/functions.lua',
'client/animationsandfunctions.lua', 'client/animationsandfunctions.lua',
'client/plantSpawns.lua',
'clientRun.lua', 'clientRun.lua',
} }
+15 -20
View File
@@ -1,28 +1,23 @@
local cokeplants = { local cokeplants = {
{ location = vector3(1474.25, -2643.87, 42.88), heading = 334.49, model = "prop_plant_01a" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { 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" }, { location = vector3(1453.65, -2641.56, 45.0), heading = 202.97, model = "prop_plant_01a", taken = false },
} }
GlobalState.CocaPlant = cokeplants GlobalState.CocaPlant = cokeplants
Citizen.CreateThread(function()
for _, v in pairs(cokeplants) do
v.taken = false
end
end)
function CaneCooldown(loc) function CaneCooldown(loc)
CreateThread(function() CreateThread(function()
@@ -44,7 +39,7 @@ AddEventHandler("coke:pickupCane", function(loc)
GlobalState.CocaPlant = cokeplants GlobalState.CocaPlant = cokeplants
TriggerClientEvent("coke:removeCane", -1, loc) TriggerClientEvent("coke:removeCane", -1, loc)
CaneCooldown(loc) CaneCooldown(loc)
AddItem(src, 'coca_leaf', 1) ps.addItem(src, 'coca_leaf', 1)
end end
end) end)
+4 -8
View File
@@ -322,26 +322,22 @@ local function handleFresh(source)
coke = 0,lsd = 0,heroin = 0,dealerrep = 0, coke = 0,lsd = 0,heroin = 0,dealerrep = 0,
cornerselling = { price = QBConfig.SellLevel[1].price,rep = 0,label = QBConfig.SellLevel[1].label,level = 1} cornerselling = { price = QBConfig.SellLevel[1].price,rep = 0,label = QBConfig.SellLevel[1].label,level = 1}
}) })
MySQL.insert('INSERT INTO drugrep SET cid = ?, drugrep = ?, name = ?', {getCid(source), table, GetName(source)}) MySQL.insert('INSERT INTO drugrep SET cid = ?, drugrep = ?, name = ?', {ps.getIdentifier(source), table, ps.getPlayerName(source)})
Wait(1000)
return json.decode(table) return json.decode(table)
end end
function getRep(source, type) function getRep(source, type)
local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {getCid(source)}) local sql = MySQL.query.await('SELECT JSON_UNQUOTE(JSON_EXTRACT(drugrep, ?)) AS rep FROM drugrep WHERE cid = ?', {'$.' .. type, ps.getIdentifier(source)})
if not sql[1] then if not sql[1] then
local new = handleFresh(source) local new = handleFresh(source)
return new[type] return new[type]
else else
local reps = json.decode(sql[1].drugrep) return tonumber(sql[1].rep)
local rep = ''
if reps.coke == nil then rep = reps[1] else rep = reps end
return rep[type]
end end
end end
function GetAllRep(source) function GetAllRep(source)
local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {getCid(source)}) local sql = MySQL.query.await('SELECT * FROM drugrep WHERE cid = ?', {ps.getIdentifier(source)})
if not sql[1] then if not sql[1] then
local new = handleFresh(source) local new = handleFresh(source)
return new return new
+7 -9
View File
@@ -1,9 +1,7 @@
local QBCore = exports['qb-core']:GetCoreObject() local heroinLabKits = {}
local prices = { local prices = {
heroinlabkitprice = 10000 heroinlabkitprice = 10000
} }
local heroinLabKits = {}
local h = { local h = {
{ location = vector3(-2251.3, -99.18, 100.11), heading = 334.49, model = "prop_plant_01b"}, { 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(-2249.63, -92.97, 101.8), heading = 329.56, model = "prop_plant_01b"},
@@ -50,7 +48,7 @@ end)
RegisterServerEvent("heroin:pickupCane", function(loc) RegisterServerEvent("heroin:pickupCane", function(loc)
local src = source local src = source
if ps.checkDistance(src, h[loc].location, 3.0) then return end if not ps.checkDistance(src, h[loc].location, 3.0) then return end
if not h[loc].taken then if not h[loc].taken then
h[loc].taken = true h[loc].taken = true
GlobalState.PoppyPlants = h GlobalState.PoppyPlants = h
@@ -146,14 +144,14 @@ ps.createUseable('heroinlabkit', function(source, item)
coords = loc, coords = loc,
name = ps.getPlayerName(src) name = ps.getPlayerName(src)
}) })
ps.notify(src, Lang.Heroin.placed, "success") ps.notify(src, ps.lang('Heroin.placed'), "success")
end end
end) end)
RegisterServerEvent('md-drugs:server:heatliquidheroin', function() RegisterServerEvent('md-drugs:server:heatliquidheroin', function()
local src = source local src = source
if not hasHKit(src) then return end if not hasHKit(src) then return end
if not ps.itemCheck(src, 'emptyvial', 1) then return end if not ps.hasItem(src, 'emptyvial', 1) then return end
if Config.TierSystem then if Config.TierSystem then
local itemList = { local itemList = {
heroincut = 'tier1', heroincut = 'tier1',
@@ -185,7 +183,7 @@ RegisterServerEvent('md-drugs:server:failheatingheroin', function()
local cuth = ps.hasItem(src, k) local cuth = ps.hasItem(src, k)
if cuth then if cuth then
ps.removeItem(src, k, v) ps.removeItem(src, k, v)
ps.notify(src, Lang.Heroin.fail, "error") ps.notify(src, ps.lang('Heroin.fail'), "error")
return return
end end
end end
@@ -194,7 +192,7 @@ end)
RegisterServerEvent('md-drugs:server:fillneedle', function(num) RegisterServerEvent('md-drugs:server:fillneedle', function(num)
local src = source local src = source
if not ps.checkDistance(src, GlobalState.MDDrugsLocs.fillneedle[num].loc, 3.0) then if not ps.checkDistance(src, GlobalState.MDDrugsLocs.fillneedle[num].loc, 3.0) then
ps.notify(src, Lang.Heroin.noloc, 'error') ps.notify(src, ps.lang('Heroin.noloc'), 'error')
return return
end end
if not ps.hasItem(src, 'needle', 1) then return end if not ps.hasItem(src, 'needle', 1) then return end
@@ -232,7 +230,7 @@ RegisterServerEvent('md-drugs:server:failheroin', function()
local cuth = ps.hasItem(src, k) local cuth = ps.hasItem(src, k)
if cuth then if cuth then
ps.removeItem(src, k, v) ps.removeItem(src, k, v)
ps.notify(src, Lang.Heroin.failneedle, "error") ps.notify(src, ps.lang('Heroin.failneedle'), "error")
return return
end end
end end
+53 -72
View File
@@ -4,6 +4,7 @@ local prices = {
lsdlabkitcost = 10000 -- price of the lsd lab kit lsdlabkitcost = 10000 -- price of the lsd lab kit
} }
local timedOut = {} local timedOut = {}
local function timeout(src, time) local function timeout(src, time)
timedOut[src] = true timedOut[src] = true
CreateThread(function() CreateThread(function()
@@ -11,12 +12,14 @@ local function timeout(src, time)
timedOut[src] = nil timedOut[src] = nil
end) end)
end end
local lsdTables = {} local lsdTables = {}
RegisterServerEvent('md-drugs:server:getlysergic', function(num) RegisterServerEvent('md-drugs:server:getlysergic', function(num)
local src = source local src = source
if timedOut[src] then return end if timedOut[src] then return end
if not ps.checkDistance(src, GlobalState.MDDrugsLocs.lysergicacid[num].loc, 2.0) then if not ps.checkDistance(src, GlobalState.MDDrugsLocs.lysergicacid[num].loc, 2.0) then
Notifys(src, Lang.lsd.notinloc, "error") ps.notify(src, ps.lang('lsd.notinloc'), "error")
return return
end end
timeout(src, 3000) timeout(src, 3000)
@@ -25,25 +28,24 @@ end)
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num) RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
local src = source local src = source
if timedOut[src] then return end
if not ps.checkDistance(src, GlobalState.MDDrugsLocs.diethylamide[num].loc, 2.0) then if not ps.checkDistance(src, GlobalState.MDDrugsLocs.diethylamide[num].loc, 2.0) then
Notifys(src, Lang.lsd.notinloc, "error") Notifys(src, Lang.lsd.notinloc, "error")
return return
end end
if timedOut[src] then return end
timeout(src, 3000) timeout(src, 3000)
ps.addItem(src, 'diethylamide', 2) ps.addItem(src, 'diethylamide', 2)
end) end)
CUI('lsdlabkit', function(source, item) ps.createUseable('lsdlabkit', function(source, item)
local src = source local src = source
local Player = getPlayer(src)
local placed, loc = ps.callback('md-drugs:client:setlsdlabkit', src) local placed, loc = ps.callback('md-drugs:client:setlsdlabkit', src)
if placed then if placed then
if RemoveItem(src, 'lsdlabkit', 1) then if ps.removeItem(src, 'lsdlabkit', 1) then
table.insert(lsdTables, { table.insert(lsdTables, {
owner = GetName(src), owner = ps.getPlayerName(src),
ownerid = Player.PlayerData.citizenid, ownerid = ps.getIdentifier(src),
src = src, src = src,
loc = loc loc = loc
}) })
@@ -53,9 +55,8 @@ end)
local function hasLabKit(source) local function hasLabKit(source)
local src = source local src = source
local Player = getPlayer(src)
for k, v in pairs (lsdTables) do for k, v in pairs (lsdTables) do
if v.ownerid == Player.PlayerData.citizenid then if v.ownerid == ps.getIdentifier(src) then
return true return true
end end
end end
@@ -63,19 +64,15 @@ end
ps.registerCallback('md-drugs:server:removecleaningkit', function(source) ps.registerCallback('md-drugs:server:removecleaningkit', function(source)
local src = source local src = source
if not Itemcheck(src, 'cleaningkit', 1) then return end return ps.removeItem(src,"cleaningkit", 1)
if RemoveItem(src,"cleaningkit", 1) then
return true
end
end) end)
RegisterServerEvent('md-drugs:server:getlabkitback', function() RegisterServerEvent('md-drugs:server:getlabkitback', function()
local src = source local src = source
local Player = getPlayer(src)
for k, v in pairs (lsdTables) do for k, v in pairs (lsdTables) do
if v.ownerid == Player.PlayerData.citizenid then if v.ownerid == ps.getIdentifier(src) then
table.remove(lsdTables, k) table.remove(lsdTables, k)
AddItem(src, 'lsdlabkit', 1) ps.addItem(src, 'lsdlabkit', 1)
end end
end end
end) end)
@@ -89,49 +86,49 @@ end)
RegisterServerEvent('md-drugs:server:failheating', function() RegisterServerEvent('md-drugs:server:failheating', function()
local src = source local src = source
if not hasLabKit(src) then return end if not hasLabKit(src) then return end
RemoveItem(src, 'lysergic_acid', 1) ps.removeItem(src, 'lysergic_acid', 1)
RemoveItem(src, 'diethylamide', 1) ps.removeItem(src, 'diethylamide', 1)
Notifys(src,Lang.lsd.failed, "error") ps.notify(src, ps.lang('prices.lsd.failed'), "error")
Log(GetName(src) ..' Failed Basic LSD Like An Idiot!', 'lsd') Log(ps.getPlayerName(src) ..' Failed Basic LSD Like An Idiot!', 'lsd')
end) end)
RegisterServerEvent('md-drugs:server:refinequalityacid', function() RegisterServerEvent('md-drugs:server:refinequalityacid', function()
local src = source local src = source
if not hasLabKit(src) then return end if not hasLabKit(src) then return end
if not Itemcheck(src, 'lsd_one_vial', 1) then return end if not ps.itemCheck(src, 'lsd_one_vial', 1) then return end
if Config.TierSystem then if Config.TierSystem then
local lsd = getRep(src, 'lsd') local lsd = getRep(src, 'lsd')
if RemoveItem(src, 'lsd_one_vial', 1) then if ps.removeItem(src, 'lsd_one_vial', 1) then
if lsd <= 30 then if lsd <= 30 then
AddItem(src,'lsd_vial_two', 1) ps.addItem(src,'lsd_vial_two', 1)
elseif lsd >= 31 and lsd <= 60 then elseif lsd >= 31 and lsd <= 60 then
AddItem(src,'lsd_vial_three', 1) ps.addItem(src,'lsd_vial_three', 1)
elseif lsd >= 61 and lsd <= 90 then elseif lsd >= 61 and lsd <= 90 then
AddItem(src,'lsd_vial_four', 1) ps.addItem(src,'lsd_vial_four', 1)
elseif lsd >= 91 and lsd <= 120 then elseif lsd >= 91 and lsd <= 120 then
AddItem(src,'lsd_vial_five', 1) ps.addItem(src,'lsd_vial_five', 1)
else else
AddItem(src,'lsd_vial_six', 1) ps.addItem(src,'lsd_vial_six', 1)
end end
AddRep(src,'lsd') AddRep(src,'lsd')
Log(GetName(src) ..' Refined Acid and Now Has A Rep Of ' .. lsd + 1 .. '!', 'lsd') ps.log(ps.getPlayerName(src) ..' Refined Acid and Now Has A Rep Of ' .. lsd + 1 .. '!', 'lsd')
end end
else else
local randomchance = math.random(1,100) local randomchance = math.random(1,100)
if RemoveItem(src,'lsd_one_vial', 1) then if ps.removeItem(src,'lsd_one_vial', 1) then
if randomchance <= 60 then if randomchance <= 60 then
AddItem(src,'lsd_vial_two', 1) ps.addItem(src,'lsd_vial_two', 1)
elseif randomchance >= 61 and randomchance <= 75 then elseif randomchance >= 61 and randomchance <= 75 then
AddItem(src,'lsd_vial_three', 1) ps.addItem(src,'lsd_vial_three', 1)
elseif randomchance >= 76 and randomchance <= 85 then elseif randomchance >= 76 and randomchance <= 85 then
AddItem(src,'lsd_vial_four', 1) ps.addItem(src,'lsd_vial_four', 1)
elseif randomchance >= 86 and randomchance <= 93 then elseif randomchance >= 86 and randomchance <= 93 then
AddItem(src,'lsd_vial_five', 1) ps.addItem(src,'lsd_vial_five', 1)
else else
AddItem(src,'lsd_vial_six', 1) ps.addItem(src,'lsd_vial_six', 1)
end end
Log(GetName(src) ..' Refined Acid!', 'lsd') ps.log(ps.getPlayerName(src) ..' Refined Acid!', 'lsd')
end end
end end
end) end)
@@ -139,40 +136,35 @@ end)
RegisterServerEvent('md-drugs:server:failrefinequality', function() RegisterServerEvent('md-drugs:server:failrefinequality', function()
local src = source local src = source
if not hasLabKit(src) then return end if not hasLabKit(src) then return end
if not Itemcheck(src, 'lsd_one_vial', 1) then return end if not ps.hasItem(src, 'lsd_one_vial', 1) then return end
RemoveItem(src,'lsd_one_vial', 1) ps.removeItem(src,'lsd_one_vial', 1)
end) end)
RegisterServerEvent('md-drugs:server:gettabpaper', function(num) RegisterServerEvent('md-drugs:server:gettabpaper', function(num)
local src = source local src = source
local Player = getPlayer(src) if not ps.checkDistance(src, GlobalState.MDDrugsLocs.gettabs[num].loc, 3.0) then return end
if not checkLoc(src, 'gettabs', num) then return end if ps.removeMoney('cash', prices.tabcost * 10) then
if Player.Functions.RemoveMoney('cash', prices.tabcost * 10) then ps.addItem(src,'tab_paper', 10)
AddItem(src,'tab_paper', 10)
else else
Notifys(Lang.lsd.broke, "error") ps.notify(src, Lang.lsd.broke, "error")
end end
end) end)
RegisterServerEvent('md-drugs:server:getlabkit', function() RegisterServerEvent('md-drugs:server:getlabkit', function()
local src = source local src = source
local Player = getPlayer(src) if not ps.checkDistance(src,'singleSpot', 'buylsdlabkit') then return end
if not checkLoc(src,'singleSpot', 'buylsdlabkit') then return end if ps.removeMoney('cash', prices.lsdlabkitcost) then
if Player.Functions.RemoveMoney('cash', prices.lsdlabkitcost) then ps.addItem(src,'lsdlabkit', 1)
AddItem(src,'lsdlabkit', 1)
else else
Notifys(src, Lang.lsd.broke, "error") ps.notify(src, Lang.lsd.broke, "error")
end end
end) end)
RegisterServerEvent('md-drugs:server:maketabpaper', function() RegisterServerEvent('md-drugs:server:maketabpaper', function()
local src = source local src = source
local Player = getPlayer(src)
if not hasLabKit(src) then return end if not hasLabKit(src) then return end
if not Itemcheck(src,'tab_paper', 1) then return end if not ps.hasItem(src,'tab_paper', 1) then return end
local count = 0
local items, recieve = nil, nil
local vialdata = { local vialdata = {
{vial = 'lsd_one_vial', sheet = 'smileyfacesheet', log = 'Made A Smiley Face Sheet'}, {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_two', sheet = 'wildcherrysheet', log = 'Made A Wild Cherry Sheet'},
@@ -181,22 +173,13 @@ RegisterServerEvent('md-drugs:server:maketabpaper', function()
{vial = 'lsd_vial_five', sheet = 'bartsheet', log = 'Made A Cluckin Bell Sheet'}, {vial = 'lsd_vial_five', sheet = 'bartsheet', log = 'Made A Cluckin Bell Sheet'},
{vial = 'lsd_vial_six', sheet = 'gratefuldeadsheet', log = 'Made A Maze Sheet'} {vial = 'lsd_vial_six', sheet = 'gratefuldeadsheet', log = 'Made A Maze Sheet'}
} }
sortTab(vialdata, 'vial') for k, v in ipairs (vialdata) do
for k, v in pairs (vialdata) do local check = ps.hasItem(src, v.vial)
if count >= 1 then break end if check then
local check = Player.Functions.GetItemByName(v.vial) if ps.removeItem(src, v.vial, 1) and ps.removeItem(src, 'tab_paper', 1) then
ps.addItem(src, v.sheet, 1)
if check and check.amount >= 1 then
items = v.vial
recieve = v.sheet
count = count + 1
break
end end
end end
if count >= 1 then
if RemoveItem(src, items, 1) and RemoveItem(src, 'tab_paper', 1) then
AddItem(src, recieve, 1)
end
end end
end) end)
@@ -212,22 +195,20 @@ local sheets = {
for k, v in pairs (sheets) do for k, v in pairs (sheets) do
CUI(v.item, function(source) CUI(v.item, function(source)
local src = source local src = source
local Player = getPlayer(src)
local math = math.random(1,10) local math = math.random(1,10)
if RemoveItem(src, v.item, 1) then if ps.removeItem(src, v.item, 1) then
AddItem(src, v.recieve, math) ps.addItem(src, v.recieve, math)
Log(GetName(src) ..' Made ' .. math .. 'Tabs of ' .. v.recieve .. '!', 'lsd') ps.log(ps.getPlayerName(src) ..' Made ' .. math .. 'Tabs of ' .. v.recieve .. '!', 'lsd')
end end
end) end)
end end
AddEventHandler('playerDropped', function() AddEventHandler('playerDropped', function()
local src = source local src = source
local Player = getPlayer(src)
for k, v in pairs (lsdTables) do for k, v in pairs (lsdTables) do
if v.ownerid == Player.PlayerData.citizenid then if v.ownerid == ps.getPlayerCitizenId(src) then
table.remove(lsdTables, k) table.remove(lsdTables, k)
AddItem(src, 'lsdlabkit', 1) ps.addItem(src, 'lsdlabkit', 1)
end end
end end
end) end)
+2 -2
View File
@@ -1,4 +1,4 @@
local QBCore = exports['qb-core']:GetCoreObject()
local m = { local m = {
{ location = vector3(2598.73, 4207.89, 41.02), heading = 334.49, model = "prop_cactus_03"}, { location = vector3(2598.73, 4207.89, 41.02), heading = 334.49, model = "prop_cactus_03"},
@@ -44,7 +44,7 @@ RegisterNetEvent("Mescaline:pickupCane", function(loc)
GlobalState.Mescaline = m GlobalState.Mescaline = m
TriggerClientEvent("Mescaline:removeCane", -1, loc) TriggerClientEvent("Mescaline:removeCane", -1, loc)
MescalineCooldown(loc) MescalineCooldown(loc)
AddItem(source,'cactusbulb', 1) ps.addItem(source,'cactusbulb', 1)
end end
end) end)
+1 -1
View File
@@ -45,7 +45,7 @@ RegisterNetEvent("shrooms:pickupCane", function(loc)
GlobalState.shrooms = s GlobalState.shrooms = s
TriggerClientEvent("shrooms:removeCane", -1, loc) TriggerClientEvent("shrooms:removeCane", -1, loc)
shroomsCooldown(loc) shroomsCooldown(loc)
AddItem(source, 'shrooms', 1) ps.addItem(source, 'shrooms', 1)
Log(GetName(source) .. ' Picked A Shroom With a distance of ' .. dist(source,s[loc].location) .. ' vectors', 'shrooms') Log(GetName(source) .. ' Picked A Shroom With a distance of ' .. dist(source,s[loc].location) .. ' vectors', 'shrooms')
end end
end) end)
+15 -32
View File
@@ -1,38 +1,21 @@
local QBCore = exports['qb-core']:GetCoreObject() local QBCore = exports['qb-core']:GetCoreObject()
local weedPlant = { local weedPlant = {
{ location = vector3(1049.63, -3202.12, -36.75), heading = 334.49, model = "prop_weed_01"}, { location = vector3(1064.84, -3199.84, -42.70), heading = 334.49, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.85, -3202.15, -36.75), heading = 329.56, model = "prop_weed_01"}, { location = vector3(1063.88, -3198.69, -42.70), heading = 329.56, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1052.01, -3202.22, -36.75), heading = 25.16, model = "prop_weed_01"}, { location = vector3(1061.68, -3196.46, -42.70), heading = 25.16, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1052.99, -3202.15, -36.75), heading = 21.52, model = "prop_weed_01"}, { location = vector3(1061.62, -3199.63, -42.70), heading = 21.52, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1053.08, -3201.11, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1062.82, -3197.70, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1052.91, -3199.99, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1064.69, -3196.31, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1053.02, -3198.97, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1062.92, -3198.78, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1051.95, -3198.93, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1049.73, -3201.92, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1051.96, -3199.86, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1052.94, -3202.21, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1051.93, -3201.17, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1051.93, -3201.17, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.98, -3201.13, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1050.98, -3201.13, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.89, -3200.07, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1050.89, -3200.07, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1050.89, -3198.95, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1050.89, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1049.72, -3198.95, -36.75), heading = 202.97, model = "prop_weed_01"}, { location = vector3(1049.72, -3198.95, -42.70), heading = 202.97, model = "bkr_prop_weed_lrg_01b"},
{ location = vector3(1049.98, -3200.1, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1049.82, -3201.01, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1053.07, -3194.51, -36.75), heading = 334.49, model = "prop_weed_01"},
{ location = vector3(1052.97, -3195.55, -36.75), heading = 329.56, model = "prop_weed_01"},
{ location = vector3(1052.82, -3196.58, -36.75), heading = 25.16, model = "prop_weed_01"},
{ location = vector3(1052.94, -3197.59, -36.75), heading = 21.52, model = "prop_weed_01"},
{ location = vector3(1051.92, -3197.54, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1051.88, -3196.61, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1051.82, -3195.52, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1051.95, -3194.38, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1050.88, -3194.31, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1050.78, -3195.29, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1050.76, -3196.49, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1050.77, -3197.62, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1049.64, -3197.61, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1049.64, -3196.59, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1049.62, -3195.51, -36.75), heading = 202.97, model = "prop_weed_01"},
{ location = vector3(1049.66, -3194.36, -36.75), heading = 202.97, model = "prop_weed_01"},
} }
GlobalState.WeedPlant = weedPlant GlobalState.WeedPlant = weedPlant
+4 -4
View File
@@ -1,7 +1,7 @@
Config = {} --Ignore. Config = {} --Ignore.
ps = exports.ps_lib:init() ps = exports.ps_lib:init()
ps.loadLangs("en") ps.loadLangs("en")
Config.respawnTime = 150 -- Seconds Config.respawnTime = 3 -- Seconds
Config.Fuel = "LegacyFuel" -- type the name of script you use i.e. ps-fuel, cdn-fuel, LegacyFuel Config.Fuel = "LegacyFuel" -- type the name of script you use i.e. ps-fuel, cdn-fuel, LegacyFuel
Config.TierSystem = true -- allows for three tiers of certain drugs ( coke, heroin, crack, lsd) Config.TierSystem = true -- allows for three tiers of certain drugs ( coke, heroin, crack, lsd)
Config.StupidassNewQbItemName = true -- true if you have updated your items.lua from base qb after november 2023 because changing item names this far in a framework is 3 IQ points total Config.StupidassNewQbItemName = true -- true if you have updated your items.lua from base qb after november 2023 because changing item names this far in a framework is 3 IQ points total
@@ -59,12 +59,12 @@ Config.Drugs = {
deliveries = false, deliveries = false,
lean = false, lean = false,
lsd = false, lsd = false,
mescaline = false, mescaline = true,
meth = false, meth = false,
oxyruns = false, oxyruns = false,
pharma = false, pharma = false,
shrooms = false, shrooms = true,
weed = false, weed = true,
wholesale = false, wholesale = false,
xtc = false, xtc = false,
} }