Army
» Siedler Map Source Forum » Siedler DEdK Script Forum » Army
Seiten: 1
Der_Deutsche
|
#1 11.10.2018 20:57 Beiträge: 349 |
Army
function BabarenArmy() armyOne = { player = 3, id = 1, strength = 2, position = GetPosition("EnemySpawn1"), rodeLength = 40000 } SetupArmy(armyOne) local troopDescription = { maxNumberOfSoldiers = 4, minNumberOfSoldiers = 0, experiencePoints = MEDIUM_EXPERIENCE, leaderType = Entities.CU_Barbarian_LeaderClub1 } for i = 1, 2 do EnlargeArmy(armyOne, troopDescription) end StartSimpleJob("ControlArmyOne") StartSimpleJob("BabarenIsDead") end function ControlArmyOne() if Counter.Tick2("ControlArmyOne", 10) then if IsDead(armyOne) then return true end FrontalAttack(armyOne) end end function BabarenDefend() armyTwo = { player = 3, id = 2, strength = 5, position = GetPosition("EnemySpawn1"), rodeLength = 10 } SetupArmy(armyTwo) local troopDescription1 = { maxNumberOfSoldiers = 4, minNumberOfSoldiers = 0, experiencePoints = MEDIUM_EXPERIENCE, leaderType = Entities.CU_Barbarian_LeaderClub1, } local troopDescription2 = { maxNumberOfSoldiers = 4, minNumberOfSoldiers = 0, experiencePoints = MEDIUM_EXPERIENCE, leaderType = Entities.CU_BanditLeaderBow1, } for i = 1, 2 do EnlargeArmy(armyTwo, troopDescription1) EnlargeArmy(armyTwo, troopDescription2) end StartSimpleJob("ControlArmyTwo") StartSimpleJob("BabarenIsDead2") end function ControlArmyTwo() if Counter.Tick2("ControlArmyTwo", 10) then if IsDead(armyTwo) then return true end Defend(armyTwo) end end function BabarenIsDead() if not IsDead("EnemyHQ") and IsDead(armyOne) then BabarenArmy() --elseif IsDead("EnemyHQ") and IsDead(armyOne) then return true end end function BabarenIsDead2() if not IsDead("EnemyHQ") and IsDead(armyTwo) then BabarenDefend() --elseif IsDead("EnemyHQ") and IsDead(armyOne) then return true end end
Heyy, kann mir jemand bei dem Fehler helfen: Und zwar 1. Defend Army greift trotzdem an und 2. bei dem Tod der Army respawnt sie nicht
____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"
Updatelösungen Siedler 5 Patch 1.06
Creators Update Lösung Windows 10
Siedler 5
BalistiK
|
#2 11.10.2018 21:33 Beiträge: 70 |
Zum 1. Punkt:
Möglicherweise hast du irgendwo bereits einen Aufruf von
MapEditor_SetupAI( _id, _strenght, _range, _techlevel, "player2HQ", _agressive, 0_peacetime );
Einen Wert für _strenght übergeben. Demensprechend kümmert sich dann die KI darum, da die ID deiner Armee in dem bereich liegt.
Zum 2. Punkt:
Ich weiß spontan nicht warum der Fehler auftritt, aber ich würde die Kontrolle der Armee in eine Funktion packen:
function ControlArmy() if Counter.Tick2("ControlArmy", 10) then if not IsAlive(army) then if not IsDead("EnemyHQ") then -- doSomething() CreateArmy() return true else -- doSomething() return true end else Defend(army) end end end
Wer mehr weiß bitte melden c:
Peter-FS
|
#3 11.10.2018 22:15 Beiträge: 1086 |
Zeitverzögerung
Hi,
kann sein das deine armyOne noch nicht erstellt wurde, das dauert ein bisschen, soweit ich mich erinnern kann.
Mach doch mal einen Counter.Tick2 in die Abfrage ( "BabarenIsDead" ) rein. Es reicht sicher, wenn du alle 5 Sek. prüfst, ob die Armee noch vorhanden ist.
Gruß Peter
____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!
Peter-FS
|
#4 11.10.2018 22:18 Beiträge: 1086 |
Defend
Hi,
zu Punkt 2
Ändere mal die ID der Armee auf eine unbenutzte: 0,7,8,9
Die werden von der KI nicht gesteuert.
Gruß Peter
____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!
Der_Deutsche
|
#5 12.10.2018 06:44 Beiträge: 349 |
Okey, abe das ergibt keinen Sinn, da es ein Simple Job ist. Wie kann das sein?
Edit: Ich werde mal die Controllarmy von Balistik versuchen sobald ich Zuhause bin
____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"
Updatelösungen Siedler 5 Patch 1.06
Creators Update Lösung Windows 10
Siedler 5
Der_Deutsche
|
#6 12.10.2018 06:48 Beiträge: 349 |
Oh checken gerade das du den 1. Punkt meintest 😂😂 Ja kann gut sein
____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"
Updatelösungen Siedler 5 Patch 1.06
Creators Update Lösung Windows 10
Siedler 5
Der_Deutsche
|
#7 12.10.2018 15:15 Beiträge: 349 |
Oje, hat doch mit meiner Methode funktioniert, ich war nur zu doof um zu bemerken das ich das EnemyHQ falsch benannt habe
____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"
Updatelösungen Siedler 5 Patch 1.06
Creators Update Lösung Windows 10
Siedler 5
Seiten: 1