Hauptmenü

Neuigkeiten:

Bitte unterstützt uns und bestellt über diese Links bei Amazon  oder HumbleBumble!

Hilfe zum Maniacweed-Starterpak

Begonnen von 1mal_volltanken, 28. Juli 2026, 15:35:19

Vorheriges Thema - Nächstes Thema

Cmdr

Zitat von: Cone Arex in 27. August 2026, 19:46:26Das Problem daran ist, dass die Verzögerung dann auch vor WalkTo ausgeführt wird. Deswegen wurde das nicht gemacht.

Ich behaupte einfach mal: das würde man nicht bemerken.

AmigaMaster

WalkTo kann man abfragen, aber was ist mit den ganzen anderen Funktionen wie Öffnen, Nim, usw, wenn kein Say() benutzt wird (z. B. Türen und Schubladen öffnen)? Dort wird auch eine Pause eingefügt. Klar könnte man eine eigene Say-Funktion schreiben aber das wäre eine grundlegende Änderung und damit für mich ein No-Go, da möchte ich gar nicht weiter drüber nachdenken, so sehr widerstrebt mir das.

Wer die Anpassung der AnyClickMove testen möchte, braucht nur in der VerbGui.asc die Verbs::AnyClickMove wie folgt um die Prüfung nach eGA_WalkTo ergänzen. Wenn man weiß, worauf man achten muss, merkt man schon den Unterschied zwischen vorher Türen oder Schubladen öffnen und schließen. Aber meine Wahrnehmung ist dadurch beeinträchtigt, da ich genau weiß, wann und wo die Pause kommt. Wer es genau merken möchte, der nimmt als Wert für Wait einfach nur GetGameSpeed(), was dann 1 Sekunde entspricht.

static int Verbs::AnyClickMove(int x, int y, CharacterDirection dir)
{
  int result = Verbs.MovePlayer(x, y);
    if (result) {
    player.FaceDirection(dir, eBlock);
   
    // Only add pause when WalkTo is NOT used
    if (Verbs.UsedAction(eGA_WalkTo) == false) {
      Wait(GetGameSpeed()/8);
    }
  }
  return result;
}
Meine kleine Welt:
YouTube / Odysee
Discord mit vielen Retrobegeisterten
Lösungen jeder kann mitmachen

Cmdr

#47
Eine Sekunde ist natürlich zu lang. Aber die kurze Pause beim Öffnen von Schubladen und Türen finde ich auch nicht schlecht. Der Charakter muss schließlich erst ankommen und kann dann die Aktion ausführen.
Das Ausklammern der Pause bei WalkTo ist eine schöne Lösung.

AmigaMaster

Dann habe ich das mal genau so umgesetzt und alle Raumscripte angepasst. Bewusste Verzögerungen wie z. B. bei Britneys Unterwäsche sind unverändert vorhanden.

Effektiv fast 900 Zeilen eingespart.

  • 125ms Wait() in die Verbs::AnyClickMove eingefügt (nicht gültig für eGA_WalkTo)
  • In allen Räumen das Wait() entfernt, sofern diese zur Standardaktion Verbs.UsedAction gehört und keine gewollte Verzögerung war

https://github.com/AmigaMaster/Maniacweed-Bernard
Meine kleine Welt:
YouTube / Odysee
Discord mit vielen Retrobegeisterten
Lösungen jeder kann mitmachen

AmigaMaster

Klitzekleines Update:

Zwei kleine Änderungen bei der Behandlung der Taschenlampe, wenn man im dunklen steht oder sie im eingeschalteten Zustand öffnen möchte.

https://github.com/AmigaMaster/Maniacweed-Bernard
Meine kleine Welt:
YouTube / Odysee
Discord mit vielen Retrobegeisterten
Lösungen jeder kann mitmachen