Code
import("ScarUtil.scar")
g_burningTriggered = false
g_boomTriggered = false
g_burningTriggered2 = false
g_boomTriggered2 = false
function OnInit()
-- Start checking every 1 second
Rule_AddInterval(CheckProximity, 1)
Rule_AddInterval(MyNewFunction, 1)
-- Abandoned vehicles
Cmd_CriticalHit(World_GetPlayerAt(1), eg_vehicles, CRIT.VEHICLE_ABANDON, 0)
-- Make eg_dockbridge invulnerable
EGroup_SetInvulnerable(eg_dockbridge, true)
end
-- Burning and Boom 1
function CheckProximity()
for i = 1, World_GetPlayerCount() do
local player = World_GetPlayerAt(i)
if not g_burningTriggered and Prox_PlayerSquadsInProximityOfEntities(player, eg_burning, 30, false) then
g_burningTriggered = true
SetBuildingOnFire()
end
if not g_boomTriggered and Prox_PlayerSquadsInProximityOfEntities(player, eg_boom, 30, false) then
g_boomTriggered = true
EGroup_Kill(eg_boom)
end
end
if g_burningTriggered and g_boomTriggered then
Rule_Remove(CheckProximity)
end
end
function SetBuildingOnFire()
local ent = EGroup_GetSpawnedEntityAt(eg_burning, 1)
if ent ~= nil then
Entity_SetOnFire(ent)
end
end
Scar_AddInit(OnInit)
-- Burning and Boom 2
function BurnAndBoom2()
for i = 1, World_GetPlayerCount() do
local player = World_GetPlayerAt(i)
if not g_burningTriggered2 and Prox_PlayerSquadsInProximityOfEntities(player, eg_burning2, 30, false) then
g_burningTriggered2 = true
SetBuildingOnFire2()
end
if not g_boomTriggered2 and Prox_PlayerSquadsInProximityOfEntities(player, eg_boom2, 30, false) then
g_boomTriggered2 = true
EGroup_Kill(eg_boom2)
end
end
if g_burningTriggered2 and g_boomTriggered2 then
Rule_Remove(BurnAndBoom2)
end
end
function SetBuildingOnFire2()
local ent = EGroup_GetSpawnedEntityAt(eg_burning2, 1)
if ent ~= nil then
Entity_SetOnFire(ent)
end
end
Can someone suggest a working way to write it so it's shorter and more efficient? I'm struggling to figure out how to do it. My trials have ended up in (Fatal) errors.
Thanks in advance for the help!

cblanco ★
보드카 중대
VonManteuffel
Heartless Jäger