Mundo Maker
¡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 4201 miembros registrados.
El último usuario registrado es RamaCanalla.

Nuestros miembros han publicado un total de 85260 mensajes en 12143 argumentos.

Autoguardado? Bueno no exactamente.

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Autoguardado? Bueno no exactamente.

Mensaje por Ledai el 2016-12-19, 13:33

¡¡¡Hola Mundo!!!

Me ha surgido una duda para el XP, sé que existen Script de autoguardado; para que la partida se guarde automáticamente al pasar por cierto punto configurado por el Autor del juego. Pero no es eso lo que busco exactamente; al menos eso creo (?)
A ver si me explico y es posible hacer algo por el estilo.

El asunto es que solo me interesaría que se "autoguardara" la partida en un par de ocasiones a lo largo del juego (Tampoco es que sea imprescindible pero estaría bien) Por lo que implementar un Script de autoguardado general tan solo para eso pues no sé si sale a cuenta a largo plazo. Por otro lado tengo entendido que esos script limitan las ranuras de guardo a una solo, lo cual no me interesa, como mínimo quisiera que estuvieran las cuatro ranuras por defecto.

Por eso mi pregunta es: ¿Existe, algún comando o atajo de código para "Forzar" por decirlo así un guardado sobre la ultima partida guardada; en un momento puntual del juego? Sé que el Maker identifica la ultima partida guardada pues al entrar en la pantalla de carga, aparece seleccionada dicha partida; pero me pregunto si es posible mandar que se sobrescriba en cierto punto esa partida sin necesidad de que el jugador tenga que sobreescribirla manualmente (Y también para forzar el guardado y que el jugador no haga trampa marchándose de la pantalla sin guardad) No sé si se me e entendió del todo; espero que si y que me deis ideas para llevarlo a cabo si es que es posible... Si no, pues tampoco pasa nada. Por cierto, no uso ningún Script independiente de guardado.
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 2812

Gracias : 174

Volver arriba Ir abajo

RPG Maker XP Re: Autoguardado? Bueno no exactamente.

Mensaje por silvanash el 2016-12-19, 14:15

Código:
class Game_System
  
  def slv_force_auto_save
    if $game_temp.nil?
      filename = "Save1.rxdata"
    else
      filename = "Save#{$game_temp.last_file_index + 1}.rxdata"
    end
    file = File.open(filename, "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
  
end

Pega esto en un nuevo script y ya.

Cosas a tener en cuenta:

1) La llamada para guardar la partida es
Código:
$game_system.slv_force_auto_save
Eso sobreescribrá la última partida guardada. En caso de que no haya ninguna partida guardada, usará el primer slot y ya.

2) El script que he apañado usa el nombre por default de las partidas (que es SaveX, donde X es un número de 1 a 4, en función del slot). Si tu juego usa otros nombres para las partidas, tendrás que editar esas líneas. Cualquier persona con algo de conocimiento de scripting debería poder editar eso sin mi ayuda.

3) Mi script sólo guarda los datos por default del Maker, porque no sé qué más cosas tienes. Si tu juego tiene datos personalizados que se deban guardar, los tienes que añadir a mi código para que sean reconocidos. Para eso, puedes mirar todos los scripts que tengas que modifiquen los datos que se guardan/cargan y añadir esas líneas a mi script. Si tienes problemas con esto, será mejor que contactes con Wecocio/orochii, alguien con mejor disponibilidad horaria que yo para arreglarlo.

Y eso es todo. No pido créditos, que sólo he copiado líneas que venían en los scripts originales.
avatar
silvanash
Aventurero
Aventurero

0/3

Créditos 1622

Gracias : 227

Volver arriba Ir abajo

RPG Maker XP Re: Autoguardado? Bueno no exactamente.

Mensaje por Ledai el 2016-12-19, 17:25

Gracias, Silvanash! No sabía que se podría hacer de un modo tan practico y sencillo al mismo tiempo.

Lo he probado y todo está en orden, al ser para momentos punteros en el juego creo que no dará mayores problemas (O al menos eso es lo que espero)

1) No sabía que se podían configurar nombres personalizados para los archivos de guardado... si en algún momento lo requiero lo tendré en cuenta, (aunque primero deberé de aprender a configurarlos si llega el momento)

2) Actualmente no tengo ningún Script personalizado de guardado, por lo que todos los datos que se registran son los originales, puede que en algún momento tenga que trastear con alguno, pero por el momento y viendo las pruebas que he hecho, no parece ser necesario.

Gracias nuevamente y hasta otro día que nos volvamos a Leer!!! Chao!
avatar
Ledai
Aventurero
Aventurero

0/3

Créditos 2812

Gracias : 174

Volver arriba Ir abajo

RPG Maker XP Re: Autoguardado? Bueno no exactamente.

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.