BetaGeuze wrote:@borg[AUT]
also das mit dem in die Zeile 59 zu schreiben, ist mir doch etwas zu kompliziert. Ist auch nicht ganz so wichtig. man kann halt nicht alles haben.
Zeile 59 markieren und . drücken. So wird aus einem Befehl ein Kommentar. Mit , machst du das wieder rückgängig.
BetaGeuze wrote:Währe schon schön.
Aber wenn Nicht, dann Nicht...
<Bild entfernt>
Hab jetzt selber den code in nen Script geschrieben.
Die Arguments schreib versteh ich ja noch, aber den Rest nicht wirklich.
Kannst du das vieleicht mal minikurz erläutern. Denn ich kann nicht einfach 001 $x = $secpos[0] eingeben, sondern muss werd immer aufgefordert aus verschiedenen Kategorien auszuwählen, die ich einfach nicht versteh...
Ich dank dir auf jedenfall für deine Hilfe auch wenn ich das nicht hinbekomme.
Bin ja immerhin ein ganzes Stück weiter
Ich versuch mal, mein Script von weiter oben zeilenweise zu erklären.
Code: Select all
001 $x = $secpos[0]
002 $y = $secpos[1]
003 $z = $secpos[2]
004 $sec = $secpos[3]
$secpos ist ein Array (Tabelle mit einer Spalte) das aus dem ersten Argument generiert wird. Bei
Var/Sector Position hat dieses Array immer vier Werte. Arrays sind immer 0-basierend, das bedeutet, dass das erste Element den Index 0 hat. Daher auch die vier Zeilen, in denen ich das Array auf vier Werte ($x, $y, $z, $sec) aufteile. Der passende Befehl ist:
<RetVar/IF> = <Var/Array>[<Var/Number>] (General Commands > Arrays)
startet eine Schleife. Eigentlich heisst es
while $cnt > null, aber in diesem Fall kann man das
> null weglassen. Wie oft die Schleife durchlaufen wird, bestimmst du über das vierte Argument.
verringert den Zähler um eins. Diese Zeile ist SEHR wichtig. Vergisst du sie und verzichtest auf ein
@ <RetVar> wait <Var/Number> ms produzierst du eine Endlos-Schleife, die das gesamte Spiel zum Stehen bringt.
Code: Select all
007 $sh = create ship: type=$type owner=$race addto=$sec x=$x y=$y z=$z
erstellt ein Schiff der Type $type (Argument 2) das der Rasse $race (Argument 3) gehört und plaziert es an der Stelle $x, $y, $z (Werte aus den Zeilen 1-3) im Sektor $sec (Wert aus Zeile 4). Der Rückgabewert $sh definiert das Schiff während das Script noch läuft. Wird das Script beendet, ist auch $sh gelöscht.
Code: Select all
@ = [THIS] -> call script 'plugin.borg.cloneship' : carrier=$carrier

Merke gerade, dass ich Mist geschrieben habe. Statt
@ = [THIS]... muss es
@ = $sh -> ... sein.

Damit wird auf dem Objekt $sh (das Schiff, das wir gerade erstellt haben), Rückgabe aus diesem Script benötigen wir nicht, daher
@ = $sh.... $carrier (Argument 5) wird direkt an das zweite Script weitergegeben.
Code: Select all
009 $sh -> set race logic control enabled to [FALSE]
Wird nur aktiv, wenn $race nicht der Spieler ist. Erklärung für den Befehl:
<RefObj> set race logic control enabled to [TRUE]|[FALSE]
end beendet die Schleife, die in Zeile 5 gestartet wurde.
return null ist das Ende des Scripts. Wird dieses Script durch ein anderes aufgerufen, könnte man damit einen Wert an das aufrufende Script zurückgegen.
Hoffe, das ich dir helfen konnte,
borg[AUT]