Angehensweise der KI
» Siedler Map Source Forum » Siedler DEdK Script Forum » Angehensweise der KI
Seiten: 1
Shirhix
|
#1 12.08.2020 23:25 Beiträge: 9 |
Angehensweise der KI
Hallo Zusammen
Habe eine Frage bezüglich KI. Eine meiner drei KI hat ein Problem.
Sie möchte unbedingt unzählige Hauptmänner rekrutieren und ihre Priorität auch nur zur Ausbildung solcher setzen anstatt Soldaten anzuheuern.
Das Ergebnis sind Entity-Haufen vor den Kasernen. So stark sollte die Army eigentlich nicht werden, und ihre Aufgabe ist eigentlich auch nicht rumstehen und warten sondern das Land zu Patrouillieren.
Der Code der Army
setupArmyPlayer3Innards = function() ArmyPlayer3Innards = {} ArmyPlayer3Innards.player = 3 ArmyPlayer3Innards.id = 1 ArmyPlayer3Innards.strength = 13 ArmyPlayer3Innards.retreatStrength = 4 ArmyPlayer3Innards.position = GetPosition("ArmyPlayer3DefPos") ArmyPlayer3Innards.rodeLength = 1500 ArmyPlayer3Innards.AllowedTypes = { UpgradeCategories.LeaderSword, UpgradeCategories.LeaderHeavyCavalry, UpgradeCategories.LeaderHeavyCavalry, UpgradeCategories.LeaderBow, UpgradeCategories.LeaderBow, Entities.PV_Cannon4, Entities.PV_Cannon4, } ArmyPlayer3Innards.Attack = false ArmyPlayer3Innards.AttackAllowed = true ArmyPlayer3Innards.beAggressive = true -- Setup army SetupArmy(ArmyPlayer3Innards) -- Army generator SetupAITroopGenerator("ArmyPlayer3Innards", ArmyPlayer3Innards) -- circle path local waypoints = { "Player3PointB", "Player3PointC", "Player3PointM", "Player3PointL", "Player3PointN", "Player3PointJ", "Player3PointI", "Player3PointH", "Player3PointP", "Player3PointF", } -- waypoints FeedArmyWithWaypoints(ArmyPlayer3Innards.player, ArmyPlayer3Innards.id, "Player3InnardsWaypointCallback", waypoints) end Player3InnardsWaypointCallback = function(_waypointId) return 1 end
vor allem diese Army hat das Problem, die anderen zwei scheinen vernünftig zu handeln.
Ich dachte die strength variable steht für die Anzahl Truppen die Army haben soll. Ist das nicht so?
Oder hat Spieler 3 einfach zu viele Ressourcen? Sie produzieren sehr langsam, aber eben Hauptmänner anstatt Soldaten.
____________________
skripting noob! Bitte nicht weh tun.
Play4FuN
|
#2 13.08.2020 11:25 Beiträge: 704 |
Wenn ich mich recht erinnere, ist die maximale Stärke einer Armee auf 8 begrenzt. Ändere mal den Wert und schau, ob das schon was ändert...
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
mcb
|
#3 13.08.2020 17:56 Beiträge: 1472 |
Ich glaube das maximum war 4, mit maximal 8 Armeen.
Und wenn die "KI" nur Hauptmänner produziert hat sie definitiv zu wenig Resourcen.
Play4FuN
|
#4 13.08.2020 23:17 Beiträge: 704 |
Zitat von mcb:
Ich glaube das maximum war 4, mit maximal 8 Armeen.
Denke maximal 9 oder 10 Armeen zu je maximal 8 Truppen.
Spielstärke ging bis 3 (?)
Zitat von mcb:
Und wenn die "KI" nur Hauptmänner produziert hat sie definitiv zu wenig Resourcen.
Nee, gibt da noch ein paar Fallstricke. Wenn du der KI einen Helden hinstellst, kann es auch sein, dass die mit der Rekrutierung komplett rumspinnt (irgendwie mit dem Zählen der Truppen durcheinander kommt oder so...).
____________________
LG Play4FuN
Siedler DEdK Mapping + Scripting Tutorials
totalwarANGEL
|
#5 14.08.2020 12:17 Beiträge: 2123 |
Versuche meinen Assistenten und du musst dich um nichts mehr kümmern. Ist dem Assistenten von AeK nachempfunden, kann aber wesentlich mehr.
Programm
Anleitung
KI-Spieler und Armeen werden mit einfachen Behavior erstellt. Erst die KI mit Reward_AI_CreateAIPlayer zu Beginn initialisieren und dann irgend wann später mit Reward_AI_CreateArmy die Armee(n) erstellen. Die Steuerung erfolgt über durchnummerierte Script Entities für Angriffsziele und Verteidigungsstellungen. Ist alles in der Anleitung beschrieben.
Die KI-Spieler können auch mehrere Punkte gleichzeitig angreifen, wenn sie genug Armeen haben.
Die Sieben Todsünden wurde mit dem Assistenten gebaut.
____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.
Dieser Beitrag wurde von totalwarANGEL am 14.08.2020 um 12:23 editiert.
Seiten: 1