- Gibt es eine Möglichkeit, alle Schiffstypen als Liste/Array zu bekommen? Momentan teste ich einzelne Schiffstypen, die kann ich auch manuell auswählen, aber sich für alle Schiffe jedesmal durch das Menü zu klicken wäre schon nervig. Das würde ich gerne mit einer Schleife über ein Array lösen.
- Hat jemand schon mal jemand die Befehle und
Code: Select all
<RetVar> get max upgrade speed: shiptype=<Var/Ship Type>
(im Skripteditor zu finden unter "Fly Commands" -> "Daten - Schiffs-/Stationstyp") ausprobiert? Die liefern bei mir unplausible Werte. Und zusätzlich liefert mir auch jede Abfrage, die danach kommt, den Wert "0" zurück. Der nach dem selben Prinzip aufgebaute BefehlCode: Select all
<RetVar> get average steering: shiptype=<Var/Ship Type>
funktioniert dagegen wie erwartet. Die Geschwindigkeitswerte kann ich zwar auch auslesen, in dem ich ein enstprechendes Schiff spawnen lasse und darauf dann "<RetVar> = <RefObj> get max upgradet speed" (aus "General Object Commands" -> "Schiffskommandos") anwende, für die Drehrate gibt es hier aber keinen entsprechenden Befehl (oder ich hab ihn übersehen).Code: Select all
<RetVar> get acceleration: shiptyp=<Var/Ship Type>
- Die Hauptlaser sind immer auf Position 0 im Geschützturmarray, richtig?
- Die Ausgabe der Daten mache ich als csv Datei, wobei jedes Schiff eine eigene Zeile bekommen soll. Wie füge ich aber einen Zeilenumbruch in einen String ein?
Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
Moderators: Moderators for English X Forum, Scripting / Modding Moderators, Moderators for the X3:FL Forums
-
- Posts: 98
- Joined: Tue, 9. Aug 05, 19:50
Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
Ich bin ja gerade dabei eine aktuelle Schiffsliste zu erstellen und hab dazu jetzt ein bisschen mit dem Skripteditor rumgespielt, um zumindest die Basisdaten direkt aus dem Spiel ziehen zu können. Das klappt soweit eigentlich schon ganz gut, allerdings hätte ich noch ein paar Fragen, vielleicht kann ja jemand weiterhelfen:
-
- Moderator (Deutsch)
- Posts: 24970
- Joined: Sun, 2. Apr 06, 16:38
Re: Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
<RetVar> = get ship type array: maker race=<Var/Race> class=<Value> in den Universe and Sector Commands. Beide Eingabewerte mit 'null' befüllen, dann bekommst du alle Schiffstypen zurückgegeben. Alternativ gibt es noch den Befehl "get all available shiptype: exclude buyable", der dir alle verfügbaren Schiffstypen als Tabelle zurückgibt.Freizeitspieler wrote: ↑Fri, 21. May 21, 22:22Gibt es eine Möglichkeit, alle Schiffstypen als Liste/Array zu bekommen?
Die Befehle liefern interne Einheiten, da der Script Editor nur integer-Werte kennt. Du kannst dir das Script "plugin.shipbrowser.columise" anschauen. Dort werden die Befehle verwendet und die Werte umgerechnet.Freizeitspieler wrote: ↑Fri, 21. May 21, 22:22Hat jemand schon mal jemand die Befehle
<RetVar> get max upgrade speed: shiptype=<Var/Ship Type>
<RetVar> get average steering: shiptype=<Var/Ship Type>
(im Skripteditor zu finden unter "Fly Commands" -> "Daten - Schiffs-/Stationstyp") ausprobiert? Die liefern bei mir unplausible Werte.
Richtig.Freizeitspieler wrote: ↑Fri, 21. May 21, 22:22Die Hauptlaser sind immer auf Position 0 im Geschützturmarray, richtig?
Jeder "write to logfile"-Befehle schreibt in eine neue Zeile ("append=True" vorausgesetzt). Wenn du deine Ausgabe so formatierst, dass alle Informationen zu einem Schiff in einer Zeile stehen, musst du nur die komplette Zeile auf einmal ins Logfile schreiben. Der nächste, mittels "write to logfile" ausgegebene Text landet automatisch in der nächsten Zeile. Brauchst du für irgendwas in einer Textzeile einen Zeilenumbruch, dann musst du dir diesen aus einer Textdatei einlesen. Verfügbare Varianten finden sich z. B. unter {35,1104343} (%s\n) oder {2295,254} (%s\n%s).Freizeitspieler wrote: ↑Fri, 21. May 21, 22:22Die Ausgabe der Daten mache ich als csv Datei, wobei jedes Schiff eine eigene Zeile bekommen soll. Wie füge ich aber einen Zeilenumbruch in einen String ein?
Nun verfügbar! X3: Farnham's Legacy - Ein neues Kapitel für einen alten Favoriten
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
Die komplette X-Roman-Reihe jetzt als Kindle E-Books! (Farnhams Legende, Nopileos, X3: Yoshiko, X3: Hüter der Tore, X3: Wächter der Erde)
Neuauflage der fünf X-Romane als Taschenbuch
The official X-novels Farnham's Legend, Nopileos, X3: Yoshiko as Kindle e-books!
-
- Posts: 98
- Joined: Tue, 9. Aug 05, 19:50
Re: Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
Vielen Dank, das hat mir sehr weitergeholfen!
-
- Posts: 98
- Joined: Tue, 9. Aug 05, 19:50
Re: Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
plugin.shipbrowser.columise liefert schon sehr viel von dem was ich mir vorstelle, allerdings bin ich jetzt noch auf ein anderes Problem gestoßen: Ich würde gerne die Varianten der Schiffe (Angreifer, Verteidiger, Tanker...) getrennt vom Hauptnamen haben. Die Lösung hatte ich mir so gedacht: 'name' aus der von plugin.shipbrowser.columise erstellten Liste raussuchen, den String am ersten Leerzeichen trennen und den vorderen Teil und den hinteren Teil separat verarbeiten.X2-Illuminatus wrote: ↑Sat, 22. May 21, 18:00Die Befehle liefern interne Einheiten, da der Script Editor nur integer-Werte kennt. Du kannst dir das Script "plugin.shipbrowser.columise" anschauen. Dort werden die Befehle verwendet und die Werte umgerechnet.Freizeitspieler wrote: ↑Fri, 21. May 21, 22:22Hat jemand schon mal jemand die Befehle
<RetVar> get max upgrade speed: shiptype=<Var/Ship Type>
<RetVar> get average steering: shiptype=<Var/Ship Type>
(im Skripteditor zu finden unter "Fly Commands" -> "Daten - Schiffs-/Stationstyp") ausprobiert? Die liefern bei mir unplausible Werte.
Prinzipiell kein Problem, hat mit meinem Teststring auch funktioniert. Mit dem Schiffsnamen aber nicht. Nach ein bisschen rumprobieren bin ich drauf gekommen, dass das, was mir plugin.shipbrowser.columise als 'name' zurück gibt, anscheinend kein string ist. Folgender Code:
Code: Select all
shipname.complete = $shiptable.ship['name'][1] --> shiptable.ship ist die table für das aktuelle Schiff aus plugin.shipbrowser.columise
write to log file #2 append=[TRUE] value=$shipname.complete
shipname.complete.length = get length of string $shipname.complete
write to log file #2 append=[TRUE] value=$shipname.complete.length
*Vollständiger Schiffsname*
0
Kann ich shipname.complete irgendwie explizit in einen String umwandeln? Die implizite Umwandlung bei der Ausgabe in die Logdatei funktioniert ja, aber ich habe keine Option im Skripteditor für eine explizite Umwandlung gefunden.
-
- Posts: 12969
- Joined: Sun, 9. May 04, 21:26
Re: Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
Beispiel:Freizeitspieler wrote: ↑Mon, 24. May 21, 19:27Kann ich shipname.complete irgendwie explizit in einen String umwandeln? Die implizite Umwandlung bei der Ausgabe in die Logdatei funktioniert ja, aber ich habe keine Option im Skripteditor für eine explizite Umwandlung gefunden.
Code: Select all
$String = sprintf: fmt='%s', $ShipType, null, null, null, null
Code: Select all
$String = $ShipType + ''
Gruß
Lucike
-
- Posts: 98
- Joined: Tue, 9. Aug 05, 19:50
Re: Fragen zum Auslesen von Schiffsdaten mittels Skripteditor
Danke. sprintf hatte ich sogar versucht, aber anscheinend den Syntax falsch gemacht. Jetzt klappt es.