Starbeamer
Mit diesem Tool lassen sich auf den Planeten sogenannte Starbeamer Devices aufstellen. Diese Geräte sind in der Lage, den Cargotransport zu automatisieren. Mit ihnen transportiert man Cargo erheblich schneller und mit viel weniger Mühe als mit Frachtern. Auf Frachter kann man deshalb zugunsten anderer Schiffe weitgehend verzichten.
Für Spieler:
Die Beamer und der Cargotransport werden gesteuert über eine Kommandodatei. Diese nennt sich ,stabeamerXX.cmd', wobei XX für die Spielernummer steht. So ist ,starbeamer01.cmd' die Kommandodatei für Spieler 1, ,starbeamer02.cmd' für Spieler 2 usw. --- bis zu ,starbeamer11.cmd' für Spieler 11.
Kommandos
Die folgenden Kommands sind verfügbar:
Kommando |
Parameter 1 |
Parameter 2 |
Parameter 3 |
Parameter 4 |
Parameter 5 |
---|---|---|---|---|---|
build |
<base ID> |
|
|
|
|
get |
<ship ID> |
|
|
|
|
ifget |
<ship ID> |
|
|
|
|
mount |
<ship ID> |
|
|
|
|
new |
<planet ID> |
<CARGOTYPE> |
<+amount> |
TO |
<planet ID> |
import |
<planet ID> |
<CARGOTYPE> |
<+amount> |
|
|
export |
<planet ID> |
<CARGOTYPE> |
<-amount> |
|
|
store |
<planet ID> |
<CARGOTYPE> |
<-amount> |
|
|
destroy |
<UID> |
|
|
|
|
default |
<amount> |
<CARGOTYPE> |
|
|
|
level |
<planet ID> |
<CARGOTYPE> |
<@amount> |
|
|
fill |
<planet ID> |
<CARGOTYPE> |
<+@amount> |
|
|
UseFuelPredict |
<percent> |
AT |
<planet ID> |
|
|
blind |
<planet ID> |
<CARGOTYPE> |
<-+@amount> |
|
|
level-to |
<planet ID> |
<CARGOTYPE> |
<+amount> |
|
|
Anmerkung:
Die Baukosten für die Beamer und die benötigten Techlevel sind bei der Konfiguration des Starbeamer Tools vom Host eingestellt worden. Diese Konfiguration sollte der Host an die Spieler verschicken. Da die Konfiguration von Spiel zu Spiel unterschiedlich sein kann, sind in dieser Doku nur die zugehörigen Konfigurationseinstellungen angeführt.
Zu den einzelnen Kommandos:
build:
Mit dem build Kommando werden Beamer gebaut. Dies ist ausschließlich auf Planeten mit Starbases möglich. Baukosten und Voraussetzungen:
Definiert über ... in config.h |
Defaultwert (für extrem reiche Partien) |
---|---|
SB_costTri |
1000 |
SB_costDur |
600 |
sb_costMol |
300 |
SB_costMCs |
4000 |
SB_costHulltech |
min. 10 |
SB_costBeamtech |
min. 10 |
Es können pro Zug so viele Beamer auf einer Starbase gebaut werden, wie Baumaterial dafür vorhanden ist. Jeder neu gebaute Beamer wird automatisch auf dem Planeten, auf dem er gebaut wurde, installiert und kann sofort benutzt werden.
Beispiel:
build 42 // Baut einen Starbeamer auf dem Planet/der Starbase mit der ID 42.
get:
Mit dem get Kommando können Schiffe Starbeamer von Planeten aufheben und in den dafür vorgesehenen Halterungen an ihren Rümpfen befestigen. Auf diese Weise können Starbeamer von einem Planet zu einem anderen transportiert werden.
Voraussetzungen:
das Schiff orbitiert einen Planet
auf dem Planet steht mindestens ein Starbeamer, der der selben Rasse gehört wie der, der das Schiff, das den Beamer aufheben will, gehört
der Planet gehört der selben Rasse wie der, der das Schiff gehört
Beim Versuch, einen Beamer von einer fremden Rasse zu stehlen, wird diese benachrichtigt.
Beispiel:
get 24 // Das Schiff mit der ID 24 nimmt einen Starbeamer vom gerade orbitierten Planet an Bord.
ifget:
Das ifget Kommando funktioniert genauso wie das get Kommando. Der Unterschied besteht nur darin, daß mindestens ein eigener Beamer auf dem Planet verbleibt.
Der Sinn dieses Kommandos ist der, daß man nicht Gefahr läuft, aus Versehen von einem Planet alle Beamer zu entfernen. Das kann z. B. dann passieren, wenn wider Erwarten ein oder einige build Kommandos nicht ausgeführt werden konnten, sodaß die Anzahl der Beamer auf dem Planet geringer ist als erwartet.
Beispiel:
ifget 24 // Das Schiff mit der ID 24 nimmt einen Starbeamer vom gerade orbitierten Planet an Bord, sofern dort mehrere Beamer vorhanden sind.
mount:
Das mount Kommando ist das Gegenstück zu get und ifget. Ein auf einem Schiff befindlicher Starbeamer wird auf den orbitierten Planet abgesetzt und dort installiert. Der Beamer kann sofort benutzt werden.
Voraussetzungen:
das Schiff orbitiert einen Planet
das Schiff hat mindestens einen Beamer an Bord
Wird ein Beamer auf einem unbesiedelten Planet abgesetzt, so wird er zerstört. Die Bestandteile des Beamers werden auf der Planetenoberfläche verteilt.
Beispiel:
mount 24 // Das Schiff mit der ID 24 installiert einen Starbeamer auf dem gerade orbitierten Planet.
Anmerkung zu Cargooperationen:
Alle Cargooperationen erfolgen vermittelt über Cargopackete. Ein Cargopacket ist sowas wie einer dieser Container, die auf Lastwagen und Schiffen transportiert werden --- die Dinger sehen, bis auf Farbe und Beschriftung, alle gleich aus, haben aber die unterschiedlichsten Inhalte, Ursprungsorte und Ziele.
Cargopackete sehen alle gleich aus, aber es gibt unterschiedliche Typen von Cargopacketen --- so, wie es blaue, rote, grüne, gelbe etc. Container gibt:
Cargopackettyp |
Inhalt/Zweck |
---|---|
gewöhnliche Transportpackete |
enthalten Cargo, während es von einem Planet zum anderen transportiert wird; unterschiedliche Kennzeichnungen bzw. Verwendungszwecke sind möglich; sie werden u. a. mit dem new Kommando erzeugt |
Exportpackete (export packages) |
enthalten Cargo, das von Planeten exportiert wird und dienen als Quelle für das Erfüllen von Importanforderungen; sie werden u. a. mit dem export Kommando erzeugt |
Importpackete (import packages) |
buchungstechnische Packete, die zur Representation dienen von Importaufträgen; sie werden u. a. mit dem import Kommando erzeugt und sind unbeweglich |
Lagerpackete (storage packages) |
enthalten Cargo, das auf Planeten gelagert wird; sie dienen als Quelle für das Erfüllen von Importanforderungen und zugleich als Ziel für Exportpackete; sie werden u. a. mit dem store Kommando erzeugt und sind unbeweglich |
Cargo kann von Planeten genommen und in Cargopackete verlagert werden. Umgekehrt kann Cargo aus Cargopacketen auf Planeten verlagert werden. Hat z. B. ein Transportpacket das vorgesehene Ziel erreicht, so wird es ausgeliefert: Das enthaltene Cargo wird aus dem Packet genommen und auf den Planet verlagert.
Cargopackete, die kein Cargo enthalten, werden zerstört.
Jedes Cargopacket kennt u. a. die ID seines Ursprungsplaneten, die ID des Planeten, auf dem es sich gerade befindet und die ID des Zielplaneten. Die Postboten in Gestalt der Starbeamer nehmen die Packete von den Absendern entgegen, sorgen für den Transport der Packete und liefern sie an die Empfänger aus. Für den Transport wird die jeweils aktuell verfügbare kürzeste Route gewählt.
Exportpackete werden automatisch zu Import- und Lagerpacketen transportiert, als würden sie magnetisch angezogen. Importaufträge werden erfüllt, indem aus Exportpacketen und Lagerpacketen das angeforderte Cargo entnommen und in Transportpackete umgefüllt wird. Die Transportpackete werden dann (von den Postboten:) transportiert.
new:
Das new Kommando dient zum rein manuell gesteuerten Transportieren von Cargo. Ein new Kommando erzeugt ein Transportpacket, das Cargo des gewünschten Typs in max. der gewünschten Menge enthält. Das Transportpacket ist adressiert zu dem gewünschten Zielplanet.
Es kann max. so viel Cargo des gewünschten Typs in das Transportpacket gepackt werden, wie auf der Oberfläche des Ursprungsplaneten vorhanden ist. Auf dem Ursprungsplanet muß ein eigener Starbeamer vorhanden sein. Falls auf dem Zielplanet kein Starbeamer vorhanden ist, kann der Transport des Packets nicht erfolgen.
Das new Kommando arbeitet proprietär, i. e. der Spieler kann damit an der Automatik komplett vorbeiarbeiten. Z. B. berücksichtigen level und fill Kommandos keine mittels new erzeugten Cargopackete, und da die new Befehle vor derartigen Befehlen ausgeführt werden, wird der Automatik der Zugriff auf das Cargo in den mittels new erzeugten Packeten entzogen. Nur der Transport, die Auslieferung beim Eintreffen auf dem Zielplanet und das Zerstören (wenn die Packete leer sind) dieser Packete erfolgen automatisch.
Beispiel:
new 42 tri 5000 to 84 // veranlaßt den Transport von max. 5000 kts Tritanium von Planet 42 nach Planet 84
import:
Mit dem import Kommando veranlaßt man, daß auf dem angegebenen Planet die gewünschte Menge des gewünschten Cargotyps angeliefert wird. Das Cargo wird genommen aus Export- und Lagerpacketen, wobei weniger weit entfernte Packete und Exportpackete bevorzugt werden. Dieser Vorgang wird als Anzapfen bezeichnet, weil aus den Export- bzw. Lagerpacketen Cargo entnommen --- abgezapft --- wird. Das abgezapfte Cargo wird in Transportpackete (tapping packages) gepackt, deren Ursprungsort der Planet ist, auf dem sich das Export- bzw. Lagerpacket befindet und dessen Zielplanet der Planet ist, für den der Importauftrag erteilt wurde.
Falls es erforderlich ist, werden mehrere Export- und Lagerpackete angezapft. Sollte das noch immer nicht ausreichen, um die gewünschte Menge an Cargo herbeizuschaffen, so bleibt der Importauftrag --- in Gestalt eines Importpacketes --- vorhanden. Der Auftrag bleibt solange vorhanden, bis die gesamte gewünschte Menge des Cargos herbeigeschafft wurde. (Herbeischaffen bedeutet nicht, daß das herbeizuschaffende Cargo bereits auf dem Zielplanet ausgeliefert wurde. Es bedeutet nur, daß so viel Cargo in Transportpacketen, die aufgrund dieses Importauftrags erzeugt wurden, zum Zielplanet unterwegs sind, daß nach der Auslieferung sämtlicher dieser Packete die gewünschte Cargomenge auf dem Zielplanet angekommen ist.)
D. h., es reicht aus, einen Importauftrag einmal zu erteilen. Wird ein Importauftrag mehrere Züge lang wiederholt, so summieren sich die heranzuschaffenden Cargomengen sozusagen auf: Zehn Züge lang 100 kts Tritanium zu importieren bedeutet, daß 1000 kts angeliefert werden.
Beispiel:
import 42 tri 5000 // sorgt für die automatische Anlieferung von 5000 kts Tritanium nach Planet 42
export:
Das Exportkommando dient zum Export von Cargo von Planeten. Es wird so viel der gewünschten Cargoart auf dem Planet belassen --- nicht exportiert --- wie angegeben. Der Überschuß wird exportiert.
Das exportierte Cargo wird in Exportpackete gepackt, deren Zielort das nächstgelegene Lagerpacket ist, welches Cargo des angegebenen Typs aufnehmen kann. Der Ursprung des Exportpackets ist der Planet, für den der Exportauftrag erteilt wurde. Falls kein geeignetes Lagerpacket erreichbar ist, wird als Ziel der Ursprungsplanet eingestellt. Dadurch wird bewirkt, daß das Cargo auf dem Ursprungsplanet verbleibt; das dann leere Exportpacket wird zerstört.
Beispiel:
export 82 tri 150 // beläßt min. 150 kts Tritanium auf Planet 82 und transportiert alles andere Tritanium von dort weg
store:
Mit dem store Kommando erzeugt man Lagerpackete. Es wird min. die angegebene Menge des gewünschten Cargotyps auf dem Planet belassen, der Überschuß kann dazu verwendet werden, Importanforderungen zu erfüllen. Dieser Überschuß wird in ein sogenanntes Lagerpacket gepackt. Der Ursprung des Lagerpackets ist der Planet, für den der store Befehl erteilt wurde; zugleich ist er auch das Ziel das Lagerpackets. Dadurch wird bewirkt, daß das Cargo auf dem Ursprungsplanet verbleibt, sofern es nicht woanders benötigt wird.
Der Unterschied zum export Kommando besteht darin, daß ein export Kommando der Versuch ist, Cargo vom Planet wegzuschaffen, wogegen mit den store Kommando nur Cargo zum Wegschaffen bei Bedarf vorrätig gehalten wird. Zudem stellen mit dem store Befehl erzeugt Lager mögliche Zielorte für Cargo dar, welches mit export Befehlen exportiert wurde.
Beispiel:
store 42 tri 10000 // beläßt min. 10000 kts Tritanium auf dem Planet 42; was dort mehr an Tritanium vorhanden ist, kann bei Bedarf weggenommen werden
destroy:
Der destroy Befehl dient zum Zerstören von Cargopacketen. Das in den zu zerstörenden Packeten enthaltene Cargo wird dort ausgeliefert, wo die Packete sich gerade befinden. Falls ein zu zerstörendes Packet ein Importpacket ist, wird das representierte Cargo nicht ausgeliefert, sondern das Packet wird nur zerstört.
Dieser Befehl funktioniert nur bei eigenen Packeten, die entweder import packages oder tapping packages sind. Falls die angegebene UID größer ist als MAX_INT, funktioniert der Befehl nicht richtig.
Dieser Befehl ist ehr ein Hack als ein richtiger Befehl und sollte nur nach vorheriger Rücksprache mit dem Host verwendet werden. Das wird sich noch ändern; etwas Schlimmes kann jedoch nicht passieren.
Beispiel:
destroy 88764 // zerstört das Cargopacket mit der UID 88764
default:
Der default Befehl dient dazu, auf allen Planeten, auf denen eigene Starbeamer stehen, Lager zu errichten, die das angegebene Cargo enthalten. Dieser Befehl wird in Lagerbefehle übersetzt --- vergl. ,Befehlsübersetzung'.
Beispiel:
default 0 tri // sorgt für die Errichtung von Lagern, die 0 kts Tritanium auf den Planeten belassen auf allen Planeten, auf denen eigene Beamer stehen
level:
Mit dem level Kommando gibt man einen Pegel (i. e. level:) des gewünschten Cargotyps an, der auf dem angegebenen Planet genau eingehalten werden soll. Jenachdem, wieviel Cargo auf dem Planet vorhanden und dorthin unterwegs ist (abgesehen von Cargo, das sich in mittels des new Befehls erzeugten Packeten befindet), wird entweder zusätzlich Cargo angefordert, oder es wird Cargo exportiert, um den angegebenen Pegelstand zu erreichen bzw. einzuhalten. Daher wird der level Befehl entweder in export oder in import Befehle übersetzt, siehe ,Befehlsübersetzung'.
Zur automatischen Verteilung von Fighters auf Starbases ist dieser Befehl sehr praktisch :)
Beispiel:
level 42 mol 5000 // sorgt dafür, daß auf Planet 42 genau 5000 kts Molybdenum liegen
fill:
Der fill Befehl dient zur Unterstützung des store Befehls. Er dient dazu, auf Lagerplaneten für einen Mindestbestand an Cargo zu sorgen und zugleich Lager einzurichten, die dank ihrer Eigenschaft, Ziele für Exportoperationen zu sein, ggf. weiteres Cargo automatisch zu dem Lagerplanet hinlenken.
Das macht diesen Befehl sehr nützlich für diejenigen Planeten, auf denen man Cargo (in größeren Mengen) haben und ansammeln möchte, jedoch ohne dieses Cargo, von den Mindestbeständen abgesehen, anderen Planeten vorzuenthalten. Würde man für diese Planeten nur store Befehle geben, so wären zur Sicherung der Mindestmengen zusätzliche import Befehle nötig.
Die fill Befehle werden bei der Befehlsübersetzung (vergl. ,Befehlsübersetzung') übersetzt in store Befehle und, bei Bedarf, in import Befehle.
Beispiel:
fill 42 mol 5000 // sorgt dafür, daß auf Planet 42 mindestens 5000 kts Molybdenum liegen und daß der Überschuß für Importanforderungen zur Verfügung steht
UseFuelPredict:
Dieses Kommando ist nur dann wirksam, wenn die Starbeamer den Fuelverbrauch zukünftiger Züge vorhersagen. Die Verbrauchsvorhersage ist abgeschaltet, wenn die Spritversorgung der Beamer nach dem sog. ,dynamic fuel allocation' (DFA) Verfahren erfolgt. Das DFA Verfahren ist das empfohlene Standardverfahren.
Sollte das Standardverfahren nicht verwendet werden, so wird der Fuelverbrauch für die nächsten 10 Züge vorherberechnet. Die Vorhersage ist jedoch nicht sehr genau. Mit dem UseFuelPredict Kommando gibt man dann an, wieviel Prozent des vorherberechneten Verbrauches pro Zug importiert werden sollen auf den Planet, für den das Kommando erteilt wurde.
Dieses Kommando kann als ,ufp' abgekürzt werden.
Beispiel:
usefuelpredict 5 at 42 // pro Zug werden 5% des zukünftig verbrauchten Fuels angefordert
[hier muß noch mehr eingetragen werden ...]