forked from Simnation/Main
119 lines
3.1 KiB
Lua
119 lines
3.1 KiB
Lua
RESTARTING = false
|
|
local deleteModels = {
|
|
'kq_roofbox_1_1',
|
|
'kq_roofbox_1_2',
|
|
'kq_roofbox_1_3',
|
|
'kq_roofbox_1_4',
|
|
'kq_roofbox_1_5',
|
|
'kq_roofbox_1_6',
|
|
'kq_roofbox_1_7',
|
|
'kq_roofbox_1_8',
|
|
'kq_roofbox_2_1',
|
|
'kq_roofbox_2_2',
|
|
'kq_roofbox_2_3',
|
|
'kq_roofbox_2_4',
|
|
'kq_roofbox_2_5',
|
|
'kq_roofbox_2_6',
|
|
'kq_roofbox_2_7',
|
|
'kq_roofbox_2_8',
|
|
'kq_roofbox_3_1',
|
|
'kq_roofbox_3_2',
|
|
'kq_roofbox_3_3',
|
|
'kq_roofbox_3_4',
|
|
'kq_roofbox_3_5',
|
|
'kq_roofbox_3_6',
|
|
'kq_roofbox_3_7',
|
|
'kq_roofbox_3_8',
|
|
'kq_roofbox_2',
|
|
'kq_roofbox_3',
|
|
'kq_roofbox_b1',
|
|
'kq_roofbox_b2',
|
|
'kq_roofbox_b3',
|
|
'kq_roofbox_c1',
|
|
'kq_roofbox_c2',
|
|
'kq_roofbox_c3',
|
|
}
|
|
|
|
|
|
local function ContainsHash(tab, val)
|
|
for index, value in ipairs(tab) do
|
|
if GetHashKey(value) == val then
|
|
return true
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
--- SAFE RESTART FUNCTIONALITY
|
|
RegisterNetEvent(GetCurrentResourceName() .. ':client:safeRestart')
|
|
AddEventHandler(GetCurrentResourceName() .. ':client:safeRestart', function(caller)
|
|
RESTARTING = true
|
|
Citizen.Wait(1000)
|
|
local entities = GetGamePool('CObject')
|
|
|
|
local playerPed = PlayerPedId()
|
|
|
|
WipeAllInteractionEntities()
|
|
|
|
for k, entity in pairs(entities) do
|
|
if DoesEntityExist(entity) then
|
|
if ContainsHash(deleteModels, GetEntityModel(entity)) then
|
|
SetEntityAsMissionEntity(entity, true, true)
|
|
DeleteEntity(entity)
|
|
end
|
|
end
|
|
end
|
|
|
|
if caller == GetPlayerServerId(PlayerId()) then
|
|
Citizen.Wait(2000)
|
|
|
|
ExecuteCommand('ensure ' .. GetCurrentResourceName())
|
|
end
|
|
end)
|
|
|
|
|
|
RegisterNetEvent(GetCurrentResourceName() .. ':client:toggleDebug')
|
|
AddEventHandler(GetCurrentResourceName() .. ':client:toggleDebug', function(val)
|
|
Config.debug = val
|
|
end)
|
|
|
|
--- STATE DEBUG
|
|
if Config.debug then
|
|
local function DrawStateData(vehicle, state)
|
|
local coords = GetEntityCoords(vehicle)
|
|
|
|
SetTextScale(0.28, 0.28)
|
|
SetTextFont(4)
|
|
SetTextProportional(1)
|
|
SetTextDropshadow(1, 1, 1, 1, 255)
|
|
SetTextEdge(2, 0, 0, 0, 150)
|
|
SetTextDropShadow()
|
|
SetTextOutline()
|
|
SetTextCentre(0)
|
|
|
|
AddTextEntry("roofbox_veh_state", json.encode(state) .. '\n\n~g~Open: ' .. json.encode(Entity(vehicle).state.kq_roofboxes_open))
|
|
SetTextEntry("roofbox_veh_state")
|
|
|
|
SetDrawOrigin(coords, 0)
|
|
DrawText(0.0, 0.0)
|
|
|
|
ClearDrawOrigin()
|
|
end
|
|
|
|
--Citizen.CreateThread(function()
|
|
-- while true do
|
|
-- local sleep = 1000
|
|
--
|
|
-- local vehicle = GetVehiclePedIsUsing(PlayerPedId())
|
|
-- if vehicle > 0 then
|
|
-- sleep = 1
|
|
--
|
|
-- local state = GetVehicleRoofboxState(vehicle)
|
|
-- DrawStateData(vehicle, state)
|
|
-- end
|
|
--
|
|
-- Citizen.Wait(sleep)
|
|
-- end
|
|
--end)
|
|
end
|