Deutsches Simutransforum

Normale Version: Geldschwemme?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Simutrans-Version: 102.3-3038 linux64

PAK-Set (+zusätzliche PAK-Dateien): pak128

Betriebssystem: Linux


Fehler (möglichst genaue Beschreibung):
Es scheint, als würden mitunter negative Einkünfte im zweierkopliment als positive gewertet.

Beispiel:
Ein Zug von A nach B, sagen wir um Kohl abzuliefern.
Die Quelle steht auf "volle Beladung"
Die Zielplattform kann aber keine Waren, darum steht ein Lagerhaus daneben.
Löscht man nun das Lagerhauswärend der Zug halb belanden wartet, so wird keine Kohl mehr verladen und der Zug bleibt halb voll stehen
Weist man ihn im ahrplan an, doch zum Ziel zu fahren, so läd er natürlich nichts ab, die Kohle fährt also wieder zurück.
Setzt man während der Rückfahrt das Lagerhaus wieder und kommt dann der Zug wieder bei der Quelle an, so wird zwar auf dem Bildschirm (richtigerweise) eine Negativbeinkunft angezeigt. Tatsächlich scheint dieses Zweierkompliment dem Konto hinzugefügt zu werden.

Anscheinend gilt dies für alle Fahrten mit negativeinkünften.
Hmm, entschuldige bitte, vielleicht steh ich ja auch aufm Schlauch, aber ich verstehe deinen Beitrag nicht.. ?(
Ich sehe vor allem auch keinen richtigen Bug, sondern nur eine Lösung, wie Simutrans mit außerordentlichen bzw. außergewöhnlichen Situationen umgeht - bspw. anstelle abzustürzen. Immerhin greifst du direkt in den Transport bzw. die Transportgrundlagen (durch Verändern der akzeptierten Waren) ein. Es ist also keine "normale" Situation die einem während des Spiels ständig auffällt, sondern halt eine "konstruierte".
Davon abgesehen, was wäre denn dein Vorschlag wie Simurtrans stattdesssen reagieren sollte? (Immerhin siehst du das jetztige Verhalten ja als Bug an)

Kohl oder Kohle? Naja, (Geld-) Schwamm drüber. Wink
hi, das Beispiel zeigt eine auf jeden Fall wiederholbare Situation auf. Die istzwar konstruiert, aber wiederholbar.

So wie's gerade aussieht, führt jeder Transport mit eigentlich negativem Einnkommen dazu, dass Du auf einmal Milliarden zur Verfügung hast.

Der Fehler ist, dass x Milliarden auf dein Konto gebucht werden, anstatt das dies um ein paar Credits verringert wird.

Irgendwo bei der Berechnung muß ein Vorzeichenfehler oder Überlauf drin sein bzw ein falscher Cast. Von daher noch einmal der Hinweis, dass es sich um die 64Bit-Version handelt.

btw. "früher" gabs keine negativen Einkünfte, also war der Code wohl auch nicht darauf optimiert bzw. abgestimmt.
Ok, jetzt hab ich es auch gerafft. Es wird also viel zu viel auf einmal gutgeschrieben. Ich hatte gedacht, dass man es mehrmals wiederholen muss um einen ansehlichen Betrag zusammen zu bekommen.
nee, da hasste beim ersten Mal ausgesorgt *g*
Bei mir wird der negative Betrag korrekt abgezogen. Scheint ein Compilerproblem zu sein.

Klappt übrigens nur, wenn pay_for_distance nicht 0 ist.
32-Bit-Version?
kannste mal schauen?
hi, habs nochmal getestet

(es genügt übrigens, einen Transport voll beladen in die Ladestation zurück zu schicken, es muß nur ein negariver Transporterlös erzielt werden)

Es handelt sich tatsächlich um einen Überlauf, der sich so nur in der 64Bit-Version auswirkt. In der 32-Bit-Version ist das Ergebnis korrekt.

Dümmlicherweise hakt bei mir die 32Bit-Version beim Dynlinking, was es einem "normalen" Spieler schwer machen wird sie zu nutzen