(17.0) Der PHOST-Befehlsinterpreter
Der PHOST der Version 3.2.2.12
bietet den Spielern eine Möglichkeit, den aktuellen
Programmablauf zu beeinflussen. Ein Programmodul des PHOST, der
Befehlsinterpreter, wertet bestimmte Nachrichten der Spieler aus
und verändert die aktuellen Programmeinstellungen ohne direkte
Eingriffe am PHOST. Dieses Modul ermöglicht es den Spielern,
formelle Allianzen zu bilden und zu ändern, die Namen ihrer
Rassen abzufragen und zu ändern, sowie weitere entsprechende
Funktionen. Am PHOST kann eingestellt werden, welche Funktionen
für Spieler verfügbar sind.
Wichtig: Der PHOST funktioniert nicht zusammen mit dem
Computer-Spieler DOMINATE !
(17.1) Nachrichten an den Befehlsinterpreter des PHOST schicken
Um eine Nachricht an den
Befehlsinterpreter des PHOST zu schicken, benutzt der Spieler die
"write message" Funktion im Programmenü von Planets
zum erstellen und adressiert die Nachricht an sich selbst.
Erkennt der PHOST, daß Absender und Adressat der Nachricht
identisch sind, so wertet er den Inhalt als PHOST-Befehle aus.
Ist das erste nicht-Leerzeichen der Nachricht ein
"<", so bricht der Befehlsinterpreter sofort ab,
denn es könnte sich dann um eine Universal-Nachricht des
Spielers handeln (die ja immer mit "<<< Universal
Message >>>" beginnt), die dann als normale
Nachricht zugestellt wird. Spieler können sich also auch selbst
Nachrichten schicken, die dann lediglich mit einem
"<" beginnen müssen.
Mit einem Zug können beliebig viele Befehlsnachrichten von einem
Spieler an den PHOST geschickt werden. Eine Befehlsnachricht kann
mehrere völlig verschiede PHOST-Befehle enthalten. Leerzeilen
werden ignoriert.
Jede Befehlszeile ist wie folgt aufgebaut:
Befehl [Parameter] [Parameter] ....
wobei "Befehl" einer der
gültigen Befehle des PHOST ist. Die Anzahl der vom PHOST
akzeptierten Parameter variiert. Wird eine falsche Anzahl von
Parametern angegeben, so ignoriert der PHOST den Befehl und
schickt mit dem nächsten Zug eine Fehlermeldung an den Spieler
zurück. Unbekannte Befehle beantwortet der PHOST ebenfalls mit
einer Fehlermeldung an den Spieler.
Jeder Befehl muß vollständig in einer Zeile stehen. Ein Befehl
kann nicht über mehrere Zeilen verteilt werden. Parameter werden
jeweils durch mindestens ein Leerzeichen voneinander getrennt.
Eine Befehlszeile kann aus bis zu maximal 15 Zeichenketten
bestehen (Befehle und Parameter). Es gibt keine Sonderzeichen,
wie "" oder "/".
Die nachfolgenden Befehle sind derzeit auf dem PHOST verfügbar.
Die Befehle bewirken nichts, solange die entsprechenden
Funktionen am PHOST nicht freigegeben sind, so funktioniert der
Befehl "alliance" erst, nachdem "CPEnableAlliance
= ON" am PHOST konfiguriert wurde.
Diese Befehle können die Einstellungen des PHOST ändern. Dabei
können Dateien im Spieleverzeichnis des Host verändert werden,
niemals jedoch im Hauptverzeichnis des Host. Die jeweils durch
den Befehl möglichweise veränderten Dateien sind im Kopf der
ausführlichen Befehlsbeschreibung aufgeführt.
Befehl | Kurzform | Funktion |
---|---|---|
allies | a | Allianzen mit anderen Spielern schließen/aufheben |
bigtargets | b | mehr als 50 Ortungsmeldungen übertragen |
client | c | Client am PHOST identifizieren (nicht für Spieler!) |
extmission | e | erweiterte Mission starten |
give | g | Schiffe oder Planeten an andere Rassen übergeben |
language | l | Sprache der PHOST-Meldungen ändern |
mess | m | Nachrichten verschicken |
rumor | r | Gerüchte verbreiten |
racename | ra | Rassenname ändern |
send | s | Konfiguration des PHOST abfragen |
xtern | x | Schnittstelle zu externen Zubehörprogrammen |
(17.3) Der
"allies"-Befehl des PHOST
Befehl | "allies" |
Abkürzung | "a" |
Syntax | allies {Config R CP CP...} | {Add|Drop R R...} |
Aktivierung | CPEnableAllies |
geänderte Dateien | AUXDATA.HST |
Dieser Befehl erlaubt es Spielern,
formale Allianzen zu schließen (und zu brechen). Der PHOST
erlaubt es sogar, die Allianzen im Detail zu definieren.
Um eine Allianz zu schließen, schicken beide Seiten private
Nachrichten an sich selbst, in denen der jeweiligen Gegenseite
die vereinbarten Rechte angeboten werden. Diese Nachricht beginnt
mit einer Kommandozeile:
allies add <Nummer der Rasse> um eine Allianz zu schließen
allies drop <Nummer der Rasse> um eine Allianz zu beenden
Es ist möglich, mehrere Allianzen mit einer Kommandonachricht zu
bearbeiten. Dazu werden die Nummern der jeweiligen Rassen
gemeinsam, durch Leerzeichen voneinander getrennt, angegeben.
In der zweiten Zeile kann die Allianz dann definiert werden:
allies config [Nummer der Rasse] [Option]s [Option]p [Option]m
[Option]c [Option]v
Alle Optionen sind durch ein Leerzeichen getrennt. Mit
"+" wird eine Option gewährt, mit "-"
verweigert und mit "~ " auf Gegenseitigkeit angeboten.
Mögliche Optionen sind:
s | ship | der Verbündete kann meine Sternenbasen mit benutzen |
p | planet | der Verbündete kann meine Planeten mit benutzen |
m | mines | der Verbündete kann meine Minenfelder gefahrlos durchfliegen |
c | combat | in Kampfsituationen agieren meine Einheiten gemeinsam mit dem Verbündeten |
v | vision | der Verbündete erhält alle meine Ortungsergebnisse |
Die Optionen sollten in genau dieser Reihenfolge und vollständig angegeben werden.
Beispiel:
Die Föderation (Spieler 1) möchte den Cyborg eine Allianz
anbieten und ihm auf jeden Fall seine Ortungs-ergebnisse
zugänglich machen, sowie ihm auf Gegenseitigkeit zu erlauben,
Föderations-Minenfelder zu durch-fliegen und gemeinsame
Kampfhandlungen auszuführen. Dazu schickt die Föderation
folgende Nachricht an die Föderation:
allies add
6
allies config 6 -s -p ~ m ~ c +v
Mit dem nächsten Zug wird Spieler
6 (Cyborg) eine Meldung bekommen, in der ihm vom PHOST mitgeteilt
wird, daß die Föderation ihm eine Allianz angeboten hat und
welche Rechte ihm erteilt wurden.
(17.4) Der "bigtargets"-Befehl des PHOST
Befehl | "bigtargets" |
Abkürzung | "b" |
Syntax | bigtargets "Yes"/"No" |
Aktivierung | CPEnableBigTargets |
geänderte Dateien | PCONFIG.HST |
Mit diesem Kommando kann ein
Spieler einstellen, ob der PHOST ihm mehr als 50 Ortungsmeldungen
von Schiffen anderer Rassen in seinen künftigen .RST-Files
schicken soll oder nicht.
Warnung: Diese Option niemals aktivieren, wenn die eigenen
Programme nicht sicher damit umgehen können!
Normalerweise wird die Anzahl der Ortungsmeldungen vom Host auf
maximal 50 begrenzt. Das mit VGA-Planets v3.0 für DOS
ausgelieferten Zubehörprogramm UNPACK.EXE kann maximal 50
Ortungsmeldungen verarbeiten.
Für diese Option ist ein Programm wie VPUTIL ab Version 3.0 oder
VPUNPACK ab Version 3.0 erforderlich.
Win-Planets 3.5 ignoriert diese Option und entpackt nur die
ersten 50 Ortungsmeldungen.
Beispiel: | bigtargets y |
(17.5) Der
"client"-Befehl des PHOST
Befehl | "client" |
Abkürzung | "c" |
Syntax | client [Identifikation] |
Aktivierung | immer aktiv |
geänderte Dateien | REG.LOG |
Dieser Befehl ist nicht für den
Gebrauch durch Spieler gedacht, sondern zur Identifizierung von
Client-Programmen am PHOST. Ist das vom Spieler benutzte Programm
dem PHOST bekannt, so kann dieser Einstellungen vornehmen, um
bekannte Fehler zu umgehen oder spezielle Sonderfunktionen zu
unterstützen.
Bekommt der PHOST einen Client-Befehl, so fügt er den Eintrag in
der REG.LOG-Datei ein.
Nochmal, dieser Befehl ist nicht zur Benutzung durch Spieler
gedacht. Es wird erwartet, daß ein Client-Programm direkt eine
Meldung in die Liste der ausgehenden Nachrichten in der
.TRN-Datei einfügt.
Der PHOST erkennt derzeit alle Client-Namen, die mit
"VPA" beginnen, als "VGA-Planets Assistant"
von Alex Ivlev.
Beispiel: | client
VPA 3.49a c Yoyodyne 1.11 |
(17.6) Der
"extmission"-Befehl des PHOST
Befehl | "extmission" |
Abkürzung | "e" |
Syntax | extmission Schiff Missionscode [Intercept-Parameter [Tow-Parameter]] |
Aktivierung | immer aktiv |
geänderte Dateien | keine |
Dieser Befehl ist dafür gedacht,
Benutzern der DOS-Version 3.0 die erweiterten Missionen des PHOST
zugänglich zu machen. WinPlanets-Spieler können diese Missionen
über die "M.I.T."-Schnittstelle unter "ship
missions" erreichen.
Der "extmission"-Befehl benötigt immer mindestens zwei
Parameter. Die Nummer des Schiffes, dessen Mission geändert
werden soll, und die Nummer der erweiterten Mission. Die Nummern
der erweiterten Missionen, wie sie in der MISSION.INI-Datei
definiert sind (für WinPlanets-Spieler), beginnen normalerweise
mit 20 und gehen so weit, wie Missionen für den PHOST aktuell
definiert sind. Beachte, daß die Basisnummer der externen
Missionen am Host geändert werden kann, so daß sich ein
Spieler, der den "extmission"-Befehl verwenden möchte,
vorher die Basisnummer vom Host holen sollte.
Einige erweiterte Missionen benötigen zusätzliche Parameter.
Bei WinPlanets sind dies der "Intercept"- und der
"Tow"-Parameter. Beim PHOST folgen sie einfach nach der
Schiffs- und Missionsnummer. Sind nicht alle notwendigen
Parameter für eine angeforderte Mission angegeben, so wird der
"extmission"-Befehl nicht ausgeführt.
Dieser Weg zum Aufruf von erweiterten Missionen ist mit
Sicherheit nicht elegant, aber für die Spieler, die nicht
WinPlanets benutzen, stellt er den einzigen Weg dar, an diese
Missionen heranzukommen.
Beispiel: | extmission
123 20 ext 235 21 100 0 e 301 24 30 |
Liste der derzeit unterstützten
erweiterten Missionen des PHOST:
Code | Name der Mission | Intercept-Parameter | Tow-Parameter |
---|---|---|---|
20 | Torpedos bauen aus Fracht | - | - |
21 | Minenfeld legen | Anzahl der zu legenden Torpedos | Nummer der Eignerrasse |
22 | Web-Minenfeld legen | Anzahl der zu legenden Torpedos | Nummer der Eignerrasse |
23 | Torpedos aus Minenfeld sammeln | Anzahl der zu sammelnden Torpedos | - |
24 | Lade Mineralien und baue Torpedos | Anzahl der zu bauenden Torpedos | - |
25 | Geld entladen auf Planet | Geldmenge in MC | - |
26 | Torpedos auf Schiff transferieren | empfangendes Schiff | Anzahl Torpedos |
27 | Raumjäger auf Schiff transferieren | empfangendes Schiff | Anzahl Raumjäger |
28 | Geld auf Schiff transferieren | empfangendes Schiff | Geldmenge in MC |
(17.7) Der
"give"-Befehl des PHOST
Befehl | "give" |
Abkürzung | "g" |
Syntax | give {Ship|Planet} NNN [To] R |
Aktivierung | CPEnableGive |
geänderte Dateien | keine |
Dieser Befehl dient der Übergabe
von Schiffen oder Planeten an eine andere Rasse. Die beiden
Rassen müssen dazu nicht alliiert sein.
Die Übergabe erfolgt nur, wenn die nehmende Rasse mindestens ein
Schiff mit wenigstens einem Clan Kolonisten an Bord an der selben
Position wie das zu übergebende Objekt hat oder sich das zu
übergebende Objekt im Orbit um einen von der nehmenden Rasse
kontrollierten Planeten befindet.
Die Übergabe erfolgt sofort, d.h. nach der Auswertung der
.TRN-Dateien und bevor der Host gestartet wird, jedoch erst
nachdem alle "give"-Befehle gefunden wurden. Damit ist
es für zwei Rassen möglich, ihre Schiffe innerhalb eines Zuges
zu tauschen.
Der "give"-Befehl hat die gleiche Wirkung, wie der
Friendly Code "gs[N]".
Der Friendly Code "gs[N]" hat immer Vorrang vor dem
PHOST-Befehl "give".
Wird ein Schiff weggegeben, so wird sein Zielpunkt gelöscht (das
Schiff wird sich diese Runde nicht bewegen), seine Mission und
sein primärer Feind gelöscht und sein Friendly Code auf einen
Zufallswert gesetzt.
Wird ein Planet weggegeben, so wird sein Friendly Code zufällig
verändert. Befindet sich eine Basis über dem Planeten, so
werden alle Hüllen im Lager recycled und alle anstehende
Bauaufträge gelöscht.
Werden in einer Runde mehrere "give"-Befehle für ein
Objekt erteilt, so wird immer der letzte Befehl ausgeführt.
Der auf den Befehl "give" folgende Parameter muß
"ship" (Schiff) oder "planet" (Planet) sein.
Beide Wörter können abgekürzt werden, mindestens jedoch
"s" oder "p" sein. Der nächste Parameter
enthält die Nummer des Schiffes oder Planeten (1..500) Als
nächstes kann ein "to" (auf "t" kürzbar)
eingefügt werden. Der letzte Parameter enthält die Nummer der
Rasse, die das Schiff oder den Planeten bekommen soll. Mögliche
Werte sind hier 1 bis 11 (nicht "A" oder
"B").
Beispiele: | give
ship 123 to 5 g p 321 4 give sh 2 t 11 |
(17.8) Der
"language"-Befehl des PHOST
Befehl | "language" |
Abkürzung | "l" |
Syntax | language English / German / French / Spanish / Italian / Dutch |
Aktivierung | CPEnableLanguage |
geänderte Dateien | PCONFIG.HST |
Mit diesem Kommando kann ein Spieler die Sprache auswählen, in der er die Meldungen vom PHOST bekommt. Die derzeit unterstützten Sprachen sind "English", "German", "French", "Spanish", "Italian", und "Dutch".
Beispiel: | 1 ger |
(17.9) Der
"message"-Befehl des PHOST
Befehl | "message" |
Abkürzung | "m" |
Syntax | message {R [R R...] | Universal} |
Aktivierung | CPEnableMessage und AllowPlayerMessages |
geänderte Dateien | keine |
Dieser Befehl ermöglicht es dem
Spieler, eine Nachricht an eine frei wählbare Gruppe von anderen
Spielern zu schicken.
Der Befehl funktioniert genauso, wie das Absenden einer Nachricht
im Planets-Programm, nur das es hier möglich ist, die Zielgruppe
frei zu wählen, während Nachrichten beim Planets-Programm nur
an einzelne Spieler oder an alle geschickt werden können.
Die Parameter des "message"-Befehls sind die Nummern
der Völker von 1 bis 12. Beachte, daß die Nummern allein aus
Zahlen bestehen. Die Völker 10 und 11 sind NICHT als
"a" oder "b" definiert.
Als Sonderfall ist das Schlüsselwort "universal"
(kurz: "u") definiert und bezeichnet alle 11 Völker.
Die Nummer 12 definiert die HOST.LOG-Datei. Wenn der HostOp nach
dem Durchlauf des Host die HOST.LOG-Datei kontrolliert, dann wird
er als Einziger die Nachricht erhalten. Dies ist ein möglicher
Weg, eine Nachricht an den Host zu schicken.
Nummer | Rasse / Empfänger |
---|---|
1 | Spieler 1 - Die Solar Federation |
2 | Spieler 2 - Die Lizards |
3 | Spieler 3 - Die Birdmen |
4 | Spieler 4 - Die Fascists |
5 | Spieler 5 - Die Privateers |
6 | Spieler 6 - Die Cyborg |
7 | Spieler 7 - Die Crystals |
8 | Spieler 8 - Das Evil Empire |
9 | Spieler 9 - Die Robots |
10 | Spieler 10 - Die Rebels |
11 | Spieler 11 - Die Lost Colonies |
12 | Host - HOST.LOG-Datei |
u | universal - an alle Spieler |
Beachte; daß für diesen Befehl
sowohl "CPEnableMessage" als auch
"AllowPlayerMessages" aktiv sein müssen. Einzige
Ausnahme: Nachrichten an Volk 12 (den Host) sind auch ohne
aktives "AllowPlayerMessages" möglich.
Nachrichten, die mit diesem Befehl erzeugt werden, müssen nicht
mit "<" beginnen, wenn der Spieler auch zu den
Empfängern gehört, da sie nicht weiter durch den
Befehlsprozessor des PHOST laufen.
Beispiele: | mess
2 3 4 11 Hallo Freunde, nächste Runde gehts gegen die Fed Die Cyborgs |
(17.10) Der
"rumor"-Befehl des PHOST
Befehl | "rumor" oder "rumour" |
Abkürzung | "ru" |
Syntax | rumor {R [R R...] | Universal} |
Aktivierung | CPEnableRumor und AllowPlayerMessages |
geänderte Dateien | keine |
Dieser Befehl gleicht dem
"message"-Befehl bis auf eine Kleinigkeit. Der Absender
der Nachricht ist für den empfangenden Spieler nicht zu sehen.
Dieser Befehl kann benutzt werden, um anonyme Nachrichten
(Gerüchte) an einen oder mehrere Spieler zu schicken.
Denk daran, daß der Urheber des Gerüchtes unter gewissen
Umständen ermittelt werden kann. Da Nachrichten vom Host
grundsätzlich in der eingehenden Reihenfolge bearbeitet werden,
ist der Urheber eines Gerüchtes sehr deutlich zuzuordnen, wenn
er zunächst eine Universalnachricht abschickt, dann sein
Gerücht verbreitet und danach noch eine weitere
Universalnachricht verbreitet.
Dieser Befehl ist hauptsächlich dazu gedacht, das Spiel
interessanter zu gestalten, und nicht, die Anonymität des
Absenders um jeden Preis zu wahren.
Beispiel: | rumor
1 10 Ich habe ein Gerücht gehört, daß Du nächste Runde geplättet wirst! Deep Throat |
(17.11) Der
"racename"-Befehl des PHOST
Befehl | "racename" |
Abkürzung | "ra" |
Syntax | racename <langer Name> <kurzer Name> <Adjektiv |
Aktivierung | CPEnableRaceName |
geänderte Dateien | RACE.NM |
Dieser Befehl ermöglicht es einem
Spieler, die Namen seiner Rasse abzufragen und zu ändern. Der
Unterbefehl "get" benötigt keine weiteren Parameter
und generiert eine Nachricht mit den drei Namen der eigenen Rasse
(Langform, Kurzform und Adjektiv des Namens), wie in der
aktuellen RACE.NM-Datei des PHOST vorhanden.
Die Unterbefehle "long", "short" und
"adjective" ermöglichen es dem Spieler, die
Komponenten des Namens der eigenen Rasse zu ändern. Jeder dieser
drei Unterbefehle fügt alle ihm folgenden Zeichen in einer
Zeichenkette zusammen, um den aktuellen Namenseintrag zu bilden.
Die Länge der Namen der Rassen ist begrenzt. Sind die
übermittelten Namen länger, so werden diese gekürzt. Folgende
Längenbeschränkungen bestehen:
Langform des Namens der eigenen Rasse | 1 bis 30 Zeichen |
Kurzform des Namens der eigenen Rasse | 1 bis 20 Zeichen |
Adjektiv des Namens der eigenen Rasse | 1 bis 12 Zeichen |
Beispiel: | ra lo
The Federation of Planets ra short The Fed ra a Fed rac get |
(17.12) Der
"send"-Befehl des PHOST
Befehl | "send" |
Abkürzung | "s" |
Syntax | send {Config|Racenames} |
Aktivierung | CPEnableSend |
geänderte Dateien | keine |
Dieser Befehl wird benutzt, um den
PHOST zu bitten, die PCONFIG.SRC-Datei oder die RACE.NM-Datei des
Host in die UTIL.DAT-Datei für den Spieler einzufügen.
Zubehörprogramme des Spielers können dann die Komponenten aus
der UTIL.DAT-Datei auspacken und als getrennte Datei in das
System des Spielers einfügen.
Der Befehl "send config" hat die gleiche Wirkung wie
der FriendlyCode "con". Beide haben den gleichen Effekt
und werden mit CPEnableSend aktiviert.
Ist die angeforderte Datei nicht im Spielverzeichnis verfügbar,
so ist dieser Befehl wirkungslos und es tritt kein Fehler aus.
Beispiele: | send config |
s r |
(17.13) Der
"xtern"-Befehl des PHOST
Befehl | "xtern" |
Abkürzung | "x" |
Syntax | xtern Parm Parm ... |
Aktivierung | immer aktiv |
geänderte Dateien | keine |
Der "xtern"-Befehl
erlaubt es Spielern, Eingaben an externe Zubehörprogramme zu
machen und diese anzupassen.
Dieser Befehl kann als eine Art "Esc"-Mechanismus zur
Kommunikation mit anderen Zubehörprogrammen genutzt werden.
Der Befehl schreibt eine Zeile in die
"xterncmd.ext"-Datei im Spielverzeichnis. Eine
eventuell bestehende Datei dieses Namens wird überschrieben. Die
erste Zeile dieser Datei enthält die Zugnummer
("turn-number") gefolgt vom 18 Zeichen langen
Zeitmerker ("timestamp") des aktuellen Zuges. Die
weiteren Zeilen in der Datei sind wie folgt aufgebaut:
P: Parameter_1 Parameter_2 ...
wobei "P" für die Spielernummer [1..11] steht und die folgenden Parameter die vom Spieler an den "xtern"-Befehl angefügten Parameter sind. Hat Spieler 3 zum Beispiel folgende Zeile an den Befehlsinterpreter des PHOST geschickt
xtern buy a vowel
dann wird der PHOST folgende Zeile in die "xterncmd.ext"-Datei schreiben:
3: buy a vowel
Der "xtern"-Befehl hat
keine weitere Funktion außer dem Schreiben dieser Datei. Der
Befehl hat keinen weiteren Einfluß auf den PHOST und erzeugt
grundsätzlich keine Fehlermeldungen.
Beachte außerdem, daß die "xterncmd.ext"-Datei nicht
geschrieben wird, wenn der PHOST im "read-only"-Modus
ausgeführt wird (mit "-r"- oder
"-c"-Parameter).
Beispiel: | xtern cmd parm parm |