Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002782EresseaGeneralöffentlich2021-11-15 20:27
ReporterSchuppengnom Bearbeitung durchEnno  
PrioritätnormalSchweregradFeature-WunschReproduzierbarnicht getestet
Status erledigtLösungerledigt 
Behoben in Version3.30 
Zusammenfassung0002782: Parteiübergabe fehlgeschlagen - evtl. fehlender Parameter?
Beschreibung

Ein Mitspieler und ich haben versucht, seine Partei mit meiner zu fusionieren. Leider ist die Partei komplett verschwunden und es sind keine Einheiten angekommen.

Gesetzt war: Stirb "deinpasswort" c4sh

Die verschwundene Partei war "Der dritte Stamm" (drei).

Schritte zur Reproduktion

Der Mitspieler führt dies auf das fehlende PARTEI zurück, der richtige Befehle hätte lauten müssen:
Stirb "deinpasswort" Partei c4sh

Liegt es wirklich nur daran? Das wäre gerade extrem ärgerlich (für mich, der den Befehl herausgesucht hatte - der Löschende sieht das gottseidank etwas entspannter).

Zusätzliche Informationen

Falls es am fehlenden Parameter "partei" lag, wäre es möglich, den für die Zukunft optional zu gestalten? dann würden sich andere nicht so ärgern wie ich jetzt gerade.

Parteic4sh
SpielE2
Report1242

Notizen / Dateien

Enno

Enno

2021-11-13 22:52

Administrator   ~0009347

Ja, das liegt ganz sicher an der PARTEI Syntax, und du hast Recht, dass die zu fehleranfällig ist. Im Fehlerfall ist das katastrophal, dann darf es nicht so leicht sein, einen Fehler zu machen ...

Xolgrim

Xolgrim

2021-11-14 10:24

Tester   ~0009348

Das ist der zweite mir bekannte fall einer misslungenen Fusion. Das Problem scheint zu sein, dass PARTEI und Partei-nr gemeinsam in einer eckigen klammer stehen in der Anleitung und viele das irgendwie als PARTEINUMMER wahrnehmen. Es iat aber natürlich korrekt, dass beides in einer Klammer steht, da es ein optinaler Befehl ist.
Serverseitig würde ein komplett anderer Befehl "Fusioniere" Abhilfe schaffen, dass es zu keinen derartigen Fehlern kommt. Ich habe als schnelle Lösung wiki angepasst und eine Warung samt Beispiel eingebaut. Dies sollte klarer machen, was für eine Eingabe erwartet wird. Ob du jetzt am Code noch was drehen willst bleibt dir überlassen:

https://wiki.eressea.de/index.php/STIRB

@Schuppengnom Das Problem hier ist systematisch, wenn du hinter einen bekannten Befehl etwas schreibst, wird das einfach ignoriert. Der Server kennt den Befehl "STIRB "passwort"" und er kennt einen Befehl bei dem auf das "passwort" PARTEI folgt. Was er nicht kennt ist ein Befehl bei dem auf das "passwort" c4sh folgt, also landet das c4sh in der Tonne, das führt im grossen und ganzen eigentlich zu weniger Fehlern, da möglichst bekannte Befehle durchgeführt werden, auch wenn dahinter mist steht.

Enno

Enno

2021-11-14 11:39

Administrator   ~0009349

Zuletzt bearbeitet: 2021-11-14 11:39

Für die Anleitung wäre es am einfachsten, klarzustellen, dass das zwei verschiedene Befehle sind. Also in zwei getrennten Absätzen beschreiben, einer für STIRB passwort, einer für STIRB passwort PARTEI parteinummer.

Für den Code werde ich es jetzt so machen, dass STIRB passwort schlicht nicht funktioniert, wenn nach dem Passwort noch ein weiteres Wort steht, das nicht PARTEI ist. So wie es jetzt schon nicht funktioniert, wenn hinter PARTEI keine Parteinummer steht.

Ich denke außerdem mal drüber nach, ob ich den entstandenen Schaden einmalig reparieren kann.

Bruck

Bruck

2021-11-15 01:13

Reporter   ~0009350

Ich würde ja vorschlagen die Syntax in:
STIRB "Passwort"
und
STIRB PARTEI Parteinummer "Passwort"
umzuwandeln.
Finde ich zumindest intuitiver. Also STIRB [PARTEI Parteinummer] "Passwort" anstelle STIRB "Passwort" [PARTEI Partei-nr]

Enno

Enno

2021-11-15 20:27

Administrator   ~0009352

Ab dem nächsten Release wird die Partei nicht aufgelöst, wenn hinter dem Passwort bei STIRB noch etwas steht, was nicht PARTEI ist, sondern es wird ein Fehler gemeldet.

Ich habe auch den Bonus geschafft: Die Einheiten der Partei drei sind wieder hergestellt, wenngleich ohne ihre Gegenstände, die sie schon an die Bauern oder Verbündete gegeben hatten. Die entsprechende Anzahl Bauern verschwindet dafür aus den Regionen, damit das alles seine Ordnung hat.

Du müsstest in der nächsten Runde die Einheit toss kontaktieren, die erneut den STIRB Befehl geben wird. Entsprechende Befehle für die Partei drei habe ich bereits gemacht.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2021-11-13 21:40 Schuppengnom Neuer Eintrag
2021-11-13 22:52 Enno Bearbeitung durch => Enno
2021-11-13 22:52 Enno Status neu => zugewiesen
2021-11-13 22:52 Enno Notiz hinzugefügt: 0009347
2021-11-14 10:24 Xolgrim Notiz hinzugefügt: 0009348
2021-11-14 10:25 Xolgrim Schweregrad schwerer Fehler => Feature-Wunsch
2021-11-14 11:39 Enno Notiz hinzugefügt: 0009349
2021-11-14 11:39 Enno Notiz bearbeitet: 0009349
2021-11-15 01:13 Bruck Notiz hinzugefügt: 0009350
2021-11-15 20:27 Enno Status zugewiesen => erledigt
2021-11-15 20:27 Enno Lösung offen => erledigt
2021-11-15 20:27 Enno Behoben in Version => 3.30
2021-11-15 20:27 Enno Notiz hinzugefügt: 0009352