Eintragsdetails ansehen
| ID | Projekt | Kategorie | Sichtbarkeit | Meldungsdatum | Zuletzt aktualisiert |
|---|---|---|---|---|---|
| 0002144 | Eressea | General | öffentlich | 2015-10-07 22:26 | 2019-10-03 21:55 |
| Reporter | Julian | Bearbeitung durch | MrTurner | ||
| Priorität | normal | Schweregrad | kleinerer Fehler | Reproduzierbar | immer |
| Status | geschlossen | Lösung | erledigt | ||
| Behoben in Version | 3.7.0 | ||||
| Zusammenfassung | 0002144: Geburtstagstorte hat keine Beschreibung (ZEIGE) | ||||
| Beschreibung | Iredor (ovi9) in Bachtal (1, -1): 'ZEIGE Geburtstagstorte' - Dazu gibt es keine Informationen. | ||||
| Tags | Keine Tags zugeordnet. | ||||
| Partei | ftkf | ||||
| Spiel | E2 | ||||
| Report | 948 | ||||
|
Die ist zu irgend einem Geburtstag von Eressea mal ausgehändigt worden, evtl. gibt es da noch eine Spur zu im Code, ansonsten weiß ich auch nicht, wann das war. |
|
|
Es gibt zur Torte sogar Texte in DE und EN in der E2 strings.xml unter dem Namen "birthdaycake". Eine entsprechende Ressource ist in der items.xml definiert. Die ausgegebene Fehlermeldung deutet aber darauf hin, dass die Verarbeitung des Befehls in reshow() in die Hose geht (genauer zwischen Zeile 2454 und 2485 in laws.c). Vielleicht ist was mit dem item_type im Argen? Ich kann nur noch nicht recht nachvollziehen was... |
|
|
Test schreiben, der das excerziert, und im Debugger verfolgen, warum reshow es nicht ausführt? |
|
|
Ich glaube nicht, dass das funktionieren wird, da die locale da wieder mit drin hängt. "itype = finditemtype(s, u->faction->locale);" Hab's trotzdem mal versucht und bekomme an der Stelle NULL zurück. Aber das liegt wohl eher an der Testumgebung als am Bug. Oder? |
|
|
Man kann da zwei Dinge tun:
|
|
|
|
|
Dann musst Du den Test schreiben, die Tests leben im Verzeichnis scripts/tests/*.lua. Da die Torte ein E2-Feature ist, wrde ich den Test erst einmal in scripts/test/e2/e2features.lua unterbringen. Eine neue Funktion mit Namen function test_birthdaycake() r = region.create(0,0, "plain") f = faction.create("cake@eressea.de", "human", "de") u = unit.create(f, r, 1) u:add_item("birthdaycake", 1) u:clear_orders() u:add_order("ZEIGE Geburtstagstorte") process_orders() end Die hat jetzt zwar kein assert, weil man erfolgreiches ZEIGE schlecht pruefen kann, aber wenn der Code ausgefuerht wird, kann man das schon einmal im Debugger verfolgen (breakpoint in reshow setzen und abwarten). Die Tests werden normal in runtests.bat ausgefuehrt, hier musst Du aber deinen Visual Studio Debugger einrichten, das er die richtige Kommandozeile hat und so. Also scripts/run-tests-e2.lua als Kommandozeilen-Parameter haben, und aus dem richtigen Verzeichnis aus aufrufen. Du kannst Dir dann auch noch die Reporte ausgeben lassen, wenn das einfacher ist als den Debugger zu benutzen, mit: init_reports() print("writing reports for faction " .. tostring(f)) write_report(f) aber am Ende kommt man um debugging sicher nicht herum. |
|
|
Interessante Wendung der Geschehnisse: der Test ist erfolgreich. ^^ Ich bekomme die Beschreibung von locale und sie wird als Meldung weitergegeben. Weitere Untersuchungen müssen bis später warten. |
|
|
Das habe ich bei mir auch so festgestellt. Bugreport ungültig? Evtl. sollte ich noch einmal mit den Spieldaten von Runde 948 und aktuellem Code auswerten? |
|
|
Wäre vielleicht sinnvoll, aber ich weiß nicht wie viel Aufwand das für dich bedeutet. |
|
|
Immer noch: Iredor (ovi9) in Bachtal (1,-1): 'ZEIGE Geburtstagstorte' - Dazu gibt es keine Informationen. Jetzt mal im Debugger gucken, warum. |
|
|
Ich glaube, die Einheit hat zu Beginn der Woche keine Torte gehabt, und ZEIGE geht nur, wenn man selbst eine besitzt. Im Report hat sie allerdigns drei Stück - kann es sein, dass sie die erst durch GIB oder RESERVIERE bekommen hat? |
|
|
Ich würde diese Meldung als unreproduzierbar schliessen. |
|
|
Hab eben mal nachgeschaut: Die Einheit hat seit 948 durchgängig die drei Torten. Wenn das Debuggen zuviel Arbeit ist, bzw. es nicht reproduzierbar ist, dann schließt den Report! Ist ja nun wirklich kein kritischer Bug, mich hätte nur die Beschreibung interessiert, weil ich die Dinger einem Juju-Zombi aus seinen toten Klauen entrissen habe und eben nicht wusste was ich damit machen kann. Mittlerweile habe ich zumindest auch herausgefunden, dass man die Dinger nicht benutzen kann... ;-) (951: Iredor (ovi9) in Bachtal (1,-1): 'BENUTZE 1 Geburtstagstorte' - Diesen Gegenstand kann man nicht benutzen.) |
|
|
@Julius: Ja, die Torte scheint rein dekorativ zu sein. Die Frage ist laut Enno gerade, ob die Einheit die Torten in 948 erst bekommen hat oder vor und nach 948 hatte. @Enno: Sollte es wirklich an einer ungünstigen GIB-Konstellation gelegen haben. wäre es noch eine Überlegung wert, ob hierfür eine kontextuellere (Fehler-)Meldung notwendig wäre (zumindest "Die Einheit hat keinen solchen Gegenstand" oder ähnliches), weil das dann ja nicht nur ein Problem von Geburtstagstorten wäre. Aber ansonsten gebe ich dir recht. |
|
|
Die Einheit ovi9 hatte die Torten durchgängig von 948-952. Sie wurde nicht übergeben und nicht reserviert. |
|
|
Dann sollte ich evtl. nochmal eine spätere Auswertung als die von 947 nach 948 testen? @MrTurner: kontextuelle Fehlermeldung ist eine sehr gute Idee. |
|
|
In den BEfehlen gefunden: EINHEIT b67s GIB ovi9 2 Geburtstagstorte EINHEIT xhs4 GIB ovi9 1 Geburtstagstorte Der hatte die also in der Tat noch nicht, als er ZEIGE gemacht hat. |
|
|
Ich habe mal in deien Befehle für ovi9 in Runde 949 ein ZEIGE eingefügt. Resultat: Talenttrunk (Gewicht: 0 GE): Keine Informationen. Geburtstagstorte (Gewicht: 0 GE): Eine Geburtstagstorte mit 10 Kerzen. Herzlichen Glückwunsch, Eressea! Bug ist also keiner, aber bessere Fehelrmeldung könnten wir trotzdem gebrauchen. |
|
|
Habe eine existierende Benachrichtigung gefunden, die passt (error36) und die Behandlung in reshow() entsprechend angepasst. |
|
| Änderungsdatum | Benutzername | Feld | Änderung |
|---|---|---|---|
| 2015-10-07 22:26 | Julian | Neuer Eintrag | |
| 2015-10-10 11:10 | Enno | Notiz hinzugefügt: 0006170 | |
| 2015-11-03 00:15 | MrTurner | Bearbeitung durch | => MrTurner |
| 2015-11-03 00:15 | MrTurner | Status | neu => zugewiesen |
| 2015-11-03 01:08 | MrTurner | Notiz hinzugefügt: 0006190 | |
| 2015-11-03 06:03 | Enno | Notiz hinzugefügt: 0006191 | |
| 2015-11-04 00:59 | MrTurner | Notiz hinzugefügt: 0006196 | |
| 2015-11-04 07:51 | Enno | Notiz hinzugefügt: 0006197 | |
| 2015-11-04 16:02 | MrTurner | Notiz hinzugefügt: 0006200 | |
| 2015-11-04 16:30 | Enno | Notiz hinzugefügt: 0006201 | |
| 2015-11-04 17:24 | MrTurner | Notiz hinzugefügt: 0006202 | |
| 2015-11-04 17:25 | Enno | Notiz hinzugefügt: 0006203 | |
| 2015-11-04 17:27 | MrTurner | Notiz hinzugefügt: 0006204 | |
| 2015-11-04 17:53 | Enno | Notiz hinzugefügt: 0006205 | |
| 2015-11-04 18:08 | Enno | Notiz hinzugefügt: 0006206 | |
| 2015-11-04 19:04 | Enno | Notiz hinzugefügt: 0006207 | |
| 2015-11-04 20:53 | Julian | Notiz hinzugefügt: 0006208 | |
| 2015-11-04 22:00 | MrTurner | Notiz hinzugefügt: 0006209 | |
| 2015-11-04 22:11 | Julian | Notiz hinzugefügt: 0006210 | |
| 2015-11-05 09:35 | Enno | Notiz hinzugefügt: 0006211 | |
| 2015-11-05 09:52 | Enno | Notiz hinzugefügt: 0006212 | |
| 2015-11-05 09:56 | Enno | Notiz hinzugefügt: 0006213 | |
| 2015-11-05 14:08 | MrTurner | Notiz hinzugefügt: 0006214 | |
| 2015-11-05 14:08 | MrTurner | Status | zugewiesen => erledigt |
| 2015-11-05 14:08 | MrTurner | Behoben in Version | => 3.7.0 |
| 2015-11-05 14:08 | MrTurner | Lösung | offen => erledigt |
| 2017-12-05 19:50 | Enno | Status | erledigt => geschlossen |
| 2019-10-03 21:55 | Enno | Kategorie | Featurewunsch => General |