Ich habe heute ein kleines Script ins Leben gerufen, was die günstige (ökonomisch als auch Faulheits-bedingt) Energiezellen-Beschaffung ermöglicht. Das unten aufgeführte Script läßt ein Schiff (vorzugsweise Frachter) an eine Station andocken, eine bestimmte Ressource zu einem bestimmten Preis kaufen, zu einer eigenen Station zurückkehren und die Ladung löschen. Dabei wartet das Schiff an der Ressourcen-Station ab, bis der Preis für die Ressource auf oder unter einen angegebenen Wert fällt.
Soviel zur Umschreibung, hier der Code:
Code: Select all
Arguments
* 1: RessourceStation , Var/Station , 'RessourceStation'
* 2: SupportedStation , Var/Station , 'SupportedStation'
* 3: Ware , Var/Ware , 'Ware'
* 4: maxPrice , Value , 'maxPrice'
Source Text
001 $numberOfCells = 0
002 $price = 0
003 * TODO:
004 * .
005 while [TRUE]
006 * Hinweg:
007 @ = [THIS] -> call script '!ship.cmd.movestation.std' : object to land on=$RessourceStation
008 $numberOfCells = [THIS] -> get free amount of ware $Ware in cargo bay
009 $price = $RessourceStation -> get price of ware $Ware
010 if $price <= $maxPrice
011 goto label BUY
012 else
013 while $price > $maxPrice
014 @ = wait 30000 ms
015 $price = $RessourceStation -> get price of ware $Ware
016 end
017 BUY:
018 = [THIS] -> buy $numberOfCells units of $Ware to a max. price of $maxPrice Cr
019 * R�ckweg:
020 @ = [THIS] -> call script '!ship.cmd.movestation.std' : object to land on=$SupportedStation
021 StationVoll:
022 * Variable price wird doppelt genutzt!
023 $price = $SupportedStation -> get free amount of ware $Ware in cargo bay
024 if $numberOfCells > $price
025 @ = wait 60000 ms
026 goto label StationVoll
027 else
028 = [THIS] -> unload $numberOfCells units of $Ware
029 end
030 end
031 end
032 return null
Nach ausgiebigem Testen hat eine Vorgängerversion bestens funktioniert und meine Stationen gut mit Energiezellen versorgt (die kauf ich immer ein ). Als ich das Script jedoch umbenennen wollte, hat dies dazu geführt, dass es nicht mehr im Spiel-Script-Editor angezeigt wurde. Der Name in der Datei ( <name>enduredBuying</name> ) entspricht dem Dateinamen ( enduredBuying.xml ), trotzdem wird das Script nicht angezeigt. Könnt ihr da helfen?
(Der Eintrag in den Script-Beginner-FAQs hat mir nicht weitergeholfen, da wie gesagt der Name der Datei mit dem Script-Namen übereinstimmt).
Vielen Dank für eure Hilfe, und wenn euch das Script gefällt: Testen und feedback geben!