Bekomme Script nicht zum Laufen/korrekt arbeiten

Hier ist der ideale Ort um über Scripts und Mods für X²: Die Bedrohung zu diskutieren.

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

ManfredP
Posts: 115
Joined: Tue, 25. Apr 06, 12:40

Bekomme Script nicht zum Laufen/korrekt arbeiten

Post by ManfredP »

Hallo,
habe da ein kleines Script verfasst, dass eigentlich nur ein paar Informationen aus dem Spiel leiern sollte. Ich habe nämlich rausgekriegt (ich weis, die Info ist nicht neu), dass die create-Funktionen im Parameter type neben der Beschreibung des Typs (also einem Text) auch Zahlen akzeptieren. Zumindest ist das bei der Funktion create ship und den Funktionen zu den Ausstattungsteilen (wie Asteroiden oder Sonnen so) -bei denen ist es ja auch im Handbuch erläutert und aufgeschlüsselt. Nun wollte ich das Gleiche auch mit den Stationen machen, auch, um heraus zu bekommen, was das Spiel so alles anbietet (bei create flying ware habe ich unter der main type 16 so einiges gefunden, dass im Spiel nicht erscheint). Die Stationen sollen also nicht im weiteren Spielverlauf erscheinen, mir geht es darum, zu erfahren, welche Nummer zu welcher Station gehört. Allerdings: Das Ding will einfach nicht. Wenn die create-Funktion scheitert, gibt sie null zurück und die Nachricht fällt dementsprechend aus -und genau das passiert immer, ganz gleich, welche Nummern ich erzeugen lasse. Funktioniert das hier mit Nummern nicht oder habe ich im Script was falsch gemacht? Könnte da mal jemand drübergucken?

Das Script:

Code: Select all

     Arguments
        1: UGStart , Nummer , 'Erste Untergruppe'
        2: UGEnd , Nummer , 'Letzte Untergruppe'
        3: ObjektD , Nummer , 'Objekt-Distanz zum Bezugspunkt'
     Source Text
     001   $ContD = 1000
     002 @ = wait 15000 ms
     003   * Eigentlicher Anfang nach Wartezeit zur Initialisierung des Spielers
     004   $Sektor = [THIS] -> get sector
     005   skip if not [THIS] -> is docked
     006    return null
     007   $OrtX = [THIS] -> get x position
     008   $OrtY = [THIS] -> get y position
     009   $OrtZ = [THIS] -> get z position
     010   $UGCount = 0
     011   $UGRun = $UGStart
     012   if $UGStart > $UGMax
     013    return null
     014   else if $UGEnd > $UGMax
     015    $UGEnd = $UGMax
     016   end
     017   skip if not $UGStart > $UGEnd
     018    return null
     019   $OrtY = $OrtY + $ObjektD + 1000
     020   $Owner = [PLAYERSHIP] -> get owner race
     021   while not $UGRun > $UGEnd
     022    $Station =  create station: type=$UGRun owner=$Owner addto=$Sektor x=$OrtX y=$OrtY z=$OrtZ
     023    if $Station
     024     $Nachricht = 'Gerade wurde eine Station der Art '
     025     $Nachricht = $Nachricht + $Station
     026     $Nachricht = $Nachricht + ' , Nebengruppe '
     027     $Nachricht = $Nachricht + $UGRun
     028     $Nachricht = $Nachricht + ' an den Koordinaten '
     029     $Nachricht = $Nachricht + 'X ' + $OrtX
     030     $Nachricht = $Nachricht + ' , Y ' + $OrtY
     031     $Nachricht = $Nachricht + ' , Z ' + $OrtZ
     032     $Nachricht = $Nachricht + ' im Sektor ' + $Sektor + ' erzeugt.'
     033     $ID = $Station -> get ID code
     034     $Nachricht = $Nachricht + ' Die Station hat die ID ' + $ID
     035    else
     036     $Nachricht = 'Die Erzeugung einer Station misslang aus unbekanntem Grund.'
     037    end
     038    send incoming message $Nachricht to player: display it=[FALSE]
     039    play sample 1100
     040    play sample 903
     041    $OrtY = $OrtY + $ContD
     042    inc $UGRun = 
     043    inc $UGCount = 
     044   end
     045   $Nachricht = 'Habe fertig!'
     046   = speak text: page=13 id=1271 priority=2
     047   send incoming message $Nachricht to player: display it=[FALSE]
     048   return null
[/color]
Tschüß und Danke

ManfredP

Return to “X²: Die Bedrohung - Scripts und Modding”