Schiffe per Script zerstören

Hier ist der ideale Ort um über Scripts und Mods für X³: Reunion zu diskutieren.

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

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Schiffe per Script zerstören

Post by StarEagle93 » Tue, 22. Jan 13, 21:39

Guten Abend,

Ich habe mir heute ein Schiff per Script erstellt und da ist mir ein dummer fehler unterlaufen und nun ist dieses Schiff in einem nicht existierenden Sektor namens Unbekanntes Objekt.

Ich möchte nun wissen, wie man dieses Schiff zerstören kann, da es in der Bestiztümerliste nervt.

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

Post by UniTrader » Tue, 22. Jan 13, 22:57

wenn du glück hast funktioniert der hier:

$ship.arr = get ship array from sector null
$ship = $ship.arr [0]
$ship -> destruct: show no explosion=[TRUE]

wenn nicht meld dich nochmal, ich hab da noch mehr möglichkeiten, die aber schwerer zu erklären sind..
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 ;)

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Post by StarEagle93 » Tue, 22. Jan 13, 23:27

wie macht man denn die mittlere zeile?

Ich habe das script mal ausgeführt, aber da hat sich nichts getan, vieleicht weil ich die mittlere zeile nicht hatte.

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

Post by X2-Illuminatus » Wed, 23. Jan 13, 10:06

Nicht vielleicht, sondern ganz sicher, weil du die zweite Zeile weggelassen hast. ;) Die erste Zeile gibt dir ein Array aller Schiffe im Sektor null aus (bin mir gerade auch nicht sicher, ob das funktioniert). Mit der zweiten Zeile wählst du dann das erste Objekt aus diesem Array aus und speicherst es in der Variable $ship, die du dann in der dritten Zeile zerstörst. Lässt du die zweite Zeile weg, ist der Variablen kein Wert zugewiesen.

Die zweite Zeile bekommst du mit dem Befehl <RetVar/IF><Var/Array>[<Var/Number>] hin, der sich in den General Commands unter Arrays findet.
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!

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Post by StarEagle93 » Wed, 23. Jan 13, 17:41

Jetzt bleibt mir aber noch eine frage offen:

und zwar zu dem befehl

$ship.arr = get ship array from sector null

Wenn ich den befehl auswähle, sieht es so aus:

Variable= ? get shipt arry from sector

Ich musste da auch noch etwas auswählen, sonst konnte es nicht gespeichert werden.

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

Post by UniTrader » Wed, 23. Jan 13, 18:11

kann sein dass die Sektorangabe direkt nach dem = war, ich hab ne ziemlich lange zeit nix im SE gemacht.. (kurz gesagt: da käme dann null rein )
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 ;)

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Post by StarEagle93 » Wed, 23. Jan 13, 18:59

Das Script scheint irgendwie nicht zu klappen.

Das Problem ist, dieses Schiff ist in keinem Sektor, aber es ist da.

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

Post by UniTrader » Wed, 23. Jan 13, 20:51

ich seiss, deswegen ja bei der Ortsangabe null (==kein Variableninhalt, Leere Menge) :roll: (dein problem kenne ich, ist nen geläufiger fehler wenn man beim Schiffe erstellen die Sektorangabe vergisst oder was ungültiges eingibt...)

dann mal hier nen anderer Ansatz, funktioniert garantiert, ist aber ein wenig mehr:

$ship.arr = get ship array from race Player
$ship.size = size of array $ship.arr
while $ship.size
| dec $ship.size=
| $ship = $ship.arr [ $ship.size ]
| $ship.sector = $ship -> get sector
| if $ship.sector == null
| | $ship -> destruct: show no explosion=[TRUE]
| end
end
return null



und diesmal keine Zeile weglassen, wenn du etwas nicht findest :roll: jede Zeile hat ihren zweck und wenn eine davon fehlt funktioniert das gesamte nicht :roll:

und schonmal im vorraus: das while…… sowie das if……… bekommst du mit <retvar/IF><expression> und das end (conditional) in den general commands bei flow control
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 ;)

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Post by StarEagle93 » Thu, 24. Jan 13, 00:47

Endweder bin ich zu blöd oder ich verstehe einfach das Script nicht :?

$ship.arr = get ship array from race Player
$ship.size = size of array $ship.arr
while $ship.size
| dec $ship.size=

bis hier hin habe ich es verstanden und der | ist anscheinend nur das leerzeichen...

Bei dieser Zeile: "$ship = $ship.arr [ $ship.size ]" verstehe ich nicht wie ich diese zeichen mache "[]" (falls die da hin müssen)

und bei dieser Zeile: " $ship.sector = $ship -> get sector" verstehe ich nicht, wie man "-> get sector" dahin bekommt

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

Post by X2-Illuminatus » Thu, 24. Jan 13, 12:13

Bei dieser Zeile: "$ship = $ship.arr [ $ship.size ]" verstehe ich nicht wie ich diese zeichen mache "[]" (falls die da hin müssen)
Diese Zeile ist prinzipiell genau die gleiche wie die zweite Zeile im ersten Beispiel von UniTrader.
und bei dieser Zeile: " $ship.sector = $ship -> get sector" verstehe ich nicht, wie man "-> get sector" dahin bekommt
get sector ist der Befehl. Er sollte sich in den General Object Commands recht weit oben finden. Die einzelnen Variablen kannst du dann direkt im Befehl auswählen.
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!

StarEagle93
Posts: 18
Joined: Fri, 11. Jan 13, 16:40
x3tc

Post by StarEagle93 » Thu, 24. Jan 13, 18:46

Script war erfolgreich - Schiff wurde zerstört :) und damit Problem gelöst.

Return to “X³: Reunion - Scripts und Modding”