Arthoria.de Forum

Hauptspiel => Fehlermeldungen => Thema gestartet von: Bauthan am 05. April 2011, 11:10:17

Titel: Nebelkokon und automatischer Kampf
Beitrag von: Bauthan am 05. April 2011, 11:10:17
Stelle ich beim Nebelkokon automatischer Kampf bis LP unter 20% und klicke auf berechnen,
sehe ich nicht, was passiert, was gedroppt wird, wieviele LPs ich noch habe etc...

Ich sehe nur, die hochgezählte Rundenzahl.

(http://img269.imageshack.us/img269/1931/nebelkokon.gif) (http://img269.imageshack.us/i/nebelkokon.gif/)

http://img269.imageshack.us/i/nebelkokon.gif/
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Samuel am 05. April 2011, 12:43:07
Öhm.. Du hast 131 Runden gekämpft und nicht einen Punkt Schaden verursacht?

Was hast du die ganze Zeit gemacht?  :o
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Oshun am 05. April 2011, 12:59:01
Ich glaube das ist genau das was er sich auch fragt  lol
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Bauthan am 05. April 2011, 13:23:36
Hehehe :)

Nein nein - ich habe ihn ja besiegt, nur steht das da nicht.
Ich sehe nicht, wieviele LPs ich aktuell habe, was ich gedroppt bekommen habe (Items/Gold).

Ich denke mal hier gibts ein Problem bei den ständig beschworenen Begleitern + automatischer Kampf.
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Xeridar am 05. April 2011, 13:24:24
Krieg ich so nicht reproduziert, funktioniert bei mir alles wie es sein sollte.

1. Was hast du vor der Berechnung genau gemacht?
2. Wie ging es nach dem Screenshot weiter?

Bitte alles möglichst detailliert beschreiben.


Nachtrag: Wenn der Kampf nach dem Screenshot vorbei war ist es mit ziemlicher Sicherheit ein reiner Anzeigefehler. Allerdings könnte es recht schwierig werden den zu finden, da ich es nicht nachbilden kann. Kannst du rekonstruieren, ob in diesem Kampf etwas "ungewöhnliches" gedroppt ist?
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Bauthan am 05. April 2011, 17:26:58
Klar: hier die Schritte, die ich mache:

erstmal vor dem Kampf:
Bauthans Verteidigung steigt um einen Punkt!
Bauthan wird innerhalb der nächsten 5 Minuten alle Illusionen erkennen.
Bauthan beschwört ein Irrlicht.
Bauthan erschafft ein Spiegelbild.
Bauthan kann innerhalb der nächsten 10 Minuten im Dunkeln sehen.

-----

Bauthan begegnet Nebelkokon.
Bauthan wirkt Flammenschild auf Bauthan.
Bauthan wirkt Magieschild auf Bauthan.
Bauthan wirkt Schild der Teraja auf Bauthan.
(die werde ja automatisch durch Schutz gezaubert)

----
Dann Kettenzauber:

Nebelkokon wartet ab.
Bauthan wirkt Regeneration auf Bauthan.
Bauthan wirkt Lichtbarriere auf Bauthan.
Bauthan wirkt Gnadenstoß auf Bauthan.
Bauthan wirkt Engelsschwingen auf Bauthan.

-----
Dann eine starke Reg:

Nebelkokon wartet ab.
Bauthan erhält 2 Lebenspunkte durch Regeneration.
Bauthan wirkt starke Regeneration auf Bauthan

------

Dann Kampfunfähigkeit:

Nebelkokon wartet ab.
Bauthan erhält 2 Lebenspunkte durch Regeneration.
Bauthan wirkt Blenden auf Nebelkokon.
Bauthan wirkt Stille auf Nebelkokon.

--------

und dann automatischet Kampf mit "bis 20% LP" mit Erde-Feuer-Ordnung

... na toll, jetzt klappt es  ::)

Heute Vormittag hat es dreimal nicht geklappt....
Ich werde gleich nach dem Kampf die gleiche Reihenfolge durchführen und nochmal berichten....

Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Lehner am 05. April 2011, 19:17:47
Geht mir aber ganz genau so wie Bauthan,
bzw. war es am Tag des Updates noch so (Hab das 2x gemacht, Fehler trat immer auf).

Ich werd das morgen auch nochmal testen
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Sparta am 05. April 2011, 20:17:09
hab identisches Problem.
Verlauf:
Kettenzauber + kampfunfähigkeit gezaubert.
Kampf bis zum Ende eingestellt->Autokampf und nichts geht mehr. Rundenzahl hat sich als einzigstes geändert (82)
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Kiriru am 06. April 2011, 01:13:42
Zitat von: Xeridar am 05. April 2011, 13:24:24
Kannst du rekonstruieren, ob in diesem Kampf etwas "ungewöhnliches" gedroppt ist?

Biete hierrauf achten wenn ihr dem nachgeht.
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Dartha am 06. April 2011, 08:44:06
also falls ich mitdenken darf, auch wenn ich den Fehler nicht habe (level *hust*):

früher gab es mal nen Fall, in dem in einem deiner PHP Scripte durch 0 geteilt wurde (spezieller fall) und somit kein gültiges XML zurück geliefert wurde und dein JS somit nen Fehler produziert hat, da anstatt XML, eben der Fehler Devide_by_Zero zurück gegeben wurde.

Da die Rundenzahl ja aber aktualisiert wurde, kann es in diesem Fall nicht daran liegen, ABER das Beispiel zeigt, dass du deinen JS Code anscheinend nicht ausfallsicher / Fehler abfangend programmiert hast.

Wenn die Rundenanzahl angezeigt wird (die ja auch vom Server geliefert wird), war der Request erfolgreich. Das heißt, der fehler tritt nach aktuallisierung der Rundenzahl auf (Funktion: updateDisplay):

x = xml.getElementsByTagName("over")[0];
if(isdefined(x)){
battleOver = parseInt(x.firstChild.nodeValue);
}
code = xml.getElementsByTagName("code")[0]
if(isdefined(code)){
code=code.firstChild.nodeValue;
if(code==lastCode){ lastCode=''; }
}

var newtarget = xml.getElementsByTagName("target")[0];
if(isdefined(newtarget)){
var ntmp=newtarget.firstChild.nodeValue;
combatants["c"+ntmp].mark();
}


x = xml.getElementsByTagName("chargelist")[0];
if(isdefined(x)){
$("#chargeskills").html("");
x = xml.getElementsByTagName("chargeskill");
if(isdefined(x)){
for(i=0;i<x.length;i++){
id = x[i].getAttribute("id");
chargenum  = x[i].getAttribute("charges");
name = x[i].firstChild.nodeValue;
$("#chargeskills").append(' <a id="spa'+id+'" class="mwin" href="#" onClick="request(\'chsk='+id+'\');mwindows[2].close(200); return true;">'+name+' ('+chargenum+' Ladungen)</a><br><br> ');
}
}
}


ein Hinweis zur Fehlerfindung könnte einfach mal durch ein try - catch - statement gefunden werden:

try {
        x = xml.getElementsByTagName("over")[0];
if(isdefined(x)){
battleOver = parseInt(x.firstChild.nodeValue);
}
code = xml.getElementsByTagName("code")[0]
if(isdefined(code)){
code=code.firstChild.nodeValue;
if(code==lastCode){ lastCode=''; }
}

var newtarget = xml.getElementsByTagName("target")[0];
if(isdefined(newtarget)){
var ntmp=newtarget.firstChild.nodeValue;
combatants["c"+ntmp].mark();
}


x = xml.getElementsByTagName("chargelist")[0];
if(isdefined(x)){
$("#chargeskills").html("");
x = xml.getElementsByTagName("chargeskill");
if(isdefined(x)){
for(i=0;i<x.length;i++){
id = x[i].getAttribute("id");
chargenum  = x[i].getAttribute("charges");
name = x[i].firstChild.nodeValue;
$("#chargeskills").append(' <a id="spa'+id+'" class="mwin" href="#" onClick="request(\'chsk='+id+'\');mwindows[2].close(200); return true;">'+name+' ('+chargenum+' Ladungen)</a><br><br> ');
}
}
}
} catch(errorObj) {
        $('#rc').append('<span>Error4Xeri: '+errorObj.description+'</span>');
}


Führt einfach nur dazu, dass falls meine Vermutung stimmt, hinter der Rundenzahl der Fehler ausgegeben wird, der beim ausführen des Codes verursacht wird. Net schön, aber zum Fehler finden, doch besser als jetzt ins blaue zu tippen. (Ne Fehlermeldung sehen logischerweise nur die, bei denen der Fehler auch auftritt!!!! Nach Fix, kann es ja wieder entfernt werden)

Lg Dartha
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Xeridar am 06. April 2011, 09:35:46
Dartha : Deiner Analyse stimme ich vollkommen zu, so weit war ich auch.

Ich hatte gehofft die Bedingungen unter denen der Fehler auftritt anhand der Meldungen isolieren zu können. Ein Abfangen des Fehlers wie von dir vorgeschlagen gibt vermutlich auch nur eine allgemeine Fehlermeldung zurück, die noch nicht wirklich hilft - aber ich werde es trotzdem einmal versuchen.


An die Leute bei denen der Fehler auftritt: Eine detailliertere Fehlermeldung wird euer Browser haben (Firefox: Extras -> Fehlerkonsole). Die Meldung die dort erscheint sobald der Fehler im Kampf auftritt wäre sehr nützlich.
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Dartha am 06. April 2011, 09:42:50
andere möglichkeit (ich weiß nicht wie fitt die menschen sind, bei denen der fehler atm auftritt und die Fehlerkonsole ist in der regel sehr voll (alleine wegen den ganzen Wernungen durch CSS Fehler)):

1) Entweder auf jedenfall in der Fehlerkonsole noch auf "Errors" oder "fehler" klicken (der rest wird dann ausgeblendet)
2) @xeri, schreibst dir nen kurzes php script, dass einfach textzeilen entgegen nehmen kann (per get) und dann in ne datei schreibt. Dann kannste anstatt den fehler dem user anzuzeigen die zeile von oben so abändern:
} catch(errorObj) {
        AJAX_OBJECT.request("http://www.arthoria.de/getErrorFromUser.php?code="+errorObj.description);
}


ist etwas netter, aber ich ahne, dass du atm nix in deinen js - kampf - code einfügen willst und es daher erstmal versuchst anders zu lösen?! ;)

Lg dartha
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Bauthan am 06. April 2011, 10:42:14
Heute zeigt das Protokoll ein wenig mehr:


Nebelkokon wartet ab.
Bauthan erhält 2 Lebenspunkte durch Regeneration.
Bauthan wirkt starke Regeneration auf Bauthan.
FEHLER (bitte im Forum melden): 'combatants[...]' ist Null oder kein Objekt

Interessante Drops haben sich dabei nie ergeben (die zwei Nebelkraut, die ich bekommen habe, wurde ohne den Bug gedroppt)
Beim nächsten mal schaue ich auch, ob die Fehlerkonsole etwas anzeigt...
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Xeridar am 07. April 2011, 10:13:59
Aha, nullpointer exception... na das ist doch schon mal was... wenn ich jetzt noch ne zeilennummer hätte... ;)

Ich schau nochmal, das ist ja zumindest schonmal ein Anhaltspunkt.
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Elandion am 07. April 2011, 14:28:32
Das scheint ungefähr so hilfreich gewesen zu sein, wie diese angehängte Fehlermeldung :D
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Dartha am 07. April 2011, 18:53:59
Zitat von: Elandion am 07. April 2011, 14:28:32
Das scheint ungefähr so hilfreich gewesen zu sein, wie diese angehängte Fehlermeldung :D

und dieser kommentar war genauso hilfreich zu dem thema wie... tja ich fürchte da fehlt jeglicher anhaltspunkt. Inhaltskorrelation liegt iwo unter 1%.

und unsinn zu dem auch noch. Das Objekt war ja angegeben nämlich combatants.

@Xeri: die zeilennummer ist im IE nicht vorhanden. im FF lautet die bezeichnung (für catch(err) ) err.lineNumber und in Opera wird es bei der err.message mit geliefert!
anderer ansatz wäre zu schauen, ob der fehler nicht auch bei window.onerror angezeigt wird (was gut sein kann). dies kannste dann wie folgt nutzten:

window.onerror = function(err, file, line) { // plaplapla }

da kommste über den dritten parameter der funktion an die Zeielnummer :)

so mal schauen obs was hilft ;)

Liebe Grüße Dartha
Titel: Re: Nebelkokon und automatischer Kampf
Beitrag von: Xeridar am 08. April 2011, 10:50:01
Ich glaube ich habe das Problem gefunden und behoben.

Bitte den Browsercache leeren (!) und danach noch einmal schauen, ob es wieder auftritt.