234 lines
7.3 KiB
Lua
234 lines
7.3 KiB
Lua
|
|
local lsdTables = {}
|
|
|
|
RegisterServerEvent('md-drugs:server:getlysergic', function(num)
|
|
local src = source
|
|
|
|
if timeOut(src, 'md-drugs:server:getlysergic') then return end
|
|
|
|
if not checkDistance(src, Config.LSD.Locations.lysergicacid[num].loc, 2.0, 'md-drugs:server:getlysergic') then
|
|
return
|
|
end
|
|
Bridge.Inventory.AddItem(src, 'lysergic_acid', 2)
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:getdiethylamide', function(num)
|
|
local src = source
|
|
if timeOut(src, 'md-drugs:server:getdiethylamide') then return end
|
|
if not checkDistance(src, Config.LSD.Locations.diethylamide[num].loc, 2.0, 'md-drugs:server:getdiethylamide') then
|
|
return
|
|
end
|
|
Bridge.Inventory.AddItem(src, 'diethylamide', 2)
|
|
end)
|
|
|
|
|
|
Bridge.Framework.RegisterUsableItem('lsdlabkit', function(source, item)
|
|
local src = source
|
|
local placed, loc = Bridge.Callback.Trigger('md-drugs:client:setlsdlabkit', src)
|
|
if placed then
|
|
if Bridge.Inventory.RemoveItem(src, 'lsdlabkit', 1) then
|
|
lsdTables[src] = {
|
|
src = src,
|
|
loc = loc
|
|
}
|
|
end
|
|
end
|
|
end)
|
|
|
|
|
|
Bridge.Callback.Register('md-drugs:server:removecleaningkit', function(source)
|
|
local src = source
|
|
if not lsdTables[src] then return false end
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:removecleaningkit') then
|
|
return false
|
|
end
|
|
return Bridge.Inventory.RemoveItem(src, "cleaningkit", 1)
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:getlabkitback', function()
|
|
local src = source
|
|
if timeOut(src, 'md-drugs:server:getlabkitback') then return end
|
|
if lsdTables[src] then
|
|
lsdTables[src] = nil
|
|
Bridge.Inventory.AddItem(src, 'lsdlabkit', 1)
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:heatliquid', function()
|
|
local src = source
|
|
if not lsdTables[src] then return end
|
|
|
|
if timeOut(src, 'md-drugs:server:heatliquid') then return end
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:heatliquid') then
|
|
return
|
|
end
|
|
if not craft(src, Config.LSD.Recipes.vial.heat) then
|
|
return
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:failheating', function()
|
|
local src = source
|
|
if not lsdTables[src] then return end
|
|
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:failheating') then
|
|
return
|
|
end
|
|
|
|
Bridge.Inventory.RemoveItem(src, 'lysergic_acid', 1)
|
|
Bridge.Inventory.RemoveItem(src, 'diethylamide', 1)
|
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('lsd.failed'), "error")
|
|
end)
|
|
|
|
|
|
RegisterServerEvent('md-drugs:server:refinequalityacid', function()
|
|
local src = source
|
|
|
|
if not lsdTables[src] then
|
|
return
|
|
end
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:refinequalityacid') then
|
|
return
|
|
end
|
|
|
|
if timeOut(src, 'md-drugs:server:refinequalityacid') then
|
|
return
|
|
end
|
|
|
|
local removed = Bridge.Inventory.RemoveItem(src, 'lsd_one_vial', 1)
|
|
if not removed then
|
|
return
|
|
end
|
|
|
|
if Config.TierSystem then
|
|
local lsd = tonumber(getRep(src, 'lsd'))
|
|
if lsd <= 30 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_two', 1)
|
|
elseif lsd >= 31 and lsd <= 60 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_three', 1)
|
|
elseif lsd >= 61 and lsd <= 90 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_four', 1)
|
|
elseif lsd >= 91 and lsd <= 120 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_five', 1)
|
|
else
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_six', 1)
|
|
end
|
|
AddRep(src,'lsd')
|
|
else
|
|
local randomchance = math.random(1,100)
|
|
if randomchance <= 60 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_two', 1)
|
|
elseif randomchance >= 61 and randomchance <= 75 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_three', 1)
|
|
elseif randomchance >= 76 and randomchance <= 85 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_four', 1)
|
|
elseif randomchance >= 86 and randomchance <= 93 then
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_five', 1)
|
|
else
|
|
Bridge.Inventory.AddItem(src,'lsd_vial_six', 1)
|
|
end
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:failrefinequality', function()
|
|
local src = source
|
|
|
|
if not lsdTables[src] then return end
|
|
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:failrefinequality') then
|
|
return
|
|
end
|
|
|
|
Bridge.Inventory.RemoveItem(src,'lsd_one_vial', 1)
|
|
end)
|
|
|
|
|
|
RegisterServerEvent('md-drugs:server:gettabpaper', function(num)
|
|
local src = source
|
|
|
|
if timeOut(src, 'md-drugs:server:gettabpaper') then return end
|
|
|
|
if not checkDistance(src, Config.LSD.Locations.gettabs[num].loc, 3.0, 'md-drugs:server:gettabpaper') then
|
|
return
|
|
end
|
|
|
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.LSD.prices.tabcost * 10) then
|
|
Bridge.Inventory.AddItem(src,'tab_paper', 10)
|
|
else
|
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:getlabkit', function(num)
|
|
local src = source
|
|
if timeOut(src, 'md-drugs:server:getlabkit') then return end
|
|
|
|
if Bridge.Inventory.HasItem(src,'lsdlabkit', 1) then
|
|
return
|
|
end
|
|
|
|
if not checkDistance(src, Config.LSD.Locations.buyLSDkit[num].loc, 3.0, 'md-drugs:server:getlabkit') then
|
|
return
|
|
end
|
|
if Bridge.Framework.RemoveAccountBalance(src, 'cash', Config.LSD.prices.lsdlabkitcost) then
|
|
Bridge.Inventory.AddItem(src,'lsdlabkit', 1)
|
|
else
|
|
Bridge.Notify.SendNotify(src, Bridge.Language.Locale('Catches.notEnoughMoney'), "error")
|
|
end
|
|
end)
|
|
|
|
RegisterServerEvent('md-drugs:server:maketabpaper', function()
|
|
local src = source
|
|
if timeOut(src, 'md-drugs:server:maketabpaper') then return end
|
|
if not lsdTables[src] then return end
|
|
if not checkDistance(src, lsdTables[src].loc, 3.0, 'md-drugs:server:maketabpaper') then
|
|
return
|
|
end
|
|
|
|
local vialdata = {
|
|
{vial = 'lsd_one_vial', give = {smileyfacesheet = 1}, take = {lsd_one_vial = 1, tab_paper = 1}},
|
|
{vial = 'lsd_vial_two', give = {wildcherrysheet = 1}, take = {lsd_vial_two = 1, tab_paper = 1}},
|
|
{vial = 'lsd_vial_three', give = {yinyangsheet = 1}, take = {lsd_vial_three = 1, tab_paper = 1}},
|
|
{vial = 'lsd_vial_four', give = {pineapplesheet = 1}, take = {lsd_vial_four = 1, tab_paper = 1}},
|
|
{vial = 'lsd_vial_five', give = {bartsheet = 1}, take = {lsd_vial_five = 1, tab_paper = 1}},
|
|
{vial = 'lsd_vial_six', give = {gratefuldeadsheet = 1}, take = {lsd_vial_six = 1, tab_paper = 1}}
|
|
}
|
|
local vial = 1
|
|
for k, v in ipairs (vialdata) do
|
|
local check = Bridge.Inventory.HasItem(src, v.vial)
|
|
if check then
|
|
vial = k
|
|
break
|
|
end
|
|
end
|
|
if not craft(src, vialdata[vial]) then
|
|
return
|
|
end
|
|
end)
|
|
|
|
local sheets = {
|
|
{item = 'smileyfacesheet', recieve = "smiley_tabs", },
|
|
{item = 'wildcherrysheet', recieve = "wildcherry_tabs", },
|
|
{item = 'yinyangsheet', recieve = "yinyang_tabs", },
|
|
{item = 'pineapplesheet', recieve = "pineapple_tabs", },
|
|
{item = 'bartsheet', recieve = "bart_tabs", },
|
|
{item = 'gratefuldeadsheet', recieve = "gratefuldead_tabs", },
|
|
}
|
|
|
|
for k, v in pairs (sheets) do
|
|
Bridge.Framework.RegisterUsableItem(v.item, function(source)
|
|
local src = source
|
|
local math = math.random(1,10)
|
|
if Bridge.Inventory.RemoveItem(src, v.item, 1) then
|
|
Bridge.Inventory.AddItem(src, v.recieve, math)
|
|
end
|
|
end)
|
|
end
|
|
|
|
AddEventHandler('playerDropped', function()
|
|
local src = source
|
|
if lsdTables[src] then
|
|
lsdTables[src] = nil
|
|
Bridge.Inventory.AddItem(src, 'lsdlabkit', 1)
|
|
end
|
|
end) |