Eintragsdetails ansehen

IDProjektKategorieSichtbarkeitZuletzt aktualisiert
0002375EresseaNACH/ROUTEöffentlich2017-12-05 19:48
ReporterSolthar Bearbeitung durchEnno  
PrioritätnormalSchweregradkleinerer FehlerReproduzierbarnicht getestet
Status geschlossenLösungnicht reproduzierbar 
Zusammenfassung0002375: FOLGE SCHIFF hat nicht funktioniert
Beschreibung

Der Befehl FOLGE SCHIFF wurde in einem Fall ohne ersichtlichen Grund nicht ausgeführt. Der Fall ist etwas kompliziert: Sowohl das verfolgte als auch das verfolgende Schiff bekamen eine TEMP-Einheit als neuen Kapitän.

Einheit 64Lc hatte das Kommando über Karavelle h3yf und die Befehle GIB TEMP 9oLh KOMMANDO GIB 5d04 ALLES PERSONEN Die Einheit war die einzige an Bord. Einheit 6i8u und Einheit TEMP 9oLh betraten das Schiff. Einheit 9oLg hatte GIB TEMP 9oLg 1 PERSONEN GIB TEMP 9oLh 1 PERSONEN BETRETE SCHIFF f7s8 MACHE TEMP 9oLg; Nummer in der Folgerunde: dodL BETRETE SCHIFF 7876 ROUTE nw nw no o o o o o o PAUSE PAUSE ENDE MACHE TEMP 9oLh; Nummer in der Folgerunde: 9oLh @FOLGE SCHIFF 7876 LERNE Segeln BETRETE SCHIFF h3yf ENDE

Einheit 5d03 hatte das Kommando von SCHIFF 7876 und GIB TEMP 9oLg KOMMANDO GIB 5d04 ALLES PERSONEN

6i8u und TEMP 9oLh hatten genug Segeltalent für die Karavelle. Die Karavelle war anscheinend nicht überladen, aufgegessenes Silber scheint auch nicht der Grund zu sein.

Trotzdem segelte die 7876 los und die h3yf folgte nicht. Ich kann einen Fehler meinerseits noch nicht 100%ig ausschließen, aber zumindest fehlt da eine Fehlermeldung.

TagsKeine Tags zugeordnet.
Parteidrac
SpielE3
Report427

Notizen / Dateien

Enno

Enno

2017-10-20 18:33

Administrator   ~0007567

Scheisse, Du hast Recht. FOLGE wird ganz zu Beginn der Runde aufgelöst, da wird geschaut, ob die verfolgte Einheit (oder bei Schiffen, ihr Besitzer) einen NACH oder ROUTE Befehl hat. Wenn nicht, muss die Einheit ja ihren langen Befehl ausführen, der u.U. schon vor der Bewegung passiert. Das kann man mit GIB KOMMANDO natürlich aushebeln.

Lösungsvarianten:

  1. Feststellen, ob das Kommando übergeben werden wird (schwer bis unmöglich)
  2. FOLGE zu einem langen Befehl machen.
  3. GIB KOMMANDO als ersten Befehl der Runde ausführen.
  4. FOLGE wird zur selben Zeit wie NACH ausgeführt, und wenn die Einheit sich nicht bewegt, kann sie einen anderen langen Befehl ausführen, der nachher in der Befehlsreihenfolge steht (also z.B. nicht ATTACKIERE).

Ich glaube, Option 3 ist noch die erträglichste, obwohl man dann kein Kommando mehr an TEMP-Einheiten geben kann, und sicher noch andere Dinge passieren (man würde das z.B. vor ATTACKIERE machen können). Lieben tue ich aber keinen dieser Ansätze. FOLGE ist ein schlimmer Hack, der die Trennung zwischen langen und kurzen Befehlen aufweicht, und das rächt sich inzwischen immer wieder.

Solthar

Solthar

2017-10-21 00:19

Entwickler   ~0007568

Würde es nicht ausreichen, FOLGE direkt vor dem ersten langen Befehl (ZAUBERE?) auszuführen, insbesondere nach GIB? Vielleicht verstehe ich das Problem noch nicht.

Anmerkung: Wieso heißt es in der Befehlsreihenfolge eigentlich 19. NEUSTART, STIRB, ZAUBERE? Gibt es einen Grund, dass ZAUBERE in einer Kategorie mit STIRB ist?

Enno

Enno

2017-10-21 08:00

Administrator   ~0007569

Du meinst, einfach Punkte 12 (FOLGE) und 13 (GIB) tauschen? Das könnte auf den ersten Blick gehen. Oder zumindest GIB KOMMANDO vorziehen (das sollte eh von anderen GIB getrennt werden). Warum ZAUBERE in einer Liste mit den anderen Befehlen ist, weiß ich nicht, es wird nach STIRB und vor LEHRE ausgeführt. NEUSTART gibt es m.W. schon länger nicht mehr. Die Anleitung scheint da nicht auf dem letzten Stand zu sein.

Enno

Enno

2017-10-21 08:09

Administrator   ~0007570

Ich habe die Anleitung mal angepasst. GIB KOMMANDO ist jetzt schon vor VERLASSE gewesen. Seltsam: FOLGE SCHIFF wird in der Funktion follow_unit() gemacht. Der Name ist nicht so optimal.

Enno

Enno

2017-10-21 08:11

Administrator   ~0007571

Ich werde mir, ehe wir hier etwas diskutieren das ich evtl. flasch diagnostiziert habe, mal angucken was wirklich passiert ist.

Enno

Enno

2017-10-21 08:14

Administrator   ~0007572

Spannend. Der FOLGE Befehl wird nicht einmal angeschaut in follow_unit - an keiner stelle ist id==337218 für ein Schiff.

Enno

Enno

2017-10-21 08:15

Administrator   ~0007573

Das Problem ist evtl. doch, dass die folgende Einheit eine TEMP-Einheit ist, nicht das Ziel? Ich entschuldige mich für meine vorschnelle Diagnose. Der Zentraldenker hat sich geirrt.

Enno

Enno

2017-10-21 08:41

Administrator   ~0007574

Breakpoint gesetzt und geprüft: Die Partei drac führt die ganze Woche keinen FOLGE-Befehl aus. WTF?

Enno

Enno

2017-10-21 08:46

Administrator   ~0007575

Ich habe mal in die Befehle geguckt. Dort steht:

EINHEIT 5d03;       Töter [1,0$,S7876]
// $cript auto 7 10
// @suppressProblem Kein Kapitän 7876
LERNE Segeln

Das ist die einzige Stelle, wo das Schiff 7876 erwähnt wird, und es passt nicht zu deinem Bugreport. Soll ich den als fehlerhaft schließen? Ich glaube, ja.

Enno

Enno

2017-10-21 08:47

Administrator   ~0007576

Kann nicht reproduziert werden, ich glaube der Spieler hat die falschen Befehle eingesendet.

Eintrags-Historie

Änderungsdatum Benutzername Feld Änderung
2017-10-20 15:07 Solthar Neuer Eintrag
2017-10-20 18:33 Enno Notiz hinzugefügt: 0007567
2017-10-21 00:19 Solthar Notiz hinzugefügt: 0007568
2017-10-21 08:00 Enno Notiz hinzugefügt: 0007569
2017-10-21 08:09 Enno Notiz hinzugefügt: 0007570
2017-10-21 08:11 Enno Notiz hinzugefügt: 0007571
2017-10-21 08:11 Enno Bearbeitung durch => Enno
2017-10-21 08:11 Enno Status neu => zugewiesen
2017-10-21 08:14 Enno Notiz hinzugefügt: 0007572
2017-10-21 08:15 Enno Notiz hinzugefügt: 0007573
2017-10-21 08:41 Enno Notiz hinzugefügt: 0007574
2017-10-21 08:46 Enno Notiz hinzugefügt: 0007575
2017-10-21 08:47 Enno Status zugewiesen => erledigt
2017-10-21 08:47 Enno Lösung offen => nicht reproduzierbar
2017-10-21 08:47 Enno Notiz hinzugefügt: 0007576
2017-12-05 19:48 Enno Status erledigt => geschlossen