ticaki wrote:@ST
Guck dir das mal genauer an
Code: Select all
046 $Percent = ( $AmountExist * 100 ) / $AmountMax
047 if $Percent < $PercentFab OR $PercentFab == null
048 $PercentFab = $Percent
Gruß ticaki
P.S. hat nix mit dem Fehler da oben zu tun...glaub ich.
Stimmt, mit dem Stott-Fab Problem kann dieser Code nix zu tun haben. Aber trotzdem weiß ich nicht, was Du meinst.
Code: Select all
046: Errechne vorhandene Prozent an Ressourcen.
Am Beispiel EZ:
Vorhanden (AmountExist) sind 3000 / Maximal möglich (AmountMax) wären 5000
3000 x 100 = 300.000
300.000 geteilt durch 5000 = 60%
$percent ist 60
Code: Select all
047 Ist die aktuelle Ressouce prozentual weniger am Lager als die Vorherige
ODER ist Vorherige noch nicht belegt.
Im ersten Durchlauf ist die Variable $percentfab NULL. Daher muß ich das mit OR... abfangen, sonst wird diese Variable nie belegt und bleibt immer NULL. Denn "if percent < percentfab" wäre zunächst "60 < NULL". Das ergibt FALSE und bewirkt, daß Zeile 48 nie abgearbeitet wird. Daher fange ich die Erstbelegung von $percentfab mit dem "OR $PercentFab == null" ab.
Code: Select all
048 Die Var $PercentFab wird mit Wert 60 belegt.
Beim nächsten Durchlauf ist $Percent z.Bsp. 40, dann ergibt in 047 40 < 60 TRUE und Zeile 048 setzt $PercentFab auf Wert 40.
ticaki wrote:P.S.S. klappt das bei Dir das du das FabandRes array innerhalb des Unterscripts alloc's? und nicht im Hauptscript nochmal zusätzlich
Ja, das klappt. Sonst würde die ganze Software nicht laufen, wenn das nicht ginge. In Zeile 026 des main-Script wird die Variable FabsAndResources als Rückgabewert des helper-Script's gesetzt. Danach (Zeile 029) wird der erste Wert des Array ausgelesen und die Homepage des Schiffes erstmalig auf diese Fab (erster Array-Wert) gesetzt. Das helper-script wird danach nie mehr benutzt, solange das main-script läuft und das Schiff die ausgewählten Fabs versorgt. Das script bewegt sich dann endlos im Loop zwischen den Zeilen 033 und 205, wechselt die Ressourcen/wechselt die Homebase (aus dem Array FabsAndResources), je nach dem. Der Fehler mit der Stott-Mischerei muß irgendwo im helper script stecken, vermute ich momentan.