78 lines
2.3 KiB
Lua
78 lines
2.3 KiB
Lua
--print("[ULC]: Cruise lights Loaded")
|
|
|
|
-- 1 disabled, 0 enabled
|
|
local sbState = 1
|
|
|
|
-- 0 on, 1 off
|
|
local function setCruiseLights(newState)
|
|
sbState = newState
|
|
for _, v in pairs(MyVehicleConfig.steadyBurnConfig.sbExtras) do
|
|
--print("Setting cruise lights extra: " .. v)
|
|
ULC:SetStage(v, newState, false, true, false, false, true, false)
|
|
end
|
|
end
|
|
|
|
local function getSteadyBurnState()
|
|
if IsVehicleExtraTurnedOn(MyVehicle, MyVehicleConfig.steadyBurnConfig.sbExtras[1]) then
|
|
return 0
|
|
else
|
|
return 1
|
|
end
|
|
end
|
|
|
|
CreateThread(function()
|
|
while true do
|
|
if MyVehicle then
|
|
TriggerEvent('ulc:CheckCruise', false)
|
|
end
|
|
Wait(1000)
|
|
end
|
|
end)
|
|
|
|
--TODO: disable when lights are on, enable when lights are off
|
|
|
|
AddEventHandler('ulc:lightsOn', function()
|
|
--print("Lights on")
|
|
if MyVehicle and (MyVehicleConfig.steadyBurnConfig.disableWithLights or false) then
|
|
setCruiseLights(1)
|
|
end
|
|
end)
|
|
|
|
AddEventHandler('ulc:lightsOff', function()
|
|
--print("Lights off")
|
|
if MyVehicle and (MyVehicleConfig.steadyBurnConfig.disableWithLights or false) then
|
|
TriggerEvent('ulc:CheckCruise')
|
|
end
|
|
end)
|
|
|
|
AddEventHandler('ulc:CheckCruise', function()
|
|
sbState = getSteadyBurnState()
|
|
if not MyVehicle then return end
|
|
|
|
if Entity(MyVehicle).state.ulc_blackout == 0 then
|
|
-- print("Blackout is on, disabling cruise lights")
|
|
setCruiseLights(1)
|
|
return
|
|
end
|
|
|
|
if MyVehicleConfig.steadyBurnConfig.forceOn then
|
|
if sbState == 0 then return end
|
|
if Lights and MyVehicleConfig.steadyBurnConfig.disableWithLights then return end
|
|
--print("Setting cruise lights on")
|
|
setCruiseLights(0)
|
|
elseif MyVehicleConfig.steadyBurnConfig.useTime then
|
|
local isTime = GetClockHours() > Config.SteadyBurnSettings.nightStartHour or
|
|
GetClockHours() < Config.SteadyBurnSettings.nightEndHour
|
|
if isTime then
|
|
-- if lights are already on do nothing
|
|
if sbState == 0 then return end
|
|
if Lights and MyVehicleConfig.steadyBurnConfig.disableWithLights then return end
|
|
setCruiseLights(0)
|
|
else
|
|
-- if already off do nothing
|
|
if sbState == 1 then return end
|
|
setCruiseLights(1)
|
|
end
|
|
end
|
|
end)
|