68 lines
2.2 KiB
Lua
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')
|