ich hab ein Problem mit einem Script das gerade schreibe.
Ich möchte das ein TL den ich per Script erzeuge und der als Homebase das Terracorp HQ hat, den Befehl geben zur Station X zu fliegen und dort irgendwas zu machen. Danach soll er wieder zu seiner HB zurück fliegen.
Das Script soll durch einen Befehl von meinem Schiff aus gestartet werden.
Ich hab das igentlich schon so weit das der TL brav das macht was er soll wenn ich das Script per Hand starte. Nur wenn ich es von meinem Schiff (Kommando >>Fremd>> machwas) aufrufe macht der TL nix. Er hat zwar als Ziel die angegeben Station, aber er fliegt einfach nur dumm duch die Gegend.
Hier mal ein Auszug aus meinem Script:
Hier wird der Befehl gesetzt:
Code: Select all
global script map: set: key=WPLiefern, class=Ship, race=Player, script='a.wp.move.install', prio=0
002 set script command upgrade: command=WPLiefern upgrade=WP Liefervertrag
003 return null
Code: Select all
Arguments
1: schiff , Var/Ship , 'Schiff'
2: Station , Var/Station , 'Station'
3: variation , Nummer , 'Ausstattung'
Source Text
001 $homebase = $schiff -> get homebase
002 @ = $schiff -> call script 'a.waffenpl.move.tl' : Ziel Station=$Station Schiff=$schiff
003 @ = wait 500 ms
004 @ = $schiff -> call script 'a.waffenpl.pos' : WP.Variation=$variation fabrik=$Station
005 @ = wait 60000 ms
006 $tmp = [PLAYERSHIP] -> add -1 units of WP Liefervertrag
007 @ = $schiff -> call script 'a.waffenpl.move.tl' : Ziel Station=$homebase Schiff=$schiff
008 @ = wait 1000 ms
009 return null
Code: Select all
Arguments
1: target , Var/Station , 'Ziel Station'
2: schiff , Var/Ship , 'Schiff'
Source Text
001 infinite loop detection enabled=[TRUE]
002 * Position bestimmen
003 $x = $target -> get x position
004 $y = $target -> get y position
005 $z = $target -> get z position
006 $sec = $target -> get environment
007 $size = $target -> get size of object
008 $homebase = $schiff -> get homebase
009 *write to player logbook $size
010 $size = $size / 222 + 2500
011 *if $target == $homebase
012 $x = $x + $size
013 $y = $y + $size
014 $z = $z + $size
015 *$size = $size + 3000
016 *write to player logbook 'Homebase'
017 *end
018 *write to player logbook $size
019 * Zum Ziel springen
020 @ $tor = $schiff -> call script 'Xai.lib.find.nearest.gate' : target=$target
021 $schiff -> set destination to $target
022 @ = wait 10000 ms
023 $jmp.status = $schiff -> use jump drive: target=$tor
024 if not $jmp.status
025 send incoming message 'Sprung fehlgeschlagen' to player: display it=[TRUE]
026 @ = wait 100 ms
027 return null
028 end
029 $schiff -> set destination to $target
030 @ $done = $schiff -> call script '!move.movetoposition' : sector=$sec position x=$x position y=$y position z=$z precision=$size
031 *$done = 'Schiff ist an Station ' + $target + ' angekommen!'
032 *send incoming message $done to player: display it=[FALSE]
033 write to player logbook: printf: pageid=17111 textid=5, $schiff, $sec, $target, null, null
034 return null
Bis denn Thalon