Wie scripte ich ein Schiff ?

Hier können Diskussionen rund ums scripten und modden zu X3 geführt werden.

Moderator: Moderatoren

Toby
Rekrut
Beiträge: 64
Registriert: Mo 10 Aug, 2009 1:38 pm
Lieblings X-Titel: X3: Terran Conflict

Wie scripte ich ein Schiff ?

Beitrag von Toby »

Wie skripte ich mir einen Starburst? Meiner ist nämlich OOS gegen einen Astro geflogen, sooo unfair! Aber da es ihn ja bekannterweise nirgendwo zum Kaufen gibt, muss ich ihn mir eben skripten. Wäre auch bereit, dafür 2-3 milliönchen zu zahlen, kann man das vielleicht ins Skript gleich miteinbauen?

PS: Sorry an die moderatoren, ich weiß, dass dass eigentlich ins Forum x3 skript u modding diskussionen gehört, aber dafür extra einen eigenen Thread aufmachen? *ichweißnicht*

Danke schon mal im Voraus und
Zuletzt geändert von Toby am Fr 18 Sep, 2009 9:10 pm, insgesamt 1-mal geändert.
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

tobiGenial hat geschrieben: Edit: Wie skripte ich mir einen Starburst? Meiner ist nämlich OOS gegen einen Astro geflogen, sooo unfair! Aber da es ihn ja bekannterweise nirgendwo zum Kaufen gibt, muss ich ihn mir eben skripten. Wäre auch bereit, dafür 2-3 milliönchen zu zahlen, kann man das vielleicht ins Skript gleich miteinbauen?
Normalerweise reicht eine Zeile, um sich ein Schiff in X3 zu erschaffen, allerdings sollte man ein wenig Erfahrung haben, mit dem Script Editor.

Code: Alles auswählen

$ship = create ship:type=[Schiffstyp] owner=[Player] addto=[Sektor] x=[X-Koordinate] y=[Y-Koordinate] z=[Z-Koordinate]
Die Werte, die jetzt in meinem Beispiel in eckigen Klammern stehen, sind variabel und müssen von Dir ausgefüllt werden.
Bei der Angabe [Sektor] bitte beachten, das X3 sein Koordinatensystem in der linken oberen Kartenecke beginnt. Demzufolge ist Königstal der Sektor 0,0. Für die Achsenkoordinaten reicht es aus, wenn Du überall eine 0 einträgst, dann wird

das Schiff in der Sektormitte erstellt.

$Ship ist eine Variable, die Du erst erstellen mußt.

Aber gehen wir das Ganze mal systematisch an:

Script-Editor aktivieren

Falls Du den Script-Editor noch nicht aktiviert hast, dann solltest Du das jetzt tun.
Ändere einfach den Spielernamen in Thereshallbewings um.
Wenn alles geklappt hat, steht Dein alter Spielername wieder im Fenster und Du kannst im Pilotenmenü, unter Globale Kommandos, den Scripteditor aufrufen.

Neues Script erstellen

Um ein neues Script zu erstellen, öffne den Script-Editor und wähle den Eintrag <New Script> (erste Position in der Sriptliste).
Der Scripteditor wird Dich nun zur Eingabe eines Namens auffordern (siehe Anmerkungen beim Punkt "Commandname") und öffnet dann den Berarbeitungsbildschirm, der von oben gesehen so aufgebaut ist:
  • Version-->Hier kannst Du Deine Versionsnummer eingeben.
  • Description-->Eine kurze Beschreibung, was das Script eigentlich tut.
  • Commandname-->Der spätere Name des Scripts. Zu beachten sei, das der Scripteditor die Scripte alphabetisch listet. Will man also schnell auf das Script zugreifen, sollte man einen Namen wählen, der ganz oben gelistet wird. Es sei

    denn, man verknüpft die ganze Geschichte mit einem Kommandoslot, aber das geht hier schon viiiiieeel zu weit. ;)
  • Argumentliste-->Argumente sind vordefinierbare Abfragen, die das Spiel dann später beim Aufruf des Scripts, per Popup, vom Spieler abfragen wird. Argumente können zum Beispiel die Koordinaten in einem Sektor, der Sektor selbst, der

    Schiffstyp, die Rasse usw. sein.
  • Eigentlicher Scriptbereich-->Hier kannst Du Deine einzelnen Befehle eingeben. Allerdings erfolgt das nicht durch Texteingabe, sondern durch die Auswahl einzelner, vorgefertigter Befehle, die nur noch ergänzt werden müssen.
Die Befehlseingabe

Jetzt kommen wir zu dem Teil mit der Übung. :)
Nach dem Du die erste Zeile aktiviert hast, einfach mit den Cursortasten nach unten, bis der Eintrag <New Line> gelb dargestellt wird.
Drücke nun einmal auf die Entertaste, um in die Kommandoauswahl zu kommen.
Der Script-Editor unterteilt seine Befehle in verschiedene Klassen, um bei der Fülle von Möglichkeiten zumindest ein wenig Ordnung rein zu bringen (auch wenn manches etwas unlogisch untergeordnet ist).

Du bräuchstest jetzt den Befehl create ship.
Dieser ist in der Gruppe General Objects Commands zu finden. Wähle also die angegebene Gruppe aus, drücke wieder ENTER und scrolle in der Liste nach unten, bis Du den gewünschten Befehl gefunden hast.

Hast Du ihn gefunden, dann drücke wieder ENTER.
Da der Befehl create ship mit einer Variablen beginnt, wird Dich der Script-Editor nun zur Eingabe einer Variablen auffordern. Was uns zum nächsten Punkt bringt. :)

Variablen erzeugen

Variablen werden im Script-Editor auf zwei Wegen erstellt. Zum einem durch die direkte Eingabe bei der Befehlserstellung, zum anderen können sie aber auch frei definiert werden, um später in Befehlen eingesetzt zu werden.
Dich interessiert erst einmal nur die erste Variante.

Nachdem Du den Befehl create ship in der Befehlsliste gefunden hast, und mit einem Druck auf die ENTER-Taste aktiviert hast, wird Dich der Editor zur Eingabe eines Variablennamens auffordern.

Drücke also wieder die ENTER-Taste und gib den Variablennamen ein, den Du verwenden möchtest.
Achtung! Ohne das Dollar-Zeichen am Anfang, das erstellt der Script-Editor automatisch.

Wenn Du mit der Eingabe des Namens fertig bist, drücke wieder die Entertaste und die Variable erscheint am Anfang der Befehlszeile des Befehles create ship.

Die Befehlszeile komplettieren

Nachdem die Befehlszeile mit der Varibalen in den Script-Editor eingefügt wurde, siehst Du, das bereits das erste <?>-Zeichen rot dargestellt wird.
Drücke nun wieder die ENTER-Taste und scrolle im erscheinenden Popup nach unten, bis Du den Eintrag Ship-Type gefunden hast.
Drücke wieder die ENTER-Taste und wähle den gewünschten Schiffstyp. Beende Deine Auswahl wieder mit einem Druck auf die ENTER-Taste.
Die Befehlszeile erscheint wieder, mit dem Eintrag des Schiffstyps und das nächste <?>-Zeichen ist rot.

So geht das nun weiter...
...wähle zuerst den Besitzer des Schiffes (Eintrag "owner"), dann den Sektor, in dem es eingefügt werden soll (Eintrag "addto") und die Koordinatenpunkte (Einträge "x,y,z").

Die Punkte owner und addto lassen sich noch nach der oben beschriebenen Methode einsetzen, bei den Koordinateneinträgen mußt Du den Punkt Script Input auswählen, danach Number

auswählen und die gewünschte Koordinate als Zahl eingeben. Einfach dreimal 0, das reicht für den Anfang. ;)

Das Script komplettieren und speichern

Nun sind wir fast am Ende. ;)
Setze Deinen Cursor auf den Eintrag <New line>.
Nun drücke nochmal die ENTER-Taste und wähle aus der Gruppe General Commands die Gruppe Script Calls und dann den Befehl return=<value>.
In der erscheinenden Argumentenliste gehst Du nach unten, bis Du, unter Script Input den Eintrag null gefunden hast.
Drücke erneut die ENTER-Taste.

Nun drücke einmal die ESC-Taste. Der Editor wird dich fragen, ob Du das Script speichern möchtest, was Du mit der Auswahl des Eintrages ja bestätigen solltest.

Das Script aufrufen

Nachdem Du nun alles erledigt hast, sollte Dein Script, unter dem Namen, dem Du ihm gegeben hast, in der Scriptliste des Editors auftauchen.
Markiere es und drücke einmal die r-Taste, um es aufzurufen.

Das war es eigentlich schon. :D

Und nun noch die Luxusversion des Scriptes zum Abtippen...

Code: Alles auswählen

Argument 1 = Sector.Var/Sector Position, Sektor wählen
Argument 2 = Ship, Var/Ship Type, Schiffstyp wählen
Argument 3 = Rasse, Var/Race, Rasse wählen (Eigentümer)

$X = $Sector.Pos [0]
$Y = $Sector.Pos [1]
$Z = $Sector.Pos [2]
$Sector = $Sector.Pos[3]

$cship = create ship:type = $Ship owner = $Rasse addto = $Sector x = $X y = $Y z = $Z
$Upgrade = $cship-->get amount of ware Laderaumerweiterung in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Laderaumerweiterung
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Laderaumerweiterung
$Upgrade = $cship-->get amount of ware Triebwerktuning in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Triebwerktuning
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Triebwerktuning
$Upgrade = $cship-->get amount of ware Ruderoptimierung in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Ruderoptimierung
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Ruderoptimierung
$ShieldType = $cship-->get max Shield type can be installed
$ShieldMax = $cship--> get number of shield bays
= $ship-->install $ShieldMax units of $ShieldType
addmoney to player: -3000000
return $cship
Dieses kleine Script erstellt Dir Dein gewünschtes Schiff im von Dir gewünschten Sektor, an der von Dir gewünschten Position und stattet es mit vollen Tunings und maximalen Schilden aus.
Außerdem werden Dir 3 Mio an Credits vom Konto abgezogen (as u wish :D).

Ich habe bewußt auf die Ausstattung mit den grundlegenden Software-Komponenten verzichtet, aber wenn Du möchtest, der Befehl

Code: Alles auswählen

<RefObj>add default items to ship
erledigt auch das.

Ich greife hier lieber auf den Befehl

Code: Alles auswählen

<RetVar/IF><RefObj>install<Var/Number>of<Var/Ware>
zurück.

Ich hoffe, das Du damit etwas anfangen kannst, ansonsten habe ich so ein Script, was noch ein bischen mehr kann (Installation aller benötigten Ausrüstungskomponenten und Installation der Waffen in Türmen und Frontbatterie) auch hier

rumliegen. ;)

noch nen netten Tag
Taktkonform

edith sagt: Im Anhang ist das vollständige Script als XML-Datei abgelegt.
Dateianhänge
Schiff_erstellen.rar
(3.41 KiB) 1500-mal heruntergeladen
Zuletzt geändert von Taktkonform am Fr 18 Sep, 2009 8:37 pm, insgesamt 1-mal geändert.
Komm wir essen Oma - Satzzeichen können Leben retten!
Wolf 1
Major
Beiträge: 5527
Registriert: Mo 05 Mai, 2008 7:43 am
Lieblings X-Titel: X3 TC
Wohnort: Hauptquartier Türme der Ausflucht

Beitrag von Wolf 1 »

Taktkonforms Anleitungen gehören eigentlich schon zu den Stickys hinzugefügt, besser gehts doch schon fast nicht mehr ;-)
Benutzeravatar
Diemetius
Moderator
Beiträge: 4351
Registriert: Mo 27 Aug, 2007 10:16 am
Lieblings X-Titel:
Wohnort: Great World ->East Germany
Kontaktdaten:

Beitrag von Diemetius »

Mädels und Jungs , da Tobis Frage und der sehr gute Betrag von Taktkonform himmelweit am Anfängerthema vorbei geht,
habe ich das Thema geteilt und in Scriptforum verschoben.

MfG Diemetius

Edit:
Sorry an die moderatoren, ich weiß, dass dass eigentlich ins Forum x3 skript u modding diskussionen gehört, aber dafür extra einen eigenen Thread aufmachen? *ichweißnicht*
Das Geht. ;-)
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Wolf 1 hat geschrieben:Taktkonforms Anleitungen gehören eigentlich schon zu den Stickys hinzugefügt, besser gehts doch schon fast nicht mehr ;-)
Danke für die Blumen, aber es geht noch besser. :-D
Zum Ersten ist dieser Beitrag nicht allgemein gültig, da er sich auf ein konkretes Beispiel bezieht, somit nicht so recht Sticky-tauglich.

Zum Zweiten, beim nochmaligen Durchlesen hätte ich a) die Rechtschreibfehler tilgen können und b) Das Ganze -vor allem die Argumente- eingehender erklären sollen. ;)

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Toby
Rekrut
Beiträge: 64
Registriert: Mo 10 Aug, 2009 1:38 pm
Lieblings X-Titel: X3: Terran Conflict

Beitrag von Toby »

Wow, erst mal vielen Dank für diese tolle Erklärung!
Was sind Stickys?
@taktkonform: Das mit der Luxusversion versteh ich noch nicht so ganz, vor allem das mit den Argumenten (wie stell ich die ein) und wo finde ich das da:
Taktkonform hat geschrieben:$X = $Sector.Pos [0]
$Y = $Sector.Pos [1]
$Z = $Sector.Pos [2]
$Sector = $Sector.Pos[3]
Wo gibt's diese Upgrade-Befehle?
Taktkonform hat geschrieben:$Upgrade = $cship-->get amount of ware Laderaumerweiterung in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Laderaumerweiterung
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Laderaumerweiterung
$Upgrade = $cship-->get amount of ware Triebwerktuning in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Triebwerktuning
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Triebwerktuning
$Upgrade = $cship-->get amount of ware Ruderoptimierung in cargo bay
$UpgradeMax = $cship-->get max upgrades for upgrade Ruderoptimierung
$Upgrade = $UpgradeMax - $Upgrade...
=$cship install $Upgrade units of Ruderoptimierung
$ShieldType = $cship-->get max Shield type can be installed
$ShieldMax = $cship--> get number of shield bays
= $ship-->install $ShieldMax units of $ShieldType
Vielen Dank und
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Uff, das dauert länger. :-D
Denn so ganz ohne "Bebilderung" kann man das schlecht erklären.

@sticky:
Als Sticky (Angeklebt, angepinnt) bezeichnet man einen Forenbeitrag, der durch einen Eingriff eines Moderators oder Admins (das sogenannte Pinnen), immer ganz oben in der Threadliste gehalten wird.
Er ist dann sozusagen klebrig (sticky). ;)

@Positionsbefehle:
Diese Achsenbefehle sind ein Array. Zu finden unter Script Commands-->Array
Ich versuch das nochmal deutlicher zu beschreiben. Denn die Werte darin werden von einem Argument (Sector.Pos) geliefert.

@Upgrade:
Jo, das hab´ ich schon kommen sehen.^^
Diese Befehlszeilen setzen sich aus zwei und mehreren Befehlen zusammen, die mit einem <IF/Var> ohne Argument (diese drei Punkte) zusammengefügt werden.

Auch das versuch ich nochmal klarer darzustellen.

@Argumente:
Die Argumenteneingabe erfolgt nicht im direkten Scriptbereich, sondern oberhalb des eigentlichen Scriptbereiches befindet sich das Argumentenfenster (besser Zeile). Dort werden die Argumente, mittels dreier Parameter
  • Variablenname
  • Variablenwert
  • String (Textbeschreibung)
definiert.

Beispiel:
Mein Argument Sector.Pos

Erstelle einfach in der Eingabezeile ein neues Argument, gib im ersten sich öffnenden Popup den Variablennamen ein (hier Sector.Pos), drücke ENTER, wähle den Variablenwert, bzw. die Funktion aus der Liste, die sich nun geöffnet haben sollte und drücke danach wieder ENTER, um einen freien Namen zu vergeben. Dieser Name wird dann später im PopUp im Spiel selbst, oben rechts in der Ecke angezeigt.

Aber auch das versuch ich nochmal deutlicher zu machen.

noch nen netten Tag
Taktkonform
Zuletzt geändert von Taktkonform am Mo 07 Sep, 2009 4:47 pm, insgesamt 1-mal geändert.
Komm wir essen Oma - Satzzeichen können Leben retten!
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Beitrag von Taktkonform »

Ich mach es nun doch ohne Bilder, denn die machen es auch nicht einfacher.^^
Ok, fangen wir mit den Ugrade-Befehlen an.

Welche Befehle werden verwendet und wo sind diese zu finden?

Für diesen Bereich des Scripts sind eigentlich nur 3 Befehle und <RetVar/IF><Expression> verwendet worden.
Ich führe hier nun die Befehle einzeln auf und zeige wo sie versteckt sind.

Erste Zeile:

Code: Alles auswählen

$Upgrade = $cship-->get amount of ware Laderaumerweiterung in cargo bay 
verwendet folgenden Befehl, der sich unter Trade Commands->For Ship and Stations befindet.

Code: Alles auswählen

<RetVar/IF><RefObj>get amount of ware <Var/Ware> in cargo bay
Wie diese Zeile schon zeigt, beginnt der Befehl mit einer Variablen. Diese Variable ist $Upgrade. Sofort nach dem Aufrufen dieses Befehls mußt Du also eine Variable definieren.

<RefObj> stellt das Objekt dar, auf das sich diese Zeile bezieht. Hier der Variablenname $cship aus der Zeile create ship=....
<Var/Ware> ist selbsterklärend, so kann ich mir mein Gepinsel dazu sparen. ;)

Zweite Zeile:

Code: Alles auswählen

$UpgradeMax = $cship-->get max upgrades for upgrade Laderaumerweiterung 
Der entsprechende Befehl ist folgender:

Code: Alles auswählen

<RetVar/IF><RefObj>get max upgrades for upgrade <Var/Ware>
Dieser befindet sich unter General Objects Commands. Die entsprechenden Variablen sind ja nun schon definiert, und Du kannst sie einfach aus der Variablenliste auswählen.

Dritte Zeile:

Code: Alles auswählen

$Upgrade = $UpgradeMax - $Upgrade... 
Jetzt wirds tricky. Naja, eigentlich nicht.^^
Hier kommt der ominöse

Code: Alles auswählen

<RetVar/IF><Expression>
zum Einsatz, den Du unter General Commands findest.
Dieser Befehl macht es möglich freie, naja fast freie, Zeilen zu definieren.
Einfacher gesagt, diese Zeile definiert $Upgrade als Ergebnis der Subtraktion von $UpgradeMax und $Upgrade.
Die drei Punkte zeigen an, das da noch was kommen sollte, und auch kommt, in der nächsten Zeile. ;)

4.Zeile:

Code: Alles auswählen

=$cship install $Upgrade units of Laderaumerweiterung
Diese Zeile sieht auf den ersten Blick seltsam aus, da sie ja doch eine vollständige Befehlszeile ist, nähmlich

Code: Alles auswählen

<RetVar/IF><RefObj> install <Var/Number> of <Var/Ware>
die Du unter Trade Commands findest.
Nur fehlt dieser Zeile das <RetVar/IF> am Anfang.

Wie erreichst Du nun dieses Ergebnis?
Nachdem Du die Befehlszeile ausgewählt hast, landest Du wieder im PopUp, das Dir die Variablen, Funktionen und Operanden anbietet.
Dort findest Du den Eintrag <no returnvalue>.

Wenn Du diesen Eintrag auswählst, dann wird das erste Argument der Zeile eben ohne Wert gesetzt, oder anders weggelassen, und die Zeile beginnt mit einem = Zeichen. ;) Denn das erste Argument, die Variable, definieren wir ja schon eine Zeile weiter oben.
Der Rest ist wieder ganz normales Ausfüllen mit Variablen, bzw. Waren.

Der Rest ist einfaches Copy and Paste, nur eben mit den Waren Ruderoptimierung und Triebwerkstuning.

Arrays mit Werten die von Argumenten übergeben werden

Zuerst die Argumente.
Im oberen Teil des Scriptfensters befindet sich eine Zeile, in der
<New Argument> steht.
Markiere diese Zeile und drücke die ENTER-Taste.
Nun wird sich ein PopUp öffnen, das Dich zur Eingabe eines Arguments auffordert. Dieses Argument, bzw. der Name den Du wählst, ist gleichzeitig auch eine Variable.

Siehe als Beispiel mein Sector.Pos...
...hast Du nun den Namen festgelegt, dann drücke erneut die Entertaste und wähle die entsprechende Funktion.

Um einem Sektor und eine bestimmte Position darin zu bestimmen, wirst Du die Funktion Var/Sector aus der Auswahlliste gebrauchen können.

Nach einem Druck die ENTER-Taste wird diese Funktion übernommen, und das PopUp fordert Dich auf, nun noch einen Beschreibungstext (String) für das spätere Kommandofenster zu vergeben. Ich glaube, das muß ich nicht wirklich erklären, oder? ;)
Bist Du damit fertig, dann drücke nochmal die ENTER-Taste und das Argument wird erstellt.

Es sieht dann folgendermaßen aus:

Code: Alles auswählen

Argument 1:Sector.Pos,Var/Sector,'Position wählen'
Was macht dieses Argument und was hat ein Array damit zu tun?

Nun, dieses Argument wird später beim Aufruf des Scripts die bekannte Sektorkarte öffnen, Dich einen Sektor auswählen lassen und innerhalb des Sektors dann eine bestimmte Position, einfach mit dem Cursor, wählen lassen.
In diesem Sektor, an der gewählten Position wird dann später das Schiff erstellt.

Nun zum Array:
Dieser übernimmt die vom Argument 1 gelieferten Daten, also Sektor, X,Y und Z-Achsenposition und stellt sie anderen Befehlen zur Verfügung.

Dazu muß er aber erst einmal erstellt werden. Das erledigt der Befehl:

Code: Alles auswählen

<RetVar/IF><Var/Array><%u5bVar/Number%u5d>
den Du unter General Commands-->Arrays findest.

<RetVar> ist wieder eine Variable, die Du definieren mußt (also X,Y,Z und Sector).
<Var/Array> ist die Quelle, woher dieser Array seine Einträge herbekommen soll, also das Argument 1, hier mit seinem Namen Sector.Pos.
<[Var/Number]> ist eine Ordnungszahl, also die Nummerierung der Einträge, beginnend mit 0.

Die so gespeicherten Informationen aus dem Argument 1 verwendet dann der create ship= Befehl innerhalb seiner Werteangabe.

Das wars.
Wenn Du noch Fragen haben solltest, dann melde Dich. Ich denke mal bis dato müßten sich meine Fingerkuppen wieder abgekühlt haben. :mrgreen:

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Toby
Rekrut
Beiträge: 64
Registriert: Mo 10 Aug, 2009 1:38 pm
Lieblings X-Titel: X3: Terran Conflict

Danke!

Beitrag von Toby »

Wow!
...
...
...
...
...
(ich bin sprachlos) :-D

Vielen, vielen Dank für diese geduldige und genaue Anleitung! Ich habe mir alles durchgelesen und es dann ausprobiert. Und es hat funktioniert! Zuerst mit einem Erweiterten Sateliten (was aber keine so gute Idee ist, denn dann kann man die Extras nicht überprüfen) und dann mit einem Split Elefanten. Beide habe ich natürlich für die Fairness hinterher wieder zerstört.
Es hat eigentlich alles funktioniert. Das Schiff war da, an den angegebenen Koordinaten und hatte volle Tunings, Schilde, Laderaum und Ruder!
Aber eines ist mir aufgefallen: Ich glaube (bin ja nur der "Schüler" :mrgreen: ), bei den Argumenten sind dir zwei kleine Fehler unterlaufen: Statt "Var/Sector" sollte da glaub ich stehen "Var/Sector Position" und statt "Var/Ship" sollte stehen "Var/Ship Type".
Ich habe es zuerst natürlich mit deinen Angaben versucht, aber da kam die Sektorkarte und dann stand oben im Eck "Schiffstyp wählen" und da habe ich mir schon gedacht, da stimmt was nicht... Dann habe ich in der Argumentenliste ein bisschen rumgestöbert und *schauschau* da klingt doch etwas gut, ausprobiert und - da ist der Elefant! :mrgreen: :-D

Nochmals vielen Dank für die viele (Tipp)Arbeit, die du dir da angetan hast!

@alle: Kann man in diesem Forum eig irgendwie einen Keks verschenken oder so (in manchen Foren geht das xD) oder ein spezielles Dankeschön aussprechen, weil sie hätte es sich auf jeden Fall verdient...
MatzeR
Moderator
Beiträge: 3810
Registriert: So 04 Jan, 2009 12:29 pm
Lieblings X-Titel:
Wohnort: Leitstern

Beitrag von MatzeR »

Die Beschreibung verstehe sogar ich.
Gute Arbeit, Taktkonform!
Einen Krieger erkennt man nicht an seinen Waffen, sondern an den Augen seiner Gegner!
Benutzeravatar
Taktkonform
Feldwebel
Beiträge: 3119
Registriert: Di 24 Jun, 2008 4:28 pm
Lieblings X-Titel:
Wohnort: Saxonia

Re: Danke!

Beitrag von Taktkonform »

tobiGenial hat geschrieben: Aber eines ist mir aufgefallen: Ich glaube (bin ja nur der "Schüler" :mrgreen: ), bei den Argumenten sind dir zwei kleine Fehler unterlaufen: Statt "Var/Sector" sollte da glaub ich stehen "Var/Sector Position" und statt "Var/Ship" sollte stehen "Var/Ship Type".
Ja klar, das war dann der Black Out meinerseits.^^
Natürlich müssen es Schiffsklasse und Sektorposition sein.

Aber da Du selbst dahinter gestiegen bist, beweist doch eigentlich nur, das Du das Prinzip verstanden hast. ;)

noch nen netten Tag
Taktkonform
Komm wir essen Oma - Satzzeichen können Leben retten!
Benutzeravatar
Diemetius
Moderator
Beiträge: 4351
Registriert: Mo 27 Aug, 2007 10:16 am
Lieblings X-Titel:
Wohnort: Great World ->East Germany
Kontaktdaten:

Beitrag von Diemetius »

Tobi Deine letzte Frage habe ich wieder in Dein Anfänge-Thread verschoben,
da sie nix mit Scripten zu tun hat bitte beachte wo Du was postest.

MfG Diemetius
Toby
Rekrut
Beiträge: 64
Registriert: Mo 10 Aug, 2009 1:38 pm
Lieblings X-Titel: X3: Terran Conflict

Beitrag von Toby »

@Taktkonform:
Ja, juhuu! ;-)
Vielen Dank fürs Tippen! :yeah: ;-)
@Dimetius: Ja, stimmt, sorry. Habe vergessen, dass ich hier im Skriptforum bin.... :oops:


Edit by Diemetius:Die Extrafrage hat jetzt einen eigenen Thread
Hier
Zuletzt geändert von Toby am Fr 11 Sep, 2009 12:34 pm, insgesamt 1-mal geändert.
MatzeR
Moderator
Beiträge: 3810
Registriert: So 04 Jan, 2009 12:29 pm
Lieblings X-Titel:
Wohnort: Leitstern

Beitrag von MatzeR »

@Diemetius
Ich finde, dass Taktkonform ein Sticky verdient hat. Ich habe wirklich noch nirgends eine so gute Anleitung zum Scripten gefunden.
Von dem ausgehend, was sie geschrieben hat, kommt man mit Probieren und so schon viel weiter.
@Taktkonform
Wenn Deine Finger wieder abgekühlt sind, könntest Du einmal etwas allgemeiner über das Scripten schreiben? Ich bin sicher, dass das viele interessieren würde. Mich auf jeden Fall. Da ich den HUB bald fertig habe, werde ich das Wahnilla-Spiel nämlich bald verlassen und will dann eventuell meine Scripte auch selber proggen.
Einen Krieger erkennt man nicht an seinen Waffen, sondern an den Augen seiner Gegner!
Benutzeravatar
Amadeusl
Seizewell Ehrenmitglied
Beiträge: 1938
Registriert: Sa 27 Nov, 2004 9:24 pm
Lieblings X-Titel: X²: Die Bedrohung
Wohnort: HVL

Beitrag von Amadeusl »

Auf vielfachen Wunsch hab ich den Thread gepinnt.

Bitte beim Thema bleiben, andernfalls müssen wir die Schere auspacken.

Gruß,
Amadeusl
Antworten