Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[XP] Cargar y guardar sin escena

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [XP] Cargar y guardar sin escena

Mensaje por Wecoc el 2013-09-10, 00:44

Este script lo hice hace tiempo, es muy tonto pero en fin xD Permite cargar y guardar directamente sin pasar por ninguna escena, usando Kernel a lo bestia. Como es obvio en este caso solo hay una ranura, pero para según qué tipo de juego quizá ya os vaya bien xD.

Código:
# Save & Load Edit by Wecoc

module Kernel
  def save_game
    file = File.open("Save1.rxdata", "wb")
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    Marshal.dump(characters, file)
    Marshal.dump(Graphics.frame_count, file)
    $game_system.save_count += 1
    $game_system.magic_number = $data_system.magic_number
    Marshal.dump($game_system, file)
    Marshal.dump($game_switches, file)
    Marshal.dump($game_variables, file)
    Marshal.dump($game_self_switches, file)
    Marshal.dump($game_screen, file)
    Marshal.dump($game_actors, file)
    Marshal.dump($game_party, file)
    Marshal.dump($game_troop, file)
    Marshal.dump($game_map, file)
    Marshal.dump($game_player, file)
    file.close
  end
  def load_game
    $game_temp = Game_Temp.new
    if FileTest.exist?("Save1.rxdata")
      file = File.open("Save1.rxdata", "rb")
      characters = Marshal.load(file)
      Graphics.frame_count = Marshal.load(file)
      $game_system        = Marshal.load(file)
      $game_switches      = Marshal.load(file)
      $game_variables     = Marshal.load(file)
      $game_self_switches = Marshal.load(file)
      $game_screen        = Marshal.load(file)
      $game_actors        = Marshal.load(file)
      $game_party         = Marshal.load(file)
      $game_troop         = Marshal.load(file)
      $game_map           = Marshal.load(file)
      $game_player        = Marshal.load(file)
      if $game_system.magic_number != $data_system.magic_number
        $game_map.setup($game_map.map_id)
        $game_player.center($game_player.x, $game_player.y)
      end
      $game_party.refresh
      file.close
      $game_system.bgm_play($game_system.playing_bgm)
      $game_system.bgs_play($game_system.playing_bgs)
      $game_map.update
      $scene = Scene_Map.new
    end
  end
end

class Scene_Title
  def command_continue
    unless @continue_enabled
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    $game_system.se_play($data_system.decision_se)
    load
  end
end

Para guardar poned en el Llamar Script o en cualquier parte del script save_game y para cargar load_game. Puse además al final del script un edit del Scene_Title para que Cargar desde el título funcionara también por defecto. Otras cosas en cambio no están programadas (guardar desde menú o desde el interprete de llamar a guardar) pero si lo necesitáis y no sabéis hacerlo me lo decís.


Última edición por Wecoc el 2018-01-23, 18:30, editado 1 vez
avatar
Wecoc
Administrador
Administrador



Créditos 12297

Gracias : 648

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Cargar y guardar sin escena

Mensaje por PROmaster el 2013-09-10, 05:40

Muy bueno el script, lo estoy probando en mi juego y va de maravilla.

Por ahora he visto que falla con un script de esos que hace que los miembros de tu grupo te sigan (no sabría decirte el nombre porque no lo pone, pero si quieres te lo paso), al cargar la partida (cuando usas el "load", vamos).

Pero, como ya digo, un gran script.
avatar
PROmaster
Principiante
Principiante

0/3

Créditos 322

Gracias : 0

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Cargar y guardar sin escena

Mensaje por orochii el 2013-09-10, 12:40

Es probable que dé problemas con scripts que guarden cosas, configuraciones o por el estilo, en el archivo guardado, a menos que guarden las cosas dentro del Game_System o parecidos (de hecho no sé qué mañas tenían de hacer clases para guardar 3 cosas xD, yo termino siempre tirándolo todo en Game_System o Game_Party x'D).

Entonces simplemente busca la re/definición del método Scene_Save#write_save_data y Scene_Load#read_save_data. Compara las líneas que dicen Marshal.load/dump, y agrega las que falten en este script.

Salut 8D,
OZZZZZZZZZ
avatar
orochii
Reportero

0/3

Créditos 7794

Gracias : 462

Volver arriba Ir abajo

RPG Maker XP Re: [XP] Cargar y guardar sin escena

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


Permisos de este foro:
No puedes responder a temas en este foro.