¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3397 miembros registrados.
El último usuario registrado es LucasGF.

Nuestros miembros han publicado un total de 79808 mensajes en 11257 argumentos.
Navega con Google Chrome
[DESCARGA]

[RMXP] Cargar y guardar partida

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

[RMXP] Cargar y guardar partida

Mensaje por Ribbu el 2015-01-15, 04:18

He buscado información tanto en foros como en páginas referentes al RPG Maker y no he dado con la solución.

El problema es que me gustaría que al elegir el comando "Guardar partida" no apareciera la típica ventana de elegir ranura y que tan solo pulsando en el comando se guarde una única ranura (pero sin que se vea).

Y que pasara lo mismo al cargar la partida con el código:

Código:
$scene = Scene_Load.new


Si sirve de algo, la pantalla de título está hecha por eventos, no es ningún script.

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por Wecoc el 2015-01-15, 15:39

Quizá te sirva éste, es un poco peculiar el modo de hacer la llamada (no me compliqué la vida) pero en definitiva hace lo que pides. Cargar y guardar sin escena

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por silvanash el 2015-01-15, 15:43

Mierda, se me adelantó Wecocio.

En fin, no quiero tirar mi trabajo, así que también pongo mi versión:

Código:
class Scene_Menu
 
    #--------------------------------------------------------------------------
  # * Frame Update (when command window is active)
  #--------------------------------------------------------------------------
  def update_command
    # If B button was pressed
    if Input.trigger?(Input::B)
      # Play cancel SE
      $game_system.se_play($data_system.cancel_se)
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
    # If C button was pressed
    if Input.trigger?(Input::C)
      # If command other than save or end game, and party members = 0
      if $game_party.actors.size == 0 and @command_window.index < 4
        # Play buzzer SE
        $game_system.se_play($data_system.buzzer_se)
        return
      end
      # Branch by command window cursor position
      case @command_window.index
      when 0  # item
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to item screen
        $scene = Scene_Item.new
      when 1  # skill
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 2  # equipment
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 3  # status
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Make status window active
        @command_window.active = false
        @status_window.active = true
        @status_window.index = 0
      when 4  # save
        # If saving is forbidden
        if $game_system.save_disabled
          # Play buzzer SE
          $game_system.se_play($data_system.buzzer_se)
          return
        end
        # Play decision SE
        force_save       
      when 5  # end game
        # Play decision SE
        $game_system.se_play($data_system.decision_se)
        # Switch to end game screen
        $scene = Scene_End.new
      end
      return
    end
  end
 
  def force_save
    # Play save SE
    $game_system.se_play($data_system.save_se)
    # Write save data
    file = File.open("Save1.rxdata", "wb")
    write_save_data(file)
    file.close
    # If called from event
    if $game_temp.save_calling
      # Clear save call flag
      $game_temp.save_calling = false
      # Switch to map screen
      $scene = Scene_Map.new
      return
    end
  end
 
    def write_save_data(file)
    # Make character data for drawing save file
    characters = []
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      characters.push([actor.character_name, actor.character_hue])
    end
    # Write character data for drawing save file
    Marshal.dump(characters, file)
    # Wrire frame count for measuring play time
    Marshal.dump(Graphics.frame_count, file)
    # Increase save count by 1
    $game_system.save_count += 1
    # Save magic number
    # (A random value will be written each time saving with editor)
    $game_system.magic_number = $data_system.magic_number
    # Write each type of game object
    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)
  end

end

class Scene_Title
 
  def command_continue
    # If continue is disabled
    unless @continue_enabled
      # Play buzzer SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    $game_temp = Game_Temp.new
    force_load
  end
 
  def force_load
    # If file doesn't exist
    unless FileTest.exist?("Save1.rxdata")
      # Play buzzer SE
      $game_system.se_play($data_system.buzzer_se)
      return
    end
    # Play load SE
    $game_system.se_play($data_system.load_se)
    # Read save data
    file = File.open("Save1.rxdata", "rb")
    read_save_data(file)
    file.close
    # Restore BGM and BGS
    $game_system.bgm_play($game_system.playing_bgm)
    $game_system.bgs_play($game_system.playing_bgs)
    # Update map (run parallel process event)
    $game_map.update
    # Switch to map screen
    $scene = Scene_Map.new
  end
 
  def read_save_data(file)
    # Read character data for drawing save file
    characters = Marshal.load(file)
    # Read frame count for measuring play time
    Graphics.frame_count = Marshal.load(file)
    # Read each type of game object
    $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 magic number is different from when saving
    # (if editing was added with editor)
    if $game_system.magic_number != $data_system.magic_number
      # Load map
      $game_map.setup($game_map.map_id)
      $game_player.center($game_player.x, $game_player.y)
    end
    # Refresh party members
    $game_party.refresh
  end
 
end


Funciona desde el comando de guardar desde el menú, y también carga directamente desde la pantalla de título. Si usas algún otro script que modifique los comandos del menú principal o algo por el estilo, te dará errores. Aunque en ese caso siempre podrás contar con la ayuda de Wecoc del foro para intentar arreglarlo.

Copypastear encima de Main y listos.

silvanash
Aventurero
Aventurero

0/3

Créditos 1417

Gracias : 176

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por Ribbu el 2015-01-15, 16:46

Muchas gracias a ambos por la ayuda.

Me quedo con el script de Wecoc, es exactamente lo que quería pero tengo un problema con este script. Al cargar la partida sale el personaje principal invisible.

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por Wecoc el 2015-01-15, 17:38

Lo probé y me funciona bien, incluso al cargar partidas guardadas de antes de insertar el script. ¿Puede que tengas alguna modificación a parte que esté causando eso? Porque me parece muy raro, no sé...

Wecoc
Administrador
Administrador



Créditos 8272

Gracias : 372

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por Ribbu el 2015-01-15, 18:45

Ya está claro.

Estaba invisible ya que en el menú de título el personaje tiene la opacidad a 0 y por algo se ha guardado esa configuración (aunque al guardar la partida sí que se veía al personaje).

Pues nada, proceso paralelo con opacidad a 255 y listo.

Gracias.

_________________
¡DESCARGA ARRYN!

Ribbu
Administrador
Administrador



Créditos 10079

Gracias : 84

http://www.mundo-maker.com

Volver arriba Ir abajo

Re: [RMXP] Cargar y guardar partida

Mensaje por Contenido patrocinado Hoy a las 12:39


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

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