Diskussion:DEFAULT: Unterschied zwischen den Versionen

Aus Eressea
Zur Navigation springenZur Suche springen
(Was DEFAULT eigentlich macht)
 
K (→‎Der Befehl DEFAULT: Kurze Befehle gehen auch als Default; In der Anleitung lieber keine Abkürzungen, außer im entsprechenden Kapitel)
Zeile 26: Zeile 26:
== Der Befehl DEFAULT ==
== Der Befehl DEFAULT ==


Der Befehl DEFAULT ändert dieses Verhalten, indem die Defaultbefehle, die vom Server zurückkommen verändert werden. Wenn die Einheit einen DEFAULT-Befehl bekommen hat, werden ihre '''langen''' Befehle nicht in die Vorlage übernommen. Lange Kommentare und kurze @-Befehle werden dagegen übernommen. -- VERIFIZIEREN!
Der Befehl DEFAULT ändert dieses Verhalten, indem die Defaultbefehle, die vom Server zurückkommen verändert werden. Wenn die Einheit einen DEFAULT-Befehl bekommen hat, werden ihre '''langen''' Befehle nicht in die Vorlage übernommen. Lange Kommentare und kurze @-Befehle werden dagegen übernommen. Die gegebenen Befehle werden dabei bis zu einem gewissen Grade validiert. Ungültige Befehle werden also nicht übernommen. Diese Prüfung hat jedoch Grenzen, es ist besser, sich nicht darauf zu verlassen.
Man kann auch kurze Befehle mit dem Befehl DEFAULT einfügen. Die gegebenen Befehle werden dabei bis zu einem gewissen Grade validiert. Ungültige Befehle werden also nicht übernommen. Diese Prüfung hat jedoch Grenzen, es ist besser, sich nicht darauf zu verlassen.




Zeile 33: Zeile 32:
   EINHEIT abc
   EINHEIT abc
   ; diese Woche nur 10
   ; diese Woche nur 10
   kAufe 10 Bals
   Kaufe 10 Balsam
   VERKAUFE 100 Öl
   VERKAUFE 100 Öl
   // nächste Woche lernen
   // nächste Woche lernen

Version vom 17. August 2022, 15:17 Uhr

Entwurf für Defaultbefehle

Nachdem ich meine Befehle eingeschickt habe und der Server die Auswertung erstellt hat, kommen für jede Einheit bestimmte Befehle zurück. Das sind die Defaultbefehle. Sie werden in der nächsten Woche ausgeführt, falls ich für die Einheit keine Befehle einschicke. Die Defaultbefehle bekommt man mit dem Report als Textdatei (auch Befehlsvorlage genannt) zugeschickt, falls man sie nicht mit OPTION VORLAGE NICHT abgeschaltet hat. Außerdem sind sie im Computerreport (CR) enthalten. Der NR enthält immer nur den ersten langen Defaultbefehl. Man kann dort also nicht alle Defaultbefehle sehen.

In die Defaultbefehle einer Einheit werden normalerweise alle langen Befehle übernommen. Außerdem alle //-Kommentare und alle Befehle, die mit @ beginnen. Die Schreibweise wird dabei möglicherweise standardisiert.

Eingeschickte Befehle:

 EINHEIT abc
 ; diese Woche nur 10
 kAufe 10 Bals
 VERKAUFE 100 Öl
 // nächste Woche mehr Balsam kaufen
 @GIB xyz ALLES Balsam ; Transporter
 GIB abc 100 Silber
 REKRUTIERE 1

Defaultbefehle der nächsten Woche

 EINHEIT abc
 KAUFE 10 Balsam
 VERKAUFE 100 Öl
 // nächste Woche mehr Balsam kaufen
 @GIB xyz ALLES Balsam ; Transporter

Was passiert, wenn die Einheit illegalerweise mehrere lange Befehle bekommen hat (zum Beispiel LERNE und ARBEITE), ist übrigens nicht genau definiert. Das Gleiche gilt für sonstige ungültige Befehle.

Der Befehl DEFAULT

Der Befehl DEFAULT ändert dieses Verhalten, indem die Defaultbefehle, die vom Server zurückkommen verändert werden. Wenn die Einheit einen DEFAULT-Befehl bekommen hat, werden ihre langen Befehle nicht in die Vorlage übernommen. Lange Kommentare und kurze @-Befehle werden dagegen übernommen. Die gegebenen Befehle werden dabei bis zu einem gewissen Grade validiert. Ungültige Befehle werden also nicht übernommen. Diese Prüfung hat jedoch Grenzen, es ist besser, sich nicht darauf zu verlassen.


Eingeschickte Befehle:

 EINHEIT abc
 ; diese Woche nur 10
 Kaufe 10 Balsam
 VERKAUFE 100 Öl
 // nächste Woche lernen
 @GIB xyz ALLES Balsam ; Transporter
 GIB abc 100 Silber
 REKRUTIERE 1
 DEFAULT "GIB 123 50 Silber; nicht vergessen"
 DEFAULT "LERNE Handel"
 DEFAULT "XXX" ; kein Befehl, wird nicht übernommen

Defaultbefehle der nächsten Woche

 EINHEIT abc
 GIB 123 50 Silber; nicht vergessen
 LERNE Handel
 // nächste Woche lernen
 @GIB xyz ALLES Balsam ; Transporter

Der Befehl NACH

Der NACH-Befehl spielt eine besondere Rolle: Er wird nicht in die Vorlage übernommen. Stattdessen werden die langen Befehle übernommen, die die Einheit in der letzten Woche in der Vorlage hatte, allerdings nur lange Befehle.

Defaultbefehle

 LERNE Reiten
 @GIB 0 10 Silber
 // no comment

Eingeschickte Befehle

 NACH o

Defaultbefehle der nächsten Woche

 LERNE Reiten

Was passiert, wenn sowohl NACH als auch DEFAULT im Spiel ist?

Vorlage:

 ARBEITE
 // jetzt nach westen

Eingeschickte Befehle

 DEFAULT "LERNE Ausdauer"
 // nun lernen
 NACH w

Defaultbefehle der nächsten Woche

 LERNE Ausdauer
 // nun lernen

DEFAULT löscht also auch hier die langen Defaultbefehle und setzt sie neu.