73 lines
3.4 KiB
Lua
73 lines
3.4 KiB
Lua
|
local QBCore = exports['qb-core']:GetCoreObject()
|
||
|
RegisterNetEvent('QBCore:Server:UpdateObject', function() if source ~= '' then return false end QBCore = exports['qb-core']:GetCoreObject() end)
|
||
|
|
||
|
AddEventHandler('onResourceStart', function(resource) if GetCurrentResourceName() ~= resource then return end
|
||
|
for k in pairs(Config.Prices) do if not QBCore.Shared.Items[k] then print("^5Debug^7: ^6Prices^7: ^2Missing Item from ^4QBCore^7.^4Shared^7.^4Items^7: '^6"..k.."^7'") end end
|
||
|
if not QBCore.Shared.Items["recyclablematerial"] then print("^5Debug^7: ^2Missing Item from ^4QBCore^7.^4Shared^7.^4Items^7: '^6recyclablematerial^7'") end
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateCallback('jim-recycle:GetRecyclable', function(source, cb)
|
||
|
if QBCore.Functions.GetPlayer(source).Functions.GetItemByName("recyclablematerial") then cb(QBCore.Functions.GetPlayer(source).Functions.GetItemByName("recyclablematerial").amount)
|
||
|
else cb(0) end
|
||
|
end)
|
||
|
|
||
|
QBCore.Functions.CreateCallback('jim-recycle:GetCash', function(source, cb) cb(QBCore.Functions.GetPlayer(source).Functions.GetMoney("cash")) end)
|
||
|
RegisterServerEvent("jim-recycle:DoorCharge", function() QBCore.Functions.GetPlayer(source).Functions.RemoveMoney("cash", Config.PayAtDoor) end)
|
||
|
|
||
|
--- Event For Getting Recyclable Material----
|
||
|
RegisterServerEvent("jim-recycle:getrecyclablematerial", function()
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
local amount = math.random(Config.RecycleAmounts.recycleMin, Config.RecycleAmounts.recycleMax)
|
||
|
Player.Functions.AddItem("recyclablematerial", amount)
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items["recyclablematerial"], 'add', amount)
|
||
|
Wait(500)
|
||
|
end)
|
||
|
|
||
|
RegisterServerEvent("jim-recycle:TradeItems", function(data)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
local remAmount, min, max
|
||
|
if data == 1 then
|
||
|
remAmount = 1
|
||
|
itemAmount = 1
|
||
|
min = 1
|
||
|
max = 1
|
||
|
elseif data == 2 then
|
||
|
remAmount = 10
|
||
|
itemAmount = 2
|
||
|
min = Config.RecycleAmounts.tenMin
|
||
|
max = Config.RecycleAmounts.tenMax
|
||
|
elseif data == 3 then
|
||
|
remAmount = 100
|
||
|
itemAmount = 6
|
||
|
min = Config.RecycleAmounts.hundMin
|
||
|
max = Config.RecycleAmounts.hundMax
|
||
|
elseif data == 4 then
|
||
|
remAmount = 1000
|
||
|
itemAmount = 8
|
||
|
min = Config.RecycleAmounts.thouMin
|
||
|
max = Config.RecycleAmounts.thouMax
|
||
|
end
|
||
|
if Player.Functions.RemoveItem("recyclablematerial", remAmount) then
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items["recyclablematerial"], 'remove', remAmount) end
|
||
|
Wait(1000)
|
||
|
for i = 1, itemAmount do
|
||
|
randItem = Config.TradeTable[math.random(1, #Config.TradeTable)]
|
||
|
local amount = math.random(min, max)
|
||
|
Player.Functions.AddItem(randItem, amount)
|
||
|
TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[randItem], 'add', amount)
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent("jim-recycle:Selling:Mat", function(item)
|
||
|
local src = source
|
||
|
local Player = QBCore.Functions.GetPlayer(src)
|
||
|
if Player.Functions.GetItemByName(item) ~= nil then
|
||
|
local amount = Player.Functions.GetItemByName(item).amount
|
||
|
local pay = (amount * Config.Prices[item])
|
||
|
if Player.Functions.RemoveItem(item, amount) then TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[item], 'remove', amount) end
|
||
|
Player.Functions.AddMoney('cash', pay)
|
||
|
TriggerClientEvent("QBCore:Notify", src, Loc[Config.Lan].success["get_paid"]..pay..",-", "success")
|
||
|
end
|
||
|
end)
|