Wie kann ich das Ziel ('T') und den Scanner ('I') vom Script aus steuern?

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

Moderators: Moderatoren für Deutsches X-Forum, Scripting / Modding Moderators

Post Reply
ManfredP
Posts: 115
Joined: Tue, 25. Apr 06, 12:40

Wie kann ich das Ziel ('T') und den Scanner ('I') vom Script aus steuern?

Post by ManfredP » Thu, 16. Jul 15, 14:38

Hallo,
wollte mit einem Script alle Asteroiden eines Gebietes scannen (Mineralienscanner) und damit bewerten. Ich bekomme das Schiff auch dazu, alle Asteroiden nacheinander anzufliegen (mit find asteroids zusammensuchen und mit einer Schleife abarbeiten). Nur mit dem Ziel hapert's (und mit 'Info' natürlich). Denn er stellt das Ziel nicht entsprechend ein, wenn ich 'set command Target' einbaue und einen anderen Befehl habe ich nicht gefunden. Kann ich das Ziel (also die Wahl, die ich interaktiv durch 'T' treffe) im Script beeinflussen? Und wie kann ich den Scanner starten (interaktiv 'I')?

Tschüß

Manfred

User avatar
X2-Illuminatus
Moderator (Deutsch)
Moderator (Deutsch)
Posts: 20844
Joined: Sun, 2. Apr 06, 16:38

Post by X2-Illuminatus » Thu, 16. Jul 15, 16:33

'set command target' funktioniert, wenn ich mich recht entsinne, nur, wenn du einem Egosoft eigenen Kommando ein Ziel übergeben möchtest. Um das Ziel des Spielerschiffs zu setzen bzw. zu erhalten, gibt es in X3 die Befehle 'set player tracking aim' und 'get player tracking aim' in den Fly Commands. Ich bin mir aber nicht sicher, ob es diese schon in X2 gibt.
Ein Kommando oder Script Editor Befehl zum Scannen von Asteroiden gibt es meines Erachtens nach nicht und der Befehl, um sich die Ausbeute ('yield') von Asteroiden ausgeben zu lassen, gibt es glaube ich auch erst seit X3.

Spontan einfallen tun mir zwei Möglichkeiten, wie man dennoch eine Art "Scan-Script" schreiben könnte:
1. In den Universe Sector Commands oder den General Object Commands sollte es einen "Find"-Befehl geben, um Asteroiden zu finden. Dieser benötigt als Eingabewerte u.a. die Ausbeute ("Yield") und Ressourcentyp. In einer Schleife könnte man alle möglichen Ausbeute-Werte durchgehen (z.B. 1 - 100) und so für die drei Ressourcentypen alle Asteroiden mit ihrer jeweiligen Ausbeute ermitteln.

2. Man zerstört alle Asteroiden im Sektor und erstellt sie mit dem "create asteroid"-Befehl mit selbst gewählten Werten für Ausbeute und Ressourcen an gleicher Position neu. Nachteil wäre hierbei, dass man sich über die Ressourcenverteilung im Sektor selbst Gedanken machen müsste. Auch weiß ich nicht, ob die Asteroiden, die man per Script zerstört, auch wirklich zerstört bleiben.

In beiden Fällen kann man dann entweder Ressource und Ausbeute dem Spieler ins Logbuch schreiben, den Asteroiden selbst entsprechend umbenennen (bin ich mir nicht sicher, ob das wirklich geht) oder irgendein Objekt z.B. eine Navigationsbake neben dem Asteroiden erstellen und umbenennen.
Besteht Interesse an einem Nopileos-Hörbuch?

Farnhams Legende und Nopileos als E-Books!

"People who think they know everything are a great annoyance to those of us who do." - Isaac Asimov

"If it's not impossible, there must be a way to do it." - Sir Nicholas Winton

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 13817
Joined: Sun, 20. Nov 05, 23:45

Post by UniTrader » Thu, 16. Jul 15, 16:44

In x2 AFAIK gar nicht - ich bin jetzt nicht ganz sicher ob man das Spielerziel hier schon per Script setzen kann (Set Player tracking aim in x3), aber was nicht geht ist es Asteroiden aufzudecken (ausbeuten im Script lesen ging, aber kein Zugriff auf den für den Spieler sichtbaren wert) und tastendrücke simulieren geht per Script ebenfalls nicht - ebensowenig wie das erfassen von diesen - custom hotkeys gibt's erst seit TC und die rufen nur ein zuvor festgelegtes Script auf

Der von dir genannte Befehl setzt übrigens das Ziel für das momentane Script zur spielerinfo (z.B kaufe ware ... XY) nicht mehr.
if not stated otherwise everything i post is licensed under WTFPL

Ich mache keine S&M-Auftragsarbeiten, aber wenn es fragen gibt wie man etwas umsetzen kann helfe ich gerne weiter ;)

I wont do Script&Mod Request work, but if there are questions how to do something i will GLaDly help ;)

mmbecker
Posts: 92
Joined: Tue, 4. Jan 05, 15:24

Post by mmbecker » Thu, 16. Jul 15, 20:08

Hallo,

nun, es geht in X2, aber nicht in der Art und Weise, wie du es dir gedacht hast, sondern quasi nur durch Tricksen.

Ich habe das Problem so gelöst, dass ich von allen Asteroiden in dem Sektor eine Liste anlege mit Position, Typ und Ausbeute. Das erledigt der Befehl "find Asteroid", der in einer Schleife für jeden (passenden) Wert von yield und für jeden type ausgeführt wird.

Wenn du diese Liste hast, dann kannst du das Schiff zu den entsprechenden Koordinaten steuern und dann so tun, als würdest du den Asteroid scannen, du liest aber den Wert auch aus deiner Liste aus und lässt ihn z.B. als Message im Logbuch ausgeben.

Post Reply

Return to “X²: Die Bedrohung - Scripts und Modding”