Aus meiner Map Canyan:
Code:
function Createb1()
b1 = {
-- Normale Armee Daten
id = 1,
player = 2,
strength = 8,
rodeLength = 8000,
position = GetPosition("b1"),
-- Daten für den SpawnGenerator
spawnTypes = {
{Entities.CU_BanditLeaderSword2, 8},
{Entities.CU_BanditLeaderBow1, 4},
{Entities.PV_Cannon3, 1},
},
spawnPos = GetPosition("b1"),
spawnGenerator = "t1",
endless = true,
respawnTime = 30,
refresh = true,
maxSpawnAmount = 2,
noEnemy = true,
noEnemyDistance = 50,
-- Daten für diese Control-Funktion
retreatStrength = 3, -- Wenn nur noch 2 Hauptmänner existieren, dann urück zur Basis laufen...
baseDefenseRange = 1000, -- ...und sich nur innerhalb dieses Radius bewegen und verteidigen
outerDefenseRange = 8000, -- Wenn stark genug, dann bewegt sich die Armee offensiv in diesem Radius
AttackAllowed = true, -- Die Armee darf auch angreifen...
pulse = true, -- und dabei auch mal die Formation auflösen.
}
SetupAITroopSpawnGenerator("b1", b1)
StartSimpleJob("Controlb1")function Controlb1()
-- Nur alle 10 Sekunden Befehle erteilen, das reicht
if Counter.Tick2("Controlb1", 5) then
-- Wenn die Armee noch Soldaten hat, dann die Befehle erteilen
if IsAlive(t1) then
TickOffensiveAIController(b1)
-- Ansonsten prüfen, ob überhaupt noch eine Armee entstehen kann. Wenn der Spawn Generator kaputt ist, brauchen wir den Job auch nicht mehr
elseif IsAITroopGeneratorDead(t1) then
return true
end
end
end
end
Lesezeichen