User Tools

Site Tools


2drts_messages

2DRTS Prototyp Nachrichten

Client

Der Client übermittelt grundsätzlich die Befehle, die der Spieler vergeben möchte. Jeder Befehl bekommt vom Server eine id zugewiesen, über die er identifiziert werden kann, diese id muss übermittelt werden, wenn ein bestehender Befehl aktualisiert (Position oder Verhalten geändert) wird, anderenfalls auf -1 gesetzt, um einen neuen Befehl anzulegen. Für jeden Befehl können Modifikationen auch in die Zukunft gesetzt werden. Wenn der Spieler einen Button betätigt, werden die bisherigen Versionen der Befehle mit ihren Zukunftsversionen ersetzt (falls solche existieren), wobei es mehrere Zukunftsversionen geben kann, die bei mehrmaligem Druck des Buttons der Reihenfolge nach aktiviert werden. Die aktuelle Version des Befehls trägt jeweils die 0, die zukünftigen Versionen dann 1, 2 etc. Zukunftsversionen können nur für bestehende Befehle angelegt werden und benutzen dieselbe id.

Befehl Platoon-Sammelpunkt

Bewirkt, dass sich Einheiten am genannten Punkt zu einem Platoon sammeln bzw. das bestehende Platoon zu einem neuen Ort bewegen.

  • id - Nummer des Befehls (vom Server vergeben), oder -1 um einen neuen Befehl anzulegen
  • type - Einheitentyp, für den der Sammelbefehl gilt: 1 - Nahkämpfer, 2 - Fernkämpfer, 3 - Speerkämpfer. Eine Änderung dieses Parameters wird auf alle Versionen des Befehls angewendet
  • behaviour - Das Verhalten des Platoons: 0 - aggressiv, 1 - diszipliniert
  • pos - Position (x,y) des Sammelpunkts
  • size - Gewünschte Größe des Platoons. Eine Änderung dieses Parameters wird auf alle Versionen des Befehls angewendet
  • future - Position in der Zukunftsplanung, 0 ist die aktuelle Version des Befehls
Befehl Scout-Punkt

Bewirkt die Entsendung einiger Fernkämpfer an den genannten Punkt, um die Gegend im Auge zu behalten.

  • id - Nummer des Befehls
  • pos - Scouting-Position (x,y)
  • future - Position in der Zukunftsplanung
Befehl Ressourcenernte

Bewirkt, dass Arbeiter den angegebenen Ressourcenpunkt abbauen. Befehl kann nicht aktualisiert oder in die Zukunft geplant werden, nur gelöscht.

  • resource - Nummer des Ressourcenpunkts, der abgebaut werden soll
Befehl Hauptquartier reparieren

Weist die eigenen Arbeiter an, das Hauptgebäude zu reparieren.

Befehl löschen

Löscht den Befehl mit der angegebenen id.

  • id - Nummer des zu löschenden Befehls
  • future - Zukunftsversion, die zu löschen ist
Einheiten-Bauauftrag

Erteilt einen Auftrag, ein Kontigent des genannten Einheitentyps zu bauen.

  • type - Einheitentyp: 0 - Arbeiter, 1 - Nahkämpfer, 2 - Fernkämpfer, 3 - Speerkämpfer
Bauauftrag abbrechen

Bricht den genannten Bauauftrag wieder ab.

  • id - Nummer des Bauauftrags (von Server festgelegt)
Zukunftsplanung weitersetzen

Setzt die Zukunftsplanung um einen Schritt weiter. Für alle Befehle mit Zukunftsversionen wird die Version n des Befehls durch die Version n+1 ersetzt. Die derzeit gültige Version des Befehls wird also gelöscht, und die Zahl der Zukunftsversionen verringert sich um 1.

Server

Der Server informiert die Clients über den aktuellen Stand des Spielgeschehens. Informationen zu Einheitenverbänden, von Spielern gegebene Befehle etc. sind grundsätzlich mit einer id versehen, über die sie identifiziert werden. ids, die der Client schon kennt, muss er aktualisieren, ansonsten handelt es sich um einen neuen Verband/Befehl. Informationen werden immer dann gesendet, wenn sich der Status ändert.

Spielernummer

Wird versandt, wenn alle Spieler verbunden sind und informiert den Spieler über seine Spielernummer. Der Spieler belegt dann auch die entsprechende Startposition im Level.

  • player - Nummer des Spielers, >= 0.
Status Hauptgebäude

Liefert aktuelle Informationen zum Hauptgebäude eines Spielers.

  • player - Nummer des Spielers, dessen Hauptgebäude gemeint ist
  • hp - Aktuelle Hitpoints des Hauptquartiers
  • max_hp - Maximale Hitpoints des Hauptquartiers
Vorhandene Ressourcen

Informiert den Client über die verfügbaren Ressourcen des betreffenden Spielers.

  • player - Nummer des Spielers.
  • resources - Menge der verfügbaren Ressourcen.
Einheitenzahl und Einheitenlimit

Informiert den Client über die Einheiten und das Einheitenlimit des betreffenden Spielers.

  • player - Nummer des Spielers.
  • num_workers - Anzahl der Arbeiter, die der Spieler aktuell besitzt.
  • num_archers - Anzahl der Fernkämpfer, die der Spieler aktuell besitzt.
  • num_warriors - Anzahl der Nahkämpfer, die der Spieler aktuell besitzt.
  • num_spears - Anzahl der Speerkämpfer, die der Spieler aktuell besitzt.
  • limit - Die maximale Anzahl Einheiten, die der Spieler aktuell haben kann.
Einheitenverband

Beschreibt einen Verband von Einheiten, der auf der Karte unterwegs ist. Falls die ID neu ist, muss der Client einen neuen Verband anlegen, anderenfalls den bestehenden aktualisieren. Eine Nachricht mit size==0 bedeutet die Auflösung dieses Verbands.

  • id - Eine Nummer zum Identifizieren des Verbands
  • player - Spieler, dem der Verband gehört
  • pos - Tupel (x,y) mit den aktuellen Koordinaten des Verbands auf der Map
  • size - Anzahl Einheiten im Verband
  • type - Typ der Einheiten: 0 - Arbeiter, 1 - Nahkämpfer, 2 - Fernkämpfer, 3 - Speerkämpfer
Angriff auf Einheitenverband

Signalisiert, dass ein Einheitenverband einen anderen Verband angreift. Im Prototypen wird der angegriffene Verband einfach kontinuierlich Schaden nehmen, entsprechend der Größe der Verbände und der Einheitentypen. Der Client kann die laufende Attacke also irgendwie symbolisieren.

  • id - Nummer des angreifenden Verbands
  • target - Nummer des angegriffenen Verbands, -1 um den Angriff zu löschen
Angriff auf Hauptquartier

Signalisiert, dass ein Einheitenverband das Hauptquartier eines Spielers angreift.

  • id - Nummer des angreifenden Verbands
  • target - Nummer des Spielers, dessen Hauptquartier angegriffen wird, -1 um den Angriff zu löschen
Befehl Platoon-Sammelpunkt

Informiert über einen vom Spieler gesetzten Platoon-Sammelpunkt.

  • id - Nummer des Befehls (vom Server vergeben), oder -1 um einen neuen Befehl anzulegen
  • player - Spieler, von dem der Befehl gegeben wurde
  • type - Einheitentyp, für den der Sammelbefehl gilt: 1 - Nahkämpfer, 2 - Fernkämpfer, 3 - Speerkämpfer
  • behaviour - Das Verhalten des Platoons: 0 - aggressiv, 1 - diszipliniert
  • pos - Position (x,y) des Sammelpunkts
  • size - Gewünschte Größe des Platoons
  • future - Position in der Zukunftsplanung, 0 ist die aktuelle Version des Befehls
Befehl Scout-Punkt

Informiert über einen vom Spieler gesetzten Scout-Punkt.

  • id - Nummer des Befehls
  • player - Spieler, von dem der Befehl gegeben wurde
  • pos - Scouting-Position (x,y)
  • future - Position in der Zukunftsplanung
Befehl Ressourcenernte

Informiert über einen Erntebefehl eines Spielers.

  • id - Nummer des Befehls
  • player - Spieler, von dem der Befehl gegeben wurde
  • resource - Nummer des Ressourcenpunkts, der abgebaut werden soll
Befehl Hauptquartier reparieren

Informiert über einen Reparaturauftrag eines Spielers.

  • id - Nummer des Befehls
  • player - Spieler, von dem der Befehl gegeben wurde
Befehl löschen

Informiert über einen nicht länger existierenden Befehl.

  • id - Nummer des zu löschenden Befehls
  • future - Zukunftsversion, die zu löschen ist
Bauauftrag

Informiert über einen Bauauftrag eines Spielers.

  • id - Nummer des Bauauftrags
  • player - Spieler, der den Auftrag gegeben hat
  • type - Einheitentyp des Bauauftrags
  • queue - Position in der Auftrags-Queue. Ein Bauauftrag erscheint in der queue an genau einer Stelle. Wird die Position aktualisiert, dann wird der Eintrag an der vorigen Position implizit entfernt.
  • progress - Fortschritt des Bauauftrags, zwischen 0 und 1
2drts_messages.txt · Last modified: 2015/08/23 13:59 (external edit)