Themabewertung:
  • 1 Bewertung(en) - 5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Schicksalsklinge: Umfassender Bugfix-Patch
(27.12.2020, 01:24)NRS schrieb: Es wird, analog zu Pfeil und Bolzen bei Bogen und Armbrust, bei der Schleuder ein Gegenstand mit Nummer 999 in der linken Hand abgefragt, den es natürlich gar nicht gibt; die Nummer 999 stellt einen Platzhalter dar.

ok, und was passiert, wenn man die Nummer 999 auf die ID eines existierenden Gegenstands (z.B. Pfeil) umändert und dem Helden diesen Gegenstand in die linke Hand gibt? Ist das Auslösen der Schleuder dann weiter implementiert? Falls ja, könnte sie eigentlich recht einfach aktiviert werden.

(27.12.2020, 01:24)NRS schrieb: Ich verstehe das Problem, aber ein Wegfinder-Algorithmus ist von Natur aus eine sehr komplizierte Angelegenheit. Und beim genannten Fehler handelt es sich dem Grunde nach um einen logischen Fehler, nicht einfach um eine vergessene oder verdrehte Abfrage wie bei den meisten anderen Fehlern. Selbst mit Hilfe von BrightEyes würde ich da wahrscheinlich drei Monate dran sitzen, falls ich überhaupt auf einen grünen Zweig käme. Wenn sich jemand anderes den entsprechenden Code in BrightEyes ansähe und dem logischen Fehler dort auf die Spur käme, so dass ich die Lösung nur noch im Objektcode implementieren müsste, könnten wir darüber reden. Aber einfach nur so wird das nichts.

Wie gesagt, ich habe größten Respekt vor dem, was du da tust, also dass du compilierten Maschinencode reparierst. Ich verstehe auch, dass man damit nicht einfach so einen von der Logik her falsch implementierten Wegfinde-Algorithmus reparieren kann.

Aber: Meinem Eindruck nach funktioniert dieser Algorithmus prinzipiell. Auch bei zweifeldrigen Monstern: Zu Beginn des Steppenhund-Kampfs erscheint mir die Bewegung der Hunde so weit ganz vernünftig (zumindest soweit man die Kampf-AI in Schicksalsklinge als vernünftig bezeichnen will...), und auch die BP-Berechnungen beim Bewegen stimmen alle. Aber nach einiger Zeit treten seltsame Symptome auf. Plötzlich sind da unsichtbare Sperren, wo zuvor noch Gegner und Helden normal drübergelaufen sind. Plötzlich kommt kein Gegner mehr näher, obwohl genug Platz da wäre. Plötzlich kann ich das Kopffeld eines Hundes betreten. Und plötzlich friert der ganze Kampf ein, das ist die ärgerlichste aller Varianten.

Das wirkt auf mich eher wie ein Bug, der qualitativ mit den Dingen vergleichbar ist, die du schon repariert hast. Vielleicht wird irgendwo in der Berechnung eine Grenze nicht eng genug gezogen, so dass im Zusammenhang mit dem Drehen von zweifeldrigen Gegnern irgendwas außerhalb des vorgesehenen Datenbereichs überschrieben wird? Irgend sowas.

Natürlich kann es immer noch höllisch schwierig sein, einen solchen Fehler zu finden.

(27.12.2020, 01:24)NRS schrieb:
siebenstreich schrieb:Der Kampf WILD2 kann also wirklich mit drei Ogern stattfinden?
Code:
Fight 244: WILD2
- 01: OGER..
- 01: OGER..
- 01: OGER..
Code:
seg117.cpp:

void random_encounter(signed short arg)
{
(...)
ds_writew(MAX_ENEMIES, random_schick(3));
do_fight(FIGHTS_WILD2);

ok, danke! Wenn die unteren beiden Zeilen dann auch wirklich durchlaufen werden können, bin ich überzeugt.
Zitieren


Nachrichten in diesem Thema
RE: Schicksalsklinge: Umfassender Bugfix-Patch - von siebenstreich - 27.12.2020, 02:21



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