[-UPDATE-] Handelserweiterung ST1 - VERSION 7.01 14.04.2011

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

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

Post Reply
User avatar
Eldorado
Posts: 289
Joined: Mon, 9. Feb 04, 19:10
x2

Post by Eldorado » Tue, 18. May 04, 19:02

:lol: Dann kannst du ja einfach den Jumpdrive ned installieren und/oder die Nav ST1 ned auf die Frachter schmeissen!
Eines ihrer Schiffe wird angegriffen...<<TRANTOR>>!!

User avatar
mf_lueders
Posts: 309
Joined: Tue, 17. Feb 04, 15:42
x2

Post by mf_lueders » Wed, 19. May 04, 11:47

Hi allerseits,

isch han dat nochmal probiert...
BoFu-Lab, Cahoona-Presse, Raumschmiede, Rheim-Werk & Stott-Mischerei, in genau der Reihenfolge angegeben.
Die Stott-Mischerei wird nicht versorgt :(

Gut, ist nicht gerade ein Beinbruch, bekommt die halt ihren eigenen Piri-TP.
Aber komisch ists trotzdem.
:skull: :skull: :skull:

User avatar
SpaceTycoon
Posts: 1069
Joined: Wed, 6. Nov 02, 21:31
x4

Post by SpaceTycoon » Wed, 19. May 04, 13:10

mf_lueders wrote:isch han dat nochmal probiert...
BoFu-Lab, Cahoona-Presse, Raumschmiede, Rheim-Werk & Stott-Mischerei, in genau der Reihenfolge angegeben.
Die Stott-Mischerei wird nicht versorgt :(
Gut, ist nicht gerade ein Beinbruch, bekommt die halt ihren eigenen Piri-TP.Aber komisch ists trotzdem.
Stimmt. Komisch. Ändert sich etwas, wenn die Reihenfolge der Fabriken vertauscht wird, oder wird generell die Stott-Mischerei nicht versorgt (auch wenn die z.Bsp. als Erste oder Dritte gewählt wird)?

ticaki
Posts: 4585
Joined: Wed, 6. Nov 02, 21:31
x3

Post by ticaki » Wed, 19. May 04, 14:49

@ST
Guck dir das mal genauer an :D

Code: Select all

046      $Percent = ( $AmountExist * 100 ) / $AmountMax
047      if $Percent < $PercentFab OR $PercentFab == null
048       $PercentFab = $Percent
Gruß ticaki :roll:

P.S. hat nix mit dem Fehler da oben zu tun...glaub ich.

P.S.S. klappt das bei dir das du das FabandRes array innerhalb des Unterscripts alloc's? und nicht im Hauptscript nochmal zusätzlich :?
Zur Zeit nicht aktiv

User avatar
SpaceTycoon
Posts: 1069
Joined: Wed, 6. Nov 02, 21:31
x4

Post by SpaceTycoon » Wed, 19. May 04, 15:54

ticaki wrote:@ST
Guck dir das mal genauer an :D

Code: Select all

046      $Percent = ( $AmountExist * 100 ) / $AmountMax
047      if $Percent < $PercentFab OR $PercentFab == null
048       $PercentFab = $Percent
Gruß ticaki :roll:
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.

ticaki
Posts: 4585
Joined: Wed, 6. Nov 02, 21:31
x3

Post by ticaki » Wed, 19. May 04, 16:07

Im "helper" Script kann ich keinen Fehler finden... :( Vielleicht versuchst du mal ein array alloc auf das FabandResarray vor dem Scriptaufruf. Ich hatte mit deiner Version immer probleme.(nicht mit deinem Script, sondern wenn ich das array nicht initialisiert hatte.)

zu meinem obrigen Codezitat.
Spiele das mal durch, wenn in der 3 von 5 Station 0 Waren an Lager sind.

Gruß ticaki
Zur Zeit nicht aktiv

User avatar
SpaceTycoon
Posts: 1069
Joined: Wed, 6. Nov 02, 21:31
x4

Post by SpaceTycoon » Wed, 19. May 04, 16:37

ticaki wrote:Im "helper" Script kann ich keinen Fehler finden... :(
Da sag ich aber :mrgreen:
ticaki wrote:Vielleicht versuchst du mal ein array alloc auf das FabandResarray vor dem Scriptaufruf. Ich hatte mit deiner Version immer probleme.(nicht mit deinem Script, sondern wenn ich das array nicht initialisiert hatte.)
Klink ich mal rein. Auf eine Zeile mehr oder weniger kommts eh nicht an :)
ticaki wrote:zu meinem obrigen Codezitat.
Spiele das mal durch, wenn in der 3 von 5 Station 0 Waren an Lager sind
Grrr. Das ist die Crux, wenn keine genaue Doku existiert. :cry: Ich hab's jetzt nur in Gedanken durchgerechnet, nicht probiert. Beim Rückgabewert des Befehls "get true amount of ware $Resource in cargo bay" gehe ich von einer "0" (und nicht NULL) aus, wenn gar nichts am Lager ist. Diese Vermutung könnte aber jetzt schonmal falsch sein :?
Angenommen, es kommt da der Wert "0" zurück und in die Var AmountExist rein: Erzeugt nun eine Divison durch "0" [0 * 100 = 0) / 5000 = :? ] im Scripteditor einen Fehler, NULL oder den Wert 0?

ticaki
Posts: 4585
Joined: Wed, 6. Nov 02, 21:31
x3

Post by ticaki » Wed, 19. May 04, 16:39

0 / 4 = NULL :D

Gruß ticaki
Zur Zeit nicht aktiv

User avatar
SpaceTycoon
Posts: 1069
Joined: Wed, 6. Nov 02, 21:31
x4

Post by SpaceTycoon » Wed, 19. May 04, 16:49

ticaki wrote:0 / 4 = NULL :D
Gruß ticaki
IGITTT ! :oops: Da bin ich bisher von "0" ausgegangen.

Danke! Version 4 werde ich so bald wie möglich ins Netz stellen. Jetzt muß ich leider gleich zur Arbeit. :(
Viele Grüße SpaceTycoon

User avatar
Orka
Posts: 798
Joined: Wed, 7. Apr 04, 15:19
xr

Post by Orka » Wed, 19. May 04, 19:07

Achja das 0 NULL feature^^

User avatar
SpaceTycoon
Posts: 1069
Joined: Wed, 6. Nov 02, 21:31
x4

Post by SpaceTycoon » Thu, 20. May 04, 00:01

ticaki wrote:0 / 4 = NULL :D
Ich glaub' hatte doch recht :P
  • 0 / 4 = 0
Weil:

Code: Select all

001
002 $Ergebnis = [0 * 100 ] / 50
003 write to player logbook $Ergebnis
In diesem Fall steht im Playerlogbuch eine "0". D.h. Division durch den Wert/Betrag "0" ergibt wiederum "0".

Code: Select all

001
002 $Ergebnis = [null * 100 ] / 50
003 write to player logbook $Ergebnis
In diesem Fall steht im Playerlogbuch "null".

Für mich heißt das, es müßte bereits aus dem Befehl "get true amount of ware $Resource in cargo bay" der Wert "null" rauskommen, wenn von der Resource alles leer ist / die Resource auf 0 steht.

ticaki
Posts: 4585
Joined: Wed, 6. Nov 02, 21:31
x3

Post by ticaki » Thu, 20. May 04, 00:37

@ST
sogenau hab ich das nicht ausgetestet bei mir sieht das Problem so aus. Du kannst aber recht haben.

Code: Select all

271   $Kaufrundreise = 100 - 100 * $FreeShipAmount / $MaxAmountInShip < 60
...
...
286   * Hmmm da kommt Null raus das wandeln wie in wahr um
287   skip if not $Kaufrundreise == null
288    $Kaufrundreise = [TRUE]

Gruß ticaki
Zur Zeit nicht aktiv

User avatar
Orka
Posts: 798
Joined: Wed, 7. Apr 04, 15:19
xr

Post by Orka » Thu, 20. May 04, 12:20

ticaki wrote:

Code: Select all

271   $Kaufrundreise = 100 - 100 * $FreeShipAmount / $MaxAmountInShip < 60
...
...
286   * Hmmm da kommt Null raus das wandeln wie in wahr um
287   skip if not $Kaufrundreise == null
288    $Kaufrundreise = [TRUE]

Gruß ticaki
Kann wer bitte 217 übersetzten? Das "<" hätte ich gerne in den zusammenhang erklärt :)

ticaki
Posts: 4585
Joined: Wed, 6. Nov 02, 21:31
x3

Post by ticaki » Thu, 20. May 04, 12:33

Orka wrote:

Code: Select all

271   $Kaufrundreise = 100 - 100 * $FreeShipAmount / $MaxAmountInShip < 60
Kann wer bitte 217 übersetzten? Das "<" hätte ich gerne in den zusammenhang erklärt :)

Code: Select all

a1 = 100 * $FreeShipAmount / $MaxAmountInShip 
Wie hoch ist der freie Laderaum...z.B. 31% sind frei

Code: Select all

a = 100 -a1
Das in beladenen Frachtraum wandeln...z.B. 69% = 100% - 31%

Code: Select all

b = 60
Kaufrundreise = a < b
IF der beladene Frachtraum < 60% then [true] else [false]...z.B. [false] = 69% < 60%

Gruß ticaki
Zur Zeit nicht aktiv

User avatar
Orka
Posts: 798
Joined: Wed, 7. Apr 04, 15:19
xr

Post by Orka » Thu, 20. May 04, 13:01

Aha Thx :)

Hm daran werde ich mich wohl nie gewöhnen^^

Gab’s die Schreibweise schon in GWBasic? Ist mir damals nie aufgefallen^^

Post Reply

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