scripting:tutorials:level3:armies
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
scripting:tutorials:level3:armies [2025/07/11 14:00] – [Funktionen zum Armeestatus] fritz_98 | scripting:tutorials:level3:armies [2025/07/11 14:55] (aktuell) – [Beispiel für komplexe Armeesteuerung] fritz_98 | ||
---|---|---|---|
Zeile 332: | Zeile 332: | ||
=====Beispiel für komplexe Armeesteuerung===== | =====Beispiel für komplexe Armeesteuerung===== | ||
- | Wir wollen die Status-, Steuerungs- und Spawnfunktionen, | + | Wir wollen die Status-, Steuerungs- und Spawnfunktionen, |
Um die Armeesteuerung zu demonstrieren, | Um die Armeesteuerung zu demonstrieren, | ||
Zeile 359: | Zeile 359: | ||
* Zwei Banditentürme mit den Namen ''" | * Zwei Banditentürme mit den Namen ''" | ||
* Ein '' | * Ein '' | ||
+ | |||
+ | Damit dieser Artikel nicht mit Lua-Code überquillt, | ||
+ | |||
+ | Wichtig sind insbesondere folgende Aspekte: | ||
+ | |||
+ | ===Definition der Zustände=== | ||
+ | Wir nummerieren die Zustände einer Armee durch, sodass sie im Skript besser lesbar sind und beim Programmieren Fehler vermieden werden. Dafür definieren wir ein globales Table, das aussagekräftige Namen verwendet: | ||
+ | <code lua> | ||
+ | ArmyStates = { | ||
+ | Defense = 1, | ||
+ | Offense = 2, | ||
+ | Attack = 3 | ||
+ | } | ||
+ | </ | ||
+ | In der Kontrollfunktion für die Crawford-Armee prüfen wir dann immer zuerst, in welchem Zustand sich die Armee befindet, fragen dann ab, ob ein Zustandsübergang möglich ist und führen anschließend die dem Zustand zugehörige Aktion aus. | ||
+ | |||
+ | ===Zusätzliche Parameter im Army-Table=== | ||
+ | Für beide Armeen brauchen wir zusätzliche Parameter, die über die [[scripting: | ||
+ | <code lua> | ||
+ | spawnDelay = 3, | ||
+ | spawnAmount = 2, | ||
+ | spawnCounter = 0, | ||
+ | spawnCycles = 12, | ||
+ | spawnLifelines = {" | ||
+ | </ | ||
+ | Diese Parameter müssen wir selbst in den jeweiligen eigenen Kontrollfunktionen verwenden - sie haben keinen Einfluss auf die vom Spiel bereitgestellten Funktionen. | ||
+ | |||
+ | ===Nur eingeschränkt zum Copy-Paste geeignet=== | ||
+ | Die Kontrollfunktionen, | ||
+ | |||
+ | ====Beispielmap von Play4Fun==== | ||
+ | |||
+ | Play4Fun hat ebenfalls eine Karte erstellt, die komplexe Armeesteuerung demonstriert. Wenn du dir Armeeverhalten anschauen möchtest, das über den Rahmen dieses Wikis hinaus geht, findest du hier den Downloadlink: | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | Im nächsten Kapitel wird beschrieben, | ||
+ | |||
+ | [[ scripting: | ||
+ | [[ scripting: | ||
scripting/tutorials/level3/armies.1752242436.txt.gz · Zuletzt geändert: 2025/07/11 14:00 von fritz_98