habe da ein Setup-Script, dass mir regelmäßig X2 auf den Desktop reißt



Weis ehrlich nicht, was da los ist. Hier zunächst mal der Code von dem Ding:
Code: Select all
Nachdem ich im Source-Code noch nicht so viele Kommentare drin habe, sind sie hier nachgerüstet
Eigentlich setup.TradewithCentral.xml, aber mit dem Namen läuft das Spiel nicht mehr
Script a.b.TradewithCentral
Version: 100
for Script Engine Version: 25
Description
Auto-Setup on this addition.
Arguments
Source Text
001 * First the language file load. This will load it from nn2051.xml with nn the
002 * language code
Hoffe, die ID ist frei ...
003 load text: id=2051
004 * Some Variables to be initialized and perhaps changed later
005 $Stationtype = Freie Argon Handelsstation
Das heist intern 'Transporter für Stationen' und wird über die 2051-er benannt.
006 $Upgrade = ReadText17-7000703
Das ist nur vorläufig
007 $Price = 152766
Der war für die Schleife. Ist übriggeblieben, aber kaum der Fehler, um den es hier geht
008 $Switch = [TRUE]
009 * Now the connection to the correct ware
Das ist auch im 2051-er benannt. Das File kommt mit
010 set script command upgrade: command=COMMAND_TYPE_STATION_30 upgrade=$Upgrade
011 * You have to be able to buy it anywhere
Die Map ausmessen
012 $SizeX = get max sectors in x direction
013 $SizeY = get max sectors in y direction
Und durchscannen. Der Switch ist noch übriggeblieben von einer früheren Variante. Bedeutet aber eigentlich nur, dass nur eine Station gefunden wird, statt alle
014 while $SizeX AND $Switch
015 dec $SizeX =
Vorsicht ist alles ...
016 @ = wait 1 ms
017 while $SizeY AND $Switch
018 dec $SizeY =
019 @ = wait 1 ms
Damit sollte eigentlich der richtige Sektor gefunden werden
020 $Sektor = get sector from universe index: x=$SizeX, y=$SizeY
Wenn diese Koordinate hier leer ist, nächste Koordinate
021 skip if $Sektor
022 continue
Ansonsten den Nullpunkt im Sektor markieren
023 $Pos = array alloc: size=3
024 $Pos[0] = 0
025 $Pos[1] = 0
026 $Pos[2] = 0
Finde eine Frei Argon Handelsstation in diesem Sektor
027 $Station = find station: sector=$Sektor class or type=$Stationtype race=Argonen flags=[Find.Friend] refobj=null maxdist=70000 maxnum=1 refpos=$Pos
Gefunden ?
028 if $Station
Besitzer sichern ...
029 $Owner = $Station -> get owner race
Umschalten ...
030 $Station -> set owner race to Player
Ware einbringen ...
031 $Station -> add product to factory or dock: $Upgrade
032 = $Station -> add 1 units of $Upgrade
und Preis setzen ...
033 $Station -> set price of ware $Upgrade to $Price Cr
Jetzt Station wieder zum alten Besitzer zurück
034 $Station -> set owner race to $Owner
035 $Switch = [FALSE]
036 continue
037 end
038 end
039 end
040 return null

Dabei scheint es wohl zu dem Fehler zu kommen. Da es als Setup läuft, kann ich keine Fehlermeldungen erzeugen, ich weis nicht, was dann schon läuft. Ich weis auch gar nicht, wo ich anfangen soll zu suchen, da ich eigentlich alle Fehler, die mir einfallen, abgefangen habe (vor allem den Klassischen, dass es den Sektor nicht gibt).
Kann mir jemand helfen


Ich werde natürlich parallel auch noch weiter suchen und hier ergänzen, wenn mir dabei noch was auffällt. Ach ja, wie ist das eigentlich mit externen Log-Files: werden die bei einem Absturz noch geschlossen oder sind die witzlos, weil grundsätzlich leer? Weis das jemand?
Ach ja, btw.: Sind die Page-ID 2051 und die Text-IDs 100/101 noch frei?
Tschüß
ManfredP