Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
get_consumed
#1
Zitat:Original von ny911
function bonus_jfk
Warum auch immer muss die Abfrage für den letzten Monat
'...get_departed()[0]' lauten und darf nicht 1 im Zähler haben.

function bonus_cfk
Hier muss es aber '...get_consumed()[1]' lauten. Warum?
Oder besser: Wo habe ich den Logikfehler?

Um einige "Bonus stuff" Funktionen besser testen zu können, einfach im script die Zielwerte reduzieren.

Sowohl bei get_consumed also auch bei get_departed ist [0] der Wert fuer den aktuellen Monat, [1] der Wert des letzten Monats. Der Wert [0] kann sich natuerlich noch aendern.

Edit:
Da ist noch ein Tipfehler in function electro:
Code:
persistent.bonus.electro = factory_x(391,488).input.electronics.get_consumend()[1]
consumend -> consumed
Zitieren
#2
Zitat:Da ist noch ein Tipfehler in function electro:
ups, Danke für den Hinweis!

Zitat:Sowohl bei get_consumed also auch bei get_departed ist [0] der Wert fuer den aktuellen Monat, [1] der Wert des letzten Monats. Der Wert [0] kann sich natürlich noch aendern.

Ist mir klar. Nur:
Bei der JFK Abfrage muss der Wert auf 0 lauten, damit es der letzte Monat ist.
Im Anhang ein Screenshot mit Mauszeiger auf der letzten Monatsanzeige. Im Script Fenster wurden entsprechend der 1046 Abfahrten (die Airports LAG und NEW werden nicht bedient)gibt es 10450$, was richtig ist.

Hingegen muss ich bei den (z.B.) bonus_cfk korrekter Weise die 1 wählen.
Zitieren
#3
Was meinst du mit bonus_cfk ? gibts bei mir nicht ...

Die is_scenario_completed wird nacheinander fuer alle Spieler pl =0,1,2,... aufgerufen.

Du musst wahrscheinlich noch pl==0 abfragen:

if pl!=0 return

oder so. Vielleicht erklaert das auch das komische Verhalten oben? Dann fuer pl=1 oder =2 counter hochgesetzt und Abfragen uebersprungen, Weil aus deinem Bericht werde ich nicht schlau.
Zitieren
#4
Zitat: if pl!=0 return
oder so. Vielleicht erklaert das auch das komische Verhalten oben? Dann fuer pl=1 oder =2 counter hochgesetzt und Abfragen uebersprungen, Weil aus deinem Bericht werde ich nicht schlau.
Das hat eine Menge gebracht. Aber war nicht die Lösung.

Zitat:Was meinst du mit bonus_cfk ?
Sorry, meinte natürlich bonus_chicken.

Es ist weiterhin so das get_consumed bei bonus_chicken auf den letzten Monat abgefragt werden muss [1], aber bei bonus_jfk auf [0]

Anbei nochmal das aktuellere Script und ein savegame.
http://simutrans-germany.com/files/uploa...k_city.zip
http://simutrans-germany.com/files/uploa...t_6_v4.sve

Der aktuelle Speicherstand erlaubt es direkt am JFK Airport und an dem SFC Store die Daten einzusehen. Der Bonus für den letzen Monat wurde bezahlt (siehe Szenario Fenster) und im Rathaus Downtown ist der Bevölkerungszuwachs zu erkennen, auch wenn etwas viel., aber passend zu den Daten des letzten Monats (zuvor waren die Bedingungen nicht erfüllt).
Folgt: Eins von beiden funktioniert nicht richtig!
Zitieren
#5
hab den Fehler gefunden (nicht behoben...)

is_scenario_completed wird zweimal (warum auch immer zweimal) aufgerufen waehrend eines Monatswechsels.

Darum sind sind die Daten noch nicht 'weitergerutscht' wenn die bonus_jfk Abfrage kommt. Setze ich hier die counter-Abfrage auf (counter==2) dann passts. Das erklaert auch, warum spaeter bei der chicken-Abfrage [1] richtig ist ...
Zitieren
#6
habe inzwischen den counter unter persistent.counter gesteckt. Nun habe ich die doppelte Aufrufe durch erneutes Laden verhindert.

Zitat:Setze ich hier die counter-Abfrage auf (counter==2) dann passts. Das erklaert auch, warum später bei der chicken-Abfrage [1] richtig ist ...
Das klingt logisch. Kann ich aber bei mir reproduzieren. Bekomme trotz (counter==2) die gleichen Werte wie bei (counter==0).

Zitat:hab den Fehler gefunden (nicht behoben...)
Gut, ist doch schon der halbe Weg.
Zitieren
#7
sollte mit r6268 wieder konsistent funktionieren.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste