Files
Elite-Gaming-FiveM/resources/ulc/client/c_horn.lua
T
2025-01-28 07:05:49 -08:00

68 lines
2.2 KiB
Lua

--print("[ULC]: Horn Extras Loaded")
local extraStates = {}
local function GetPreviousStateByExtra(extra)
for k, v in pairs(extraStates) do
--print(v.extra, v.state)
if extra == v.extra then
--print('Found state of : ' .. tostring(v.state) .. ' for extra ' .. extra)
return v.state
end
end
end
function SetHornExtras(newState)
-- print('SetHornExtras: ' .. newState)
if newState == 0 then
for _, extra in pairs(MyVehicleConfig.hornConfig.hornExtras) do
local extraState = {
extra = extra,
state = IsVehicleExtraTurnedOn(MyVehicle, extra)
}
table.insert(extraStates, extraState)
ULC:SetStage(extra, 0, false, true, false, false, true, false)
end
if not MyVehicleConfig.hornConfig.disableExtras then return end
for _, extra in pairs(MyVehicleConfig.hornConfig.disableExtras) do
local extraState = {
extra = extra,
state = IsVehicleExtraTurnedOn(MyVehicle, extra)
}
table.insert(extraStates, extraState)
ULC:SetStage(extra, 1, false, true, false, false, true, false)
end
elseif newState == 1 then
for _, extra in pairs(MyVehicleConfig.hornConfig.hornExtras) do
local prevState = GetPreviousStateByExtra(extra)
if not prevState then
ULC:SetStage(extra, 1, false, true, false, false, true, false)
end
end
if not MyVehicleConfig.hornConfig.disableExtras then return end
for _, extra in pairs(MyVehicleConfig.hornConfig.disableExtras) do
local prevState = GetPreviousStateByExtra(extra)
if prevState then
ULC:SetStage(extra, 0, false, true, false, false, true, false)
end
end
end
end
RegisterCommand('+ulc:horn', function()
--print('horn')
extraStates = {}
if MyVehicle and MyVehicleConfig.hornConfig.useHorn then
SetHornExtras(0)
end
end)
RegisterCommand('-ulc:horn', function()
if MyVehicle and MyVehicleConfig.hornConfig.useHorn then
SetHornExtras(1)
end
end)
RegisterKeyMapping('+ulc:horn', 'ULC: Activate Horn Extras', 'keyboard', 'e')