Ship-Command-Fragen

Hier ist der ideale Ort um über Scripts und Mods für X³: Terran Conflict und X³: Albion Prelude zu diskutieren.

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

User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Ship-Command-Fragen

Post by Reflexer »

Hallo Leute,

ich hab mal wieder ein paar Fragen.

Ich benötige einen Eintrag im Schiffsmenü "Spezial". Nachdem ich einige andere Scripte von Lucike und Gazz druchgeschaut habe bin ich zwar weiter als vorher, aber immer noch nicht so weit wie ich gerne wäre.

Aktuell sieht der Code folgendermaßen aus:

Code: Select all

$tmpCmd = {COMMAND_TYPE_SPECIAL_50} 
set ship command preload script: command=$tmpCmd script='plugin.rescue.callcenter.main'
global script map: set: key=$tmpCmd, class={Schiff}, race={Spieler}, script='plugin.rescue.callcenter.main', prio=0
set script command upgrade: command=$tmpCmd  upgrade=[TRUE]
Ich gehe Recht in der Annahme, dass die erste Zeile den Commad-Typ mapped?

Was genau macht der preload-teil? Was sollte das script denn tun, das man da anhängt?

Wie bekomme ich denn den gewünschten Text im Menü angezeigt?
Aktuell steht da: "ReadText2010-550 [ReadText2011-550]"
Was muss da wo und wie definiert und wo und wie eingebunden werden?

Was macht das "script command update"?

Ich hoffe ihr könnt mir weiterhelfen.

Gruß
Reflexer
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Code: Select all

set ship command preload script: command=$tmpCmd script='plugin.rescue.callcenter.main' 
Ein Preload-Skript ist ein Skript, das aufgerufen wird, wenn man ein Kommando über die Kommandokonsole eines Schiffes startet. Es wird vor dem eigentlichen Skript gestartet und sollte dazu verwendet werden bestimmte Werte einzustellen (z.B. einen Arbeitssektor, zu versorgende Stationen, etc.). Diese Werte werden dann vom preload-Skript in einem Array zurückgegeben und für das eigentliche Skript als Argumente übergeben.
Ich gehe Recht in der Annahme, dass die erste Zeile den Commad-Typ mapped?
Die erste Zeile belegt nur die Variable $tmpCmd mit einem bestimmten Kommando.
set script command upgrade: command=$tmpCmd upgrade=[TRUE]
Hiermit kannst du festlegen, wann das Kommando erscheint. Für "upgrade" könntest du z.B. die Handelssoftware MKIII wählen. Bei [TRUE] erscheint es immer.
Wie bekomme ich denn den gewünschten Text im Menü angezeigt?
Aktuell steht da: "ReadText2010-550 [ReadText2011-550]"
Was muss da wo und wie definiert und wo und wie eingebunden werden?
Du musst eine T-File laden, die die entsprechenden Page- und T-Ids definiert. In deinem Fall wären das die Page-Id 2010 (beinhaltet Name des Kommandos) und 2011 (beinhaltet Abkürzung des Kommandos) mit jeweils der Text-Id 550.

MfG,
ScRaT
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

Danke Scrat... damit komme ich soweit klar :D

Ich habe noch eine Frage....

Kann ich bei einem scriptseitig erzeugten (spielereigenen) Schiff Standard-Einträge aus den Schiffsmenüs entfernen? Ich möchte gerne alles ausblenden, außer dem Eintrag "Kampf"... geht das irgendwie? Es sollte nicht global sein, sondern darf nur bei einem (oder mehreren) speziellen Schiffen sein.
User avatar
ScRaT_GER
Posts: 1962
Joined: Tue, 8. Jan 08, 18:19
x3tc

Post by ScRaT_GER »

Mh, du könntest es mal mit dem Befehl

Code: Select all

global script map: remove: key=<Object Command/Signal>, class=<Var/Class>, race=<Var/Race>
versuchen.
Für <Object Command/Signal> dann das entsprechende Kommando verwenden.
Allerdings scheint das ein relativ globaler Befehl zu sein.

Was anderes würde mir jetzt nicht einfallen.

MfG,
ScRaT
User avatar
Reflexer
Posts: 863
Joined: Sat, 21. Feb 09, 12:54
x4

Post by Reflexer »

ok... das geht natürlich so nicht...

Fällt jemandem eine Idee ein, wie man auf einem einzelnen Schiff Kommando-Einträge entfernen/disablen kann? Entweder ganze Gruppen z.B. "Navigation" oder einzelne Einträge z.B. "Andocken"....

oder besteht die Möglichkeit, die Events irgendwie abzufangen und "nix" zu machen... Das Schiff/die Schiffe bei denen das so sein soll ist/sind bekannt.... Man muss also nicht im Trüben fischen....

Ich habe noch eine zusätzliche Frage.... wie lasse ich ein Kommando NUR auf dem [PLAYERSHIP] anzeigen?
UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader »

1. es gibt auch nen objektgebundenen Befehl, um Kommandos auszublenden
<RefObj> ignore ship command/signal <Object Command/Signal>
wenn es für alle Kommandos sein soll ausser den Kampfkommandos kannst du das auch anstelle des Kommandos in ner Schleife ne Zahl einsetzenn, die alle Zahlen von 100 bis 1264 abdeckt ausser den Bereich 200 - 264, damit sind alle Kommandos bis auf die Kampfkommandos weg ;)

2. wie wäre es mit einem Pfüfscript, ob $object == [PLAYERSHIP]
set script command upgrade: command=<Object Command/Signal> upgrade=<Var/Ware> script=<ScriptName> oder der Verwendung eines Hotkeys?
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 ;)

Return to “X³: Terran Conflict / Albion Prelude - Scripts und Modding”