LightVehicles = { "1tnk", "jeep", "apc", "ftrk" } Longrange = { "v2rl", "arty" } Tanks = { "2tnk", "3tnk", "4tnk", "ttnk", "ctnk" } AllInfantry = { "e1", "e2", "e3", "e4", "medi", "mech", "shok" } Multi0entry = { in1, in2 } Multi1entry = { in3, in4 } Multi2entry = { in5, in6 } Multi3entry = { in7, in8 } Enemywaypoints = { Northenemy, Middleenemy, Southenemy } -- Multi0 Multi0Infantry = function() Multi0way = { Multi0move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi0entry) RandomInfantry = Utils.Random(AllInfantry) EnemyInfantry = Actor.Create(RandomInfantry, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyInfantry } GroupPatrol(Enemy, Multi0way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi0Infantry() end) end Multi0Vehicle = function() Multi0way = { Multi0move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi0entry) RandomLight = Utils.Random(LightVehicles) EnemyLight = Actor.Create(RandomLight, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLight } GroupPatrol(Enemy, Multi0way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi0Vehicle() end) end Multi0Tank = function() Multi0way = { Multi0move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi0entry) RandomTank = Utils.Random(Tanks) EnemyTank = Actor.Create(RandomTank, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyTank } GroupPatrol(Enemy, Multi0way, DateTime.Seconds(0)) Multi0Tank() end) end Multi0Longrange = function() Multi0way = { Multi0move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi0entry) RandomLong = Utils.Random(Longrange) EnemyLong = Actor.Create(RandomLong, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLong } GroupPatrol(Enemy, Multi0way, DateTime.Seconds(0)) Multi0Longrange() end) end Multi0Demotruck = function() Multi0way = { Multi0move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Unitentry = Utils.Random(Multi0entry) Enemynuke = Actor.Create("dtrk", true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { Enemynuke } MovePatrol(Enemy, Multi0way, DateTime.Seconds(0)) Multi0Demotruck() end) end -- Multi1 Multi1Infantry = function() Multi1way = { Multi1move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi1entry) RandomInfantry = Utils.Random(AllInfantry) EnemyInfantry = Actor.Create(RandomInfantry, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyInfantry } GroupPatrol(Enemy, Multi1way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi1Infantry() end) end Multi1Vehicle = function() Multi1way = { Multi1move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi1entry) RandomLight = Utils.Random(LightVehicles) EnemyLight = Actor.Create(RandomLight, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLight } GroupPatrol(Enemy, Multi1way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi1Vehicle() end) end Multi1Tank = function() Multi1way = { Multi1move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi1entry) RandomTank = Utils.Random(Tanks) EnemyTank = Actor.Create(RandomTank, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyTank } GroupPatrol(Enemy, Multi1way, DateTime.Seconds(0)) Multi1Tank() end) end Multi1Longrange = function() Multi1way = { Multi1move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi1entry) RandomLong = Utils.Random(Longrange) EnemyLong = Actor.Create(RandomLong, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLong } GroupPatrol(Enemy, Multi1way, DateTime.Seconds(0)) Multi1Longrange() end) end Multi1Demotruck = function() Multi1way = { Multi1move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Unitentry = Utils.Random(Multi1entry) Enemynuke = Actor.Create("dtrk", true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { Enemynuke } MovePatrol(Enemy, Multi1way, DateTime.Seconds(0)) Multi1Demotruck() end) end -- Multi2 Multi2Infantry = function() Multi2way = { Multi2move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi2entry) RandomInfantry = Utils.Random(AllInfantry) EnemyInfantry = Actor.Create(RandomInfantry, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyInfantry } GroupPatrol(Enemy, Multi2way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi2Infantry() end) end Multi2Vehicle = function() Multi2way = { Multi2move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi2entry) RandomLight = Utils.Random(LightVehicles) EnemyLight = Actor.Create(RandomLight, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLight } GroupPatrol(Enemy, Multi2way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi2Vehicle() end) end Multi2Tank = function() Multi2way = { Multi2move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi2entry) RandomTank = Utils.Random(Tanks) EnemyTank = Actor.Create(RandomTank, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyTank } GroupPatrol(Enemy, Multi2way, DateTime.Seconds(0)) Multi2Tank() end) end Multi2Longrange = function() Multi2way = { Multi2move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi2entry) RandomLong = Utils.Random(Longrange) EnemyLong = Actor.Create(RandomLong, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLong } GroupPatrol(Enemy, Multi2way, DateTime.Seconds(0)) Multi2Longrange() end) end Multi2Demotruck = function() Multi2way = { Multi2move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Unitentry = Utils.Random(Multi2entry) Enemynuke = Actor.Create("dtrk", true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { Enemynuke } MovePatrol(Enemy, Multi2way, DateTime.Seconds(0)) Multi2Demotruck() end) end -- Multi3 Multi3Infantry = function() Multi3way = { Multi3move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi3entry) RandomInfantry = Utils.Random(AllInfantry) EnemyInfantry = Actor.Create(RandomInfantry, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyInfantry } GroupPatrol(Enemy, Multi3way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi3Infantry() end) end Multi3Vehicle = function() Multi3way = { Multi3move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Unitentry = Utils.Random(Multi3entry) RandomLight = Utils.Random(LightVehicles) EnemyLight = Actor.Create(RandomLight, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLight } GroupPatrol(Enemy, Multi3way, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Multi3Vehicle() end) end Multi3Tank = function() Multi3way = { Multi3move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi3entry) RandomTank = Utils.Random(Tanks) EnemyTank = Actor.Create(RandomTank, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyTank } GroupPatrol(Enemy, Multi3way, DateTime.Seconds(0)) Multi3Tank() end) end Multi3Longrange = function() Multi3way = { Multi3move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(10, 20)), function() Unitentry = Utils.Random(Multi3entry) RandomLong = Utils.Random(Longrange) EnemyLong = Actor.Create(RandomLong, true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { EnemyLong } GroupPatrol(Enemy, Multi3way, DateTime.Seconds(0)) Multi3Longrange() end) end Multi3Demotruck = function() Multi3way = { Multi3move.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southmove.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Unitentry = Utils.Random(Multi3entry) Enemynuke = Actor.Create("dtrk", true, { Location = Unitentry.Location + CVec.New(0, Utils.RandomInteger(-1, 1)), Owner = Enemys }) Enemy = { Enemynuke } MovePatrol(Enemy, Multi3way, DateTime.Seconds(0)) Multi3Demotruck() end) end -- Reinforcements ReinforceInfantry = function() Rndenemywaypoint = Utils.Random(Enemywaypoints) Reinfway = { Rndenemywaypoint.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } RandomInfantry = Utils.Random(AllInfantry) ReinfInfantry = Actor.Create(RandomInfantry, true, { Location = Reinfentry.Location + CVec.New(0, Utils.RandomInteger(0, 74)), Owner = Friends }) Reinf = { ReinfInfantry } GroupPatrol(Reinf, Reinfway, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(1, 20)), function() ReinforceInfantry() end) end ReinforceVehicle = function() Rndenemywaypoint = Utils.Random(Enemywaypoints) Reinfway = { Rndenemywaypoint.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } RandomVehicle = Utils.Random(LightVehicles) ReinfVehicle = Actor.Create(RandomVehicle, true, { Location = Reinfentry.Location + CVec.New(0, Utils.RandomInteger(0, 74)), Owner = Friends }) Reinf = { ReinfVehicle } GroupPatrol(Reinf, Reinfway, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(1, 20)), function() ReinforceVehicle() end) end ReinforceTanks = function() Rndenemywaypoint = Utils.Random(Enemywaypoints) Reinfway = { Rndenemywaypoint.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } RandomTanks = Utils.Random(Tanks) ReinfTanks = Actor.Create(RandomInfantry, true, { Location = Reinfentry.Location + CVec.New(0, Utils.RandomInteger(0, 74)), Owner = Friends }) Reinf = { ReinfTanks } GroupPatrol(Reinf, Reinfway, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(1, 20)), function() ReinforceTanks() end) end ReinforceLongrange = function() Rndenemywaypoint = Utils.Random(Enemywaypoints) Reinfway = { Rndenemywaypoint.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Northenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)), Southenemy.Location + CVec.New(Utils.RandomInteger(-3, 3), Utils.RandomInteger(-3, 3)) } RandomLongrange = Utils.Random(Longrange) ReinfLongrange = Actor.Create(RandomLongrange, true, { Location = Reinfentry.Location + CVec.New(0, Utils.RandomInteger(0, 74)), Owner = Friends }) Reinf = { ReinfLongrange } GroupPatrol(Reinf, Reinfway, DateTime.Seconds(0)) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(1, 20)), function() ReinforceLongrange() end) end GroupPatrol = function(units, waypoints, delay) local i = 1 local stop = false Utils.Do(units, function(unit) Trigger.OnIdle(unit, function() if stop then return end if unit.Location == waypoints[i] then local bool = Utils.All(units, function(actor) return actor.IsIdle end) if bool then stop = true i = i + 1 if i > #waypoints then i = 1 end Trigger.AfterDelay(delay, function() stop = false end) end else unit.AttackMove(waypoints[i]) end end) end) end MovePatrol = function(units, waypoints, delay) local i = 1 local stop = false Utils.Do(units, function(unit) Trigger.OnIdle(unit, function() if stop then return end if unit.Location == waypoints[i] then local bool = Utils.All(units, function(actor) return actor.IsIdle end) if bool then stop = true i = i + 1 if i > #waypoints then i = 1 end Trigger.AfterDelay(delay, function() stop = false end) end else unit.Move(waypoints[i]) end end) end) end EnemysIncome = function() --Multi0 if Multi0 ~= nil then -- newactor = Actor.Create("fact", true, { Location = Multi0base.Location, Owner = Multi0 }) Multi0Infantry() Multi0Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 30)), function() Multi0Vehicle() Multi0Infantry() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Multi0Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi0Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi0Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(100, 130)), function() Multi0Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(240, 300)), function() Multi0Demotruck() end) if Map.LobbyOption("difficulty") == "normal" then Multi0Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi0Tank() end) elseif Map.LobbyOption("difficulty") == "hard" then Multi0Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi0Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi0Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(200, 250)), function() Multi0Demotruck() end) end end --Multi1 if Multi1 ~= nil then -- newactor = Actor.Create("fact", true, { Location = Multi1base.Location, Owner = Multi1 }) Multi1Infantry() Multi1Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 30)), function() Multi1Vehicle() Multi1Infantry() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Multi1Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi1Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi1Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(100, 130)), function() Multi1Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(240, 300)), function() Multi1Demotruck() end) if Map.LobbyOption("difficulty") == "normal" then Multi1Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi1Tank() end) elseif Map.LobbyOption("difficulty") == "hard" then Multi1Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi1Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi1Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(200, 250)), function() Multi1Demotruck() end) end end --Multi2 if Multi2 ~= nil then -- newactor = Actor.Create("fact", true, { Location = Multi2base.Location, Owner = Multi2 }) Multi2Infantry() Multi2Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 30)), function() Multi2Vehicle() Multi2Infantry() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Multi2Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi2Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi2Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(100, 130)), function() Multi2Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(240, 300)), function() Multi2Demotruck() end) if Map.LobbyOption("difficulty") == "normal" then Multi2Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi2Tank() end) elseif Map.LobbyOption("difficulty") == "hard" then Multi2Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi2Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi2Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(200, 250)), function() Multi2Demotruck() end) end end --Multi3 if Multi3 ~= nil then -- newactor = Actor.Create("fact", true, { Location = Multi3base.Location, Owner = Multi3 }) Multi3Infantry() Multi3Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 30)), function() Multi3Vehicle() Multi3Infantry() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(30, 60)), function() Multi3Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi3Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi3Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(100, 130)), function() Multi3Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(240, 300)), function() Multi3Demotruck() end) if Map.LobbyOption("difficulty") == "normal" then Multi3Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi3Tank() end) elseif Map.LobbyOption("difficulty") == "hard" then Multi3Infantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(50, 80)), function() Multi3Tank() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(70, 100)), function() Multi3Longrange() end) Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(200, 250)), function() Multi3Demotruck() end) end end end WorldLoaded = function() Enemys = Player.GetPlayer("Enemys") Friends = Player.GetPlayer("Friends") Multi0 = Player.GetPlayer("Multi0") Multi1 = Player.GetPlayer("Multi1") Multi2 = Player.GetPlayer("Multi2") Multi3 = Player.GetPlayer("Multi3") EnemysIncome() Trigger.AfterDelay(DateTime.Seconds(3), function() Media.DisplayMessage("Commanders defend The Mainbases against the enemy forces.\nBuild engouh defenses to save our base", "General", HSLColor.Blue) Trigger.AfterDelay(DateTime.Seconds(7), function() Media.DisplayMessage("Reinforcements will arrive in 5 minutes.", "General", HSLColor.Blue) end) end) Trigger.AfterDelay(DateTime.Seconds(300), function() Media.DisplayMessage("You made a good job so far hold on Reinforcements will arrive soon", "General", HSLColor.Blue) ReinforceInfantry() ReinforceInfantry() ReinforceVehicle() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(15, 20)), function() ReinforceVehicle() ReinforceTanks() ReinforceInfantry() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 30)), function() ReinforceTanks() ReinforceTanks() ReinforceLongrange() Trigger.AfterDelay(DateTime.Seconds(Utils.RandomInteger(20, 40)), function() ReinforceTanks() ReinforceTanks() ReinforceLongrange() ReinforceTanks() ReinforceTanks() ReinforceLongrange() ReinforceLongrange() end) end) end) end) end