Ergebnis 1 bis 10 von 10

Thema: 3 kleinere Probleme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Zitat Zitat von Ascare Beitrag anzeigen
    Müsste im Script Editor Scene_Item sein. Dort in der Zeile ~71 einfach in Scene_Map.new ändern. Ob dadurch irgendwelche Probleme entstehen kann ich jetzt nicht sagen, habe mir das nicht genau angeguckt. Einfach mal ausprobieren.
    Gibt keine Probs damit, völlig richtig!

    Aber schön mit Kommentaren versehen (am besten mit nem stichwort, damit man es mit der suche sofort finden kann), damit man weiß was geändert wurde ... oder am besten gleich ne kopie von der ori Scene erstellen.

    Wegen dem Beenden nochmal ... wenns ganz einfach sein soll:

    Ein einfaches "exit" geht auch .

    greetz

  2. #2
    Da solche Fragen öfters kommen, hab ich auch noch ein Script von einer früheren Anfrage parat:
    Code:
    #===============================================================
    # ** Game_Save (Modul)
    #---------------------------------------------------------------
    # Speichert Spieldaten ab und lädt diese wieder.
    #===============================================================
    module Game_Save
      FILENAME = "./save" #Dateiname für Spielstand
      FILE_EXTENSION = ".rxdata"
      #Modul kann in Klassen als mixin eingefügt werden um verschiedene
      #Save-Klassen (Autosave, Schnellspeichern, ...) zu definieren
      module_function()
      #---------------------------------------------------------------
      # * save :: (filename :: String || Numeric)
      #   Wird aufgerufen um Spielstand in Datei filename zu speichern
      #---------------------------------------------------------------
      def save(filename=FILENAME+FILE_EXTENSION)
        filename = make_filename(filename) if filename.kind_of?(Numeric)
        before_save()
        File.open(filename, "wb")  {|output|
          saved_objects.each {|obj|
            Marshal.dump(obj, output)
          }
        }
        after_save()
      end
      #---------------------------------------------------------------
      # * load :: (filename :: String || Numeric)
      #   Wird aufgerufen um Spielstand in Datei filename zu laden
      #---------------------------------------------------------------
      def load(filename=FILENAME)
        filename = make_filename(filename) if filename.kind_of?(Numeric)
        before_load()
        obj=[]
        File.open(filename, "rb")  {|input|
          until input.eof? do
            obj << Marshal.load(input)
          end
        }
        loaded_objects(*obj)
        after_load()
      end
      #---------------------------------------------------------------
      # * saved_objects :: () -> Array
      #   Enthält eine Liste aller abzuspeichernden Objekte
      #   Alle Elemente müssen per Marshal#dump speicherbar sein
      #   um Liste zu erweitern aliase die Methode und erweitere den Array
      #---------------------------------------------------------------
      def saved_objects()
        [
          $game_party.actors.collect {|a| [a.character_name, a.character_hue]},
          $game_system,
          $game_switches,
          $game_variables,
          $game_self_switches,
          $game_screen,
          $game_actors,
          $game_party,
          $game_troop,
          $game_map,
          $game_player
        ]
      end
      #---------------------------------------------------------------
      # * loaded_objects :: (args :: Array)
      #   Enthält eine Zuweisung der geladenen Objekte zu Variablen
      #   Kann per aliasing erweitert werden
      #---------------------------------------------------------------
      def loaded_objects(*args)
        chars, $game_system, $game_switches, $game_variables,
        $game_self_switches, $game_screen, $game_actors, $game_party, $game_troop,
        $game_map, $game_player = *args
      end
      #---------------------------------------------------------------
      # * before_save, before_load
      #   Wird aufgerufen, bevor Spielstand gespeichert/geladen wird
      #---------------------------------------------------------------
      def before_save
        $game_system.magic_number = $data_system.magic_number
        $game_system.save_count += 1
      end
      def before_load
        #do nothing
      end
      #---------------------------------------------------------------
      # * after_save, after_load
      #   Wird aufgerufen, nachdem Spielstand gespeichert/geladen wird
      #---------------------------------------------------------------
      def after_save
        #do nothing
      end
      def after_load
        #Wenn Map geändert wurde, lade Map neu
        if $game_system.magic_number != $data_system.magic_number then
          $game_map.setup($game_map.map_id)
          $game_player.center($game_player.x, $game_player.y)
        end
        #Aktualisiere Spieldaten und starte die Map-Szene
        $game_party.refresh()
        $game_map.update
        $scene = Scene_Map.new()  
      end
      #---------------------------------------------------------------
      # * make_filename :: (n :: Numeric) -> String
      #   erzeugt einen standardmäßigen Dateinamen mit einer Nummer
      #---------------------------------------------------------------
      def make_filename(n)
        FILENAME + filename.to_s + FILE_EXTENSION
      end
    end
    #===============================================================
    # ** Game_Start (Modul)
    #---------------------------------------------------------------
    # Initialisiert Spieldaten
    #===============================================================
    module Game_Start
      # Alle Methoden dürfen auch als Singletonmethoden ausgeführt werden
      module_function()
     #--------------------------------------------------------------------------
     # * Öffne alle Dateien aus der Database und speichere ihren Inhalt
     #--------------------------------------------------------------------------
     def load_database
       $data_actors        = load_data("Data/Actors.rxdata")
       $data_classes       = load_data("Data/Classes.rxdata")
       $data_skills        = load_data("Data/Skills.rxdata")
       $data_items         = load_data("Data/Items.rxdata")
       $data_weapons       = load_data("Data/Weapons.rxdata")
       $data_armors        = load_data("Data/Armors.rxdata")
       $data_enemies       = load_data("Data/Enemies.rxdata")
       $data_troops        = load_data("Data/Troops.rxdata")
       $data_states        = load_data("Data/States.rxdata")
       $data_animations    = load_data("Data/Animations.rxdata")
       $data_tilesets      = load_data("Data/Tilesets.rxdata")
       $data_common_events = load_data("Data/CommonEvents.rxdata")
       $data_system        = load_data("Data/System.rxdata")
     end
     #--------------------------------------------------------------------------
     # * Initialisiere die Elemente des Spiels
     #--------------------------------------------------------------------------
     def initialize_global_variables
       Graphics.frame_count = 0 #Resete Spielzeit
       # Erstelle die globalen Variablen
       $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
     end
     #--------------------------------------------------------------------------
     # * Initialisiere die Heldentruppe und starte das Spiel
     #--------------------------------------------------------------------------
     def start_game
       # Initialisiere die Heldentruppe
       $game_party.setup_starting_members
       # Starte die Anfangsmap
       $game_map.setup($data_system.start_map_id)
       $game_player.moveto($data_system.start_x, $data_system.start_y)
       # Starte Spiel
       $game_player.refresh
       $game_map.autoplay
       $game_map.update
       $scene = Scene_Map.new
     end
     #--------------------------------------------------------------------------
     # * Wenn per Testkampf gestartet wird, starte Kampf
     #--------------------------------------------------------------------------
     def start_battle
       #Initialisiere Heldentruppe des Testkampfes
       $game_party.setup_battle_test_members
       # Einstellungen des Testkampfes
       $game_temp.battle_troop_id = $data_system.test_troop_id
       $game_temp.battle_can_escape = true
       $game_map.battleback_name = $data_system.battleback_name
       # Musik abspielen
       $game_system.se_play($data_system.battle_start_se)
       $game_system.bgm_play($game_system.battle_bgm)
       # Starte Kampf
       $scene = Scene_Battle.new
     end
    
     def start
       self.load_database
       self.initialize_global_variables
       if $BTEST then self.start_battle else self.start_game end
     end
    end
    #===============================================================
    # ** Scene_Title (Klasse)
    #---------------------------------------------------------------
    # Überspringt Titel und lädt sofort Spielstand
    #===============================================================
    class << Scene_Title
      include Game_Start
      def new()
        start #Gib aktuelle Szene (Map) zurück
      end
    end
    Einfach in Scripteditor einfügen. Startmenü wird automatisch übersprungen. Mit dem "Script..." Befehl stehen dir zusätzlich diese Möglichkeiten zur Verfügung:
    Code:
    Game_Save.save(1) #=> speichert Spielstand auf Slot 1
    Game_Save.load(1) #=> Lädt Spielstand auf diesen Slot wieder
    Womit du nicht mehr auf das Speicher/Lade-Menü angewiesen bist, falls du das ebenfalls neu machen möchtest.

    Geändert von -KD- (18.06.2008 um 20:31 Uhr)

  3. #3
    das meinte ich nicht(oder doch??? )
    Aber egal
    Ich kann das verkraften:
    ___
    Warum versteht mich niemand???
    Ich habe es nicht so gemeint.
    Man kann bei mir den alten Laadebildschirm ohne eine Save_Datei zu haben!!!
    Lesen, du ...
    (italenischer Akzent)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •