Zitat Zitat
Lösen kann ich das Problem zwar, indem ich das Skript aufteile und im Kontrollfluss immer zwischen Skript und Map quasi hin und her gebe, besonders schön finde ich das allerdings so nicht
Doch, das ist eigentlich die sinnvollste Lösung.

Umsetzen lässt sich das genauso wie beim Interpreter über einen @wait_count. Mal ein Beispiel:
Code:
class MeinScriptObject
  def update
    if @wait_count > 0
      @wait_count -= 1
    else
      # update object state
    end
  end

  def do_something_delayed
    @do_something = true
    @wait_count += 5
  end

end
In Scene_Map#update rufst du dann regelmäßig mein_object.update auf.