Files
barotrauma_ek/Lua/Autorun/test.lua
2026-06-02 02:35:00 +03:00

42 lines
1.1 KiB
Lua
Executable File

local values = {}
local function SpawnItemAt(identifier, position)
-- hostside only
-- if Game.IsMultiplayer and CLIENT then return end
if not Entity.Spawner then
Timer.Wait(function()
SpawnItemAt(identifier, position)
end, 5)
return
end
-- use server spawn method
Timer.Wait(function()
local prefab = ItemPrefab.GetItemPrefab(identifier)
Entity.Spawner.AddItemToSpawnQueue(prefab, position, nil, nil, nil)
end, 5)
end
local function onSwitchToggled(state, item, pos)
if state then
SpawnItemAt("eksfx_switch_sound", pos)
else
SpawnItemAt("eksfx_switch_sound", pos)
end
end
if (Game.IsMultiplayer and SERVER) or not Game.IsMultiplayer then
Hook.Add("ekutility_heavypowerswitch.OnAlways", "Test", function (effect, deltaTime, item, targets, worldPosition, client)
local relay = item.GetComponentString("RelayComponent")
local state = relay.isOn
local id = item.ID
if values[id] == nil then
values[id] = state
end
if values[id] ~= state then
values[id] = state
onSwitchToggled(state, item, item.WorldPosition)
end
end)
end;