11.11.2023, 01:32
(Dieser Beitrag wurde zuletzt bearbeitet: 11.11.2023, 11:11 von cmfrydos.
Bearbeitungsgrund: phex wink
)
(22.02.2023, 21:23)Fíonlaighrí schrieb:(10.03.2007, 18:34)Pergor schrieb: Doch noch etwas, was hier im Forum auch bereits erwähnt wurde:Nach meinem Kenntnisstand liegt die Grenze bei 1100 Dukaten. Alles, was darunter ge- oder verkauft wird, bringt maximal bis zu 30% Rabatt. Alles, was hingegen ab 1100 Dukaten ge- oder verkauft wird, hat aufgrund des Bugs zur Folge, dass der Rabatt nicht abgezogen, sondern hinzugezählt wird.
Feilscht man bei extrem hohen Werten (wie wenn man das "Buch des Zurbaran" verkaufen möchte), entstehen vollkommen unlogische Zahlen dabei. So bekommt man, wenn man beim "Buch das Zurbaran" noch ein paar Prozent durch Feilschen rausholt, im Endeffekt weniger Geld. Man könnte zwar vermuten, dieser Fehler rührt in diesem Beispiels daher, dass die Programmierer es eigentlich so eingerichtet haben, dass man das Buch nicht aus dem Turm mitnehmen kann, aber auch bei Kräutern beispielsweise tritt dieses Problem ja (zumindest bei mir) auch auf. In Schweif ist das zum Beispiels nicht der Fall.
(22.02.2023, 23:30)Lippens die Ente schrieb: ok, das ist neu, ich hatte 1000 Dukaten in Verdacht, trotzdem scheint der Gegenstandsverteiler besser zu sein auf Grund des Preisniveaus, wurde irgendwo bereits gerechnet, wenn der Verteiler genutzt wird gibt es ja keinen Rabatt.
hihi, es hatte keiner (ganz) Recht, wobei Fíonlaighrí effektiv näher lag.
Es kommt nicht auf den Wert des Verkauften an, sondern um das Erfeilschte, also was oben drauf oder abgezogen wird. Genauer, ob dieser erfeilschte Betrag über 0x8000 Hellern (327 Dukaten, 6 Silbertaler und 8 Hellern) liegt, d.h., wenn man verkauft und das Maximale erfeilscht (30%), geht es über einen Grundbetrag von 327,68 / 0,3 = 1092,26 Dukaten. Trifft man nicht die vollen 30 Prozent, kann dieser natürlich höher liegen.
An die Assembly-Programmierer hier: An einer Stelle wird der erfeilschte Betrag mit MOVSX EBX, DI in ein anderes Register kopiert, aber MOV EBX, EDI (ohne Sign-Extension, bzw. volle 32 Bit Breite) wäre wohl korrekt.
Gepatcht bekommt man es dadurch, den Suchstring "F7FB89C789E031D20FBFDF" mit "F7FB89C789E031D289FB90" zu ersetzen. Hier verändern sich die letzten 3 Bytes. Spiele den Bugfix in die nächste Version des Loggers mit ein. Wo jetzt die neue Feilschgrenze liegt, bleibt zu ergründen. Zumindest 20 000 konnte ich damit fehlerfrei ein- und wieder verkaufen, aber ich vermute, dass es bis etwa 6 Mio Dukaten funktionieren sollte.
Weil das gerade auch die Stelle ist, an der der "30%" Bug stattfindet: Der Fehler liegt ja darin, dass sich die Textbox, z.B. "Held hat 42% erfeilscht", was dem echten Würfelwurf entspräche, von dem dann tatsächlich benutzten Faktor (maximal 30%) unterscheidet.
Ich gehe mal davon aus, dass die 30% Grenze beabsichtigt gewesen ist (zumindest als Idee), und nur in der Anzeige fehlerhaft implementiert wurde. Oder sollte das, was bisher in der Textbox ausgegeben wird, auch tatsächlich ohne Maximum angewandt werden?
Und wie sollte man das Problem mit dem Verkaufen über den Gegenstandsverteiler lösen?
Vielleicht durch ein einheitlich niedriges Preisniveau im Gegenstandsverteiler bei allen Händlern? Man könnte z. B. das Preisniveau von Isida Ingstrok nehmen.
Unter Phex' schelmischem Blick: 111. Beitrag, 11.11, 11 Hundert Dukaten. Zufall oder List?