ich habe einen m1 per script in einen sector springen lassen, dort soll er dann die zuvor festgelegten ziele vernichten. funktioniert auch tadellos. im m1 sind mehrere fighter (in diesem fall m3+ eklipse) angedockt, welche den m1 als homebase haben. nun zum problem, wie schaffe ich es diese fighter starten zu lassen und ihnen den befehl "beschütze m1" zu geben? ich bastle da schon seit mehreren stunden herum
hier mal der code den ich momentan versuche. funktioniert aber auch nicht.
Code: Select all
001 load text: id=7048
002 $ship = [THIS]
003 $sector = $ship -> get sector
004 $fighter = $ship -> find ship: class or type=Eklipse race=Player flags=[DOCKEDAT] refobj=$ship maxnum=200 with homebase=$ship
005 $size.fighter = size of array $fighter
006 $msg = sprintf: fmt='fighter %s gefunden', $size.fighter, null, null, null, null
007 write to player logbook $msg
008 $i = 0
009 while $i < $size.fighter
010 $fighter.i = $fighter[$i]
011 $home.fighter = $fighter.i -> get homebase
012 if $home.fighter == $ship
013 $fighter.i -> start task 0 with script '!ship.cmd.protect.std' and prio 0: arg1=$ship arg2=null arg3=null arg4=null arg5=null
014 end
015 inc $i =
016 end
017 $size.ziele = size of array $ziele
018 $i = 0
019 while $i < $size.ziele
020 $ziele.i = $ziele[$i]
021 @ = $ship -> call script '!ship.cmd.attack.pl' : victim=$ziele.i
022 inc $i =
023 end
024 return null
Code: Select all
004 $fighter = find ship: sector=$sector class or type=Eklipse race=Player flags=[DOCKEDAT] refobj=$ship maxdist=null maxnum=200 refpos=null
bei flags habe ich auch schon verschiedenes getestet, find.mutiple, find.includedock und dieses komische ENVIRONMENT .
alles ohne erfolg.
kann mir mal wieder jemand helfen?
PS:
zeile 006 und 007 sind momentan nur eine kontrollausgabe um zu sehen ob irgendwelche fighter gefunden werden. ist aber immer 0.