Scriptfrage: kommando auf Allen Argon Nova's ausführbar machen

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

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

Post Reply
Boris4022
Posts: 97
Joined: Tue, 22. Dec 09, 18:13

Scriptfrage: kommando auf Allen Argon Nova's ausführbar machen

Post by Boris4022 » Mon, 10. Oct 11, 03:04

Hallo liebe Community

Ich baue gerade ein Spezialschiff in mein X3 TC ein. Nur "Ihr" speziallkommando soll nur auf diesem schiff ausführbar sein.

könnte mir jemand ein beispiel des eines setup-scripts posten
das nur einer Argon nova erlaubt commando X auszuführen aber keinem anderen M3.

Wäre mir eine riesenhilfe danke schonmal im voraus
X3 süchtig und stolz drauf ^^

User avatar
Saetan
Posts: 3223
Joined: Wed, 1. Feb 06, 19:26
x4

Post by Saetan » Mon, 10. Oct 11, 04:49

Das das Kommando nur auf deiner speziellen Nova angezeigt und damit gestartet werden kann, wirst du nicht machen können.

Was du aber machen kannst und deinen Zweck erfüllen wird, prüfe gleich zu Beginn deines Skriptes ob [THIS] (das Objekt, das das Script ausführt) auch tatsächlich den Schiffstyp "Spezial-Nova" hat. Wenn es das nicht hat, beende das Script vorzeitig und gib bei Bedarf ne Info als Nachricht an den Spieler.

Die entsprechenden Skriptbefehle weiß ich ned auswendig, doch wenn du bspw. die Index-Themen der MSCI-Referenz hier im Forum durchsiehst und der englischen Sprache einigermaßen mächtig bist, wirst du sicher selbst fündig werden.

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Mon, 10. Oct 11, 08:51

Es gibt checkscripts für command buttons.
Müßte im MSCI sein.

Auf einem Schiff das keine Nova ist, wäre das Kommando dann zwar vorhanden aber "grau" also nicht anwählbar.

Klar, Saetan's Methode funktioniert auch aber ist weniger elegant.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Boris4022
Posts: 97
Joined: Tue, 22. Dec 09, 18:13

Post by Boris4022 » Mon, 10. Oct 11, 10:00

Dan werd ich mal im englischen Froum suchen. Und genau das war ja beabsichtigt das Alle das nur der Schiffstyp das kommando starten kann und keine anderen schiffe der selben klasse also nur alle Nova's und beispielsweise keine Falken obwohl diese auch M3's sind

danke euch beiden
X3 süchtig und stolz drauf ^^

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Mon, 10. Oct 11, 18:18

funktioniert es nicht wenn man bei Class im global script Map-Befehl statt einer Schiffsklasse den Schiffstypen angibt? (versuch ist es wert und wäre sicher auch eine sauberere lösung ^^)

EDIT: ach ja: es ist evtl. eine Hilfsvariable nötig, wenn man den Schiffstypen bei class nicht direkt auswählen kann ^^

Corraw
Posts: 148
Joined: Sat, 25. Feb 06, 10:13
x3tc

Post by Corraw » Mon, 10. Oct 11, 18:55


Beispiel:

Code: Select all

--> Skript: setup.plugin.nova.special.xml

001   global script map: set: key=COMMAND_TYPE_SPECIAL_16, class=Schiff, race=Player, script='plugin.nova.special.main', prio=0
002   set script command upgrade: command=COMMAND_TYPE_SPECIAL_16  upgrade=[TRUE]  script='plugin.nova.special.select'

Code: Select all

--> Skript: plugin.nova.special.select.xml

Arguments
1: Ship , Var/Ship , 'Ship' 
2: Upgrade , Var/Ware , 'Upgrade' 
Source Text

001   $ShipType = $Ship -> get ware type code of object
002   skip if $ShipType == Nova Special
003   |return 0
005   return 1

Code: Select all

--> Skript: plugin.nova.special.main.xml

001   (Skript auf der speziellen Nova)
Corraw


Boris4022
Posts: 97
Joined: Tue, 22. Dec 09, 18:13

Post by Boris4022 » Mon, 10. Oct 11, 19:16

Man könnte doch eifach die Variable Ship = Argon Nova machen und dan bei schipclass = $Ship oder?
X3 süchtig und stolz drauf ^^

Corraw
Posts: 148
Joined: Sat, 25. Feb 06, 10:13
x3tc

Post by Corraw » Mon, 10. Oct 11, 19:19

Boris4022 wrote:Man könnte doch eifach die Variable Ship = Argon Nova machen und dan bei schipclass = $Ship oder?
Nein, $Ship ist das ausführende Objekt und keine Klasse.

Corraw

UniTrader
Moderator (Script&Mod)
Moderator (Script&Mod)
Posts: 14571
Joined: Sun, 20. Nov 05, 22:45
x4

Post by UniTrader » Mon, 10. Oct 11, 21:02

Corraw wrote:
Boris4022 wrote:Man könnte doch eifach die Variable Ship = Argon Nova machen und dan bei schipclass = $Ship oder?
Nein, $Ship ist das ausführende Objekt und keine Klasse.

Corraw
ich glaube er meinte damit einen Schiffstypen, wie ich es vorgeschlagen habe, und keine Objekte :roll: denn das ist so gesehen afaik noch einmal eine feinere Einteilung der Klassen (die feinstmögliche)

User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Post by Gazz » Mon, 10. Oct 11, 21:14

Ship type ist aber ein anderer Datentyp als ship class.

Wenns funktioniert, toll, aber ich würd mir nicht zuviel Hoffnung machen.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.

Corraw
Posts: 148
Joined: Sat, 25. Feb 06, 10:13
x3tc

Post by Corraw » Mon, 10. Oct 11, 21:49

Ok, ich habe mich falsch ausgedrückt. $Ship ist das ausführende Objekt und kein Schiffstyp. Ansonsten funktioniert der Code.

skip if $ShipType == Nova Special

Hier muss natürlich der Schiffstyp angegeben werden und nicht das Objekt selbst.

Corraw

Post Reply

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