Zitat Zitat von Benshy Beitrag anzeigen
ZWEITENS:
Ich habe im Hauptmenü statt 3 Auswahlmöglichkeiten 5 gemacht. Unter anderem auch einen Punkt mit Credits. Jetzt würde ich es gern so machen das wenn man diesen Punkt aktiviert das man dann auf die Map "CREDITS" geportet wird und die Credits ablaufen. Gibt es dafür einen Befehl den ich da eintragen könnte in die Scriptbase?
Erstmal würde ich im Spielmenü nicht die Credits reinpacken, sondern das Titelmenü erweitern. Es gibt eine Möglichkeit für die Credits, es ist zwar nicht die kürzeste, aber mit Hilfe dieser Methode kannst du Credits nach deiner Vorstellung machen. (Ich erkläre jetzt, wie das mit den Credits im Titelmenü geht.)

1. Erstelle eine neue Map (20*15) und nenne sie "Credits" oder so etwas in der Art.

2. Wähle das Script "Scene_Title".

3. An dieser Stelle musst du das, was in rot geschrieben ist hinzufügen.
Code:
    # Make command window
    s1 = "Neues Spiel"
    s2 = "Spiel laden"
    s3 = "Ende"
    s4 = "Credits"
    @command_window = Window_Command.new(192, [s1, s2, s3, s4])
4. Gehe im selben Script weiter runter und füge folgendes hinzu:
Code:
case @command_window.index
      when 0  # New game
        command_new_game
      when 1  # Continue
        command_continue
      when 2  # Shutdown
        command_shutdown
      when 3
        command_credits
      end
5. Noch weiter runter scrollen.

6. Unter der Definition von command_shutdown wird alles das eingefügt: (In der blauen Zeile musst du eine beliebige Switch-ID wählen, für einen Switch, den du brauchst.

Code:
def command_credits
    # Play decision SE
    $game_system.se_play($data_system.decision_se)
    # Stop BGM
    Audio.bgm_stop
    # Reset frame count for measuring play time
    Graphics.frame_count = 0
    # Make each type of game object
    $game_temp          = Game_Temp.new
    $game_system        = Game_System.new
    $game_switches      = Game_Switches.new
    $game_variables     = Game_Variables.new
    $game_self_switches = Game_SelfSwitches.new
    $game_screen        = Game_Screen.new
    $game_actors        = Game_Actors.new
    $game_party         = Game_Party.new
    $game_troop         = Game_Troop.new
    $game_map           = Game_Map.new
    $game_player        = Game_Player.new
    # Set up initial party
    $game_party.setup_starting_members
    # Set up initial map position
    $game_map.setup($data_system.start_map_id)
    # Move player to initial position
    $game_player.moveto($data_system.start_x, $data_system.start_y)
    # Refresh player
    $game_player.refresh
    # Run automatic change for BGM and BGS set with map
    $game_map.autoplay
    # Update map (run parallel process event)
    $game_map.update
    # Switch to map screen
    $scene = Scene_Map.new
    # Set credits switch
    $game_switches[001] = true
  end
7. Genug gescriptet! Jetzt erstellst du noch eine neue Map. Das Spiel MUSS hier losgehen, also die Startposition des Spielers muss auf dieser Map sein.

8. Erstelle ein Autostart-Event, dass abfragt, ob der Switch, den du in dem oberen Scriptstück ja ändern kannst, an ist. Wenn man als Spieler im Titelmenü auf "Credits" drückt, wird nämlich ein ganz normales Spiel gestartet, aber der eine Switch wird noch aktiviert. In das Autostart-Event kommt, wenn der Switch an ist, ein Teleport auf deine Creditsmap. Ist der Switch nicht an, wird man auf eine andere Map teleportiert, auf der das normale Spiel dann beginnt. Fertig! Damit es keine Probleme gibt, solltest du nach den Credits den Spieler wieder zum Titelmenü schicken.

Ich hoffe, es ist dir nicht zu lang. Ich bin nicht sehr gut in Ruby, aber mit dieser Methode klappt es sicher! Danke, dass ich dir helfen durfte.