72 lines
2.2 KiB
Lua
72 lines
2.2 KiB
Lua
local QBCore = exports['qb-core']:GetCoreObject()
|
|
local tunedVehicles = {}
|
|
local Threshold = {
|
|
['boost'] = {min = 1, max = 5},
|
|
['acceleration'] = {min = 1, max = 5},
|
|
['gearchange'] = {min = 1, max = 5},
|
|
['breaking'] = {min = 1, max = 5},
|
|
['drivetrain'] = {min = 1, max = 3},
|
|
}
|
|
|
|
QBCore.Functions.CreateUseableItem("tunerlaptop", function(source)
|
|
TriggerClientEvent('qb-tunerchip:client:openChip', source)
|
|
end)
|
|
|
|
RegisterNetEvent('qb-tunerchip:server:TuneStatus', function(plate, bool)
|
|
if bool then
|
|
tunedVehicles[plate] = bool
|
|
else
|
|
tunedVehicles[plate] = nil
|
|
end
|
|
end)
|
|
|
|
QBCore.Functions.CreateCallback('qb-tunerchip:server:HasChip', function(source, cb, data)
|
|
local src = source
|
|
local Ply = QBCore.Functions.GetPlayer(src)
|
|
local Chip = Ply.Functions.GetItemByName('tunerlaptop')
|
|
if data then
|
|
for k,v in pairs(data) do
|
|
if Threshold[k].min > tonumber(v) or Threshold[k].max < tonumber(v) then Chip = nil end
|
|
end
|
|
end
|
|
if Chip then cb(true) return end
|
|
DropPlayer(src, Lang:t("text.this_is_not_the_idea_is_it"))
|
|
cb(false)
|
|
end)
|
|
|
|
QBCore.Functions.CreateCallback('qb-tunerchip:server:GetStatus', function(_, cb, plate)
|
|
cb(tunedVehicles[plate])
|
|
end)
|
|
|
|
QBCore.Functions.CreateUseableItem("nitrous", function(source)
|
|
TriggerClientEvent('smallresource:client:LoadNitrous', source)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:LoadNitrous', function(Plate)
|
|
TriggerClientEvent('nitrous:client:LoadNitrous', -1, Plate)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:SyncFlames', function(netId)
|
|
TriggerClientEvent('nitrous:client:SyncFlames', -1, netId, source)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:UnloadNitrous', function(Plate)
|
|
TriggerClientEvent('nitrous:client:UnloadNitrous', -1, Plate)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:UpdateNitroLevel', function(Plate, level)
|
|
TriggerClientEvent('nitrous:client:UpdateNitroLevel', -1, Plate, level)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:StopSync', function(plate)
|
|
TriggerClientEvent('nitrous:client:StopSync', -1, plate)
|
|
end)
|
|
|
|
RegisterNetEvent('nitrous:server:removeItem', function()
|
|
local Player = QBCore.Functions.GetPlayer(source)
|
|
|
|
if not Player then return end
|
|
|
|
Player.Functions.RemoveItem('nitrous', 1)
|
|
end)
|