[RPGXP] Generación de eventos dinámicos (Vía Marshal)

Avisos


Like Tree4Gracias
  • 1 Post By PolectronElMagnifico
  • 1 Post By Alice
  • 1 Post By PolectronElMagnifico
  • 1 Post By Magnaangemon
Respuesta
 
Herramientas Desplegado
  #1  
10/11/2013
Predeterminado Generación de eventos dinámicos (Vía Marshal)
Después de mucho tiempo buscando formas de hacer funcionar esto al fin lo logré, lo he probado con pokémon essentials y con RPGmaker puro y funciona en ambos aunque con alguna diferencia minima.

Dejo el documento para descargar ya que son como 7 páginas de documentación, también dejo en un spoiler el codigo final.

Documento completo

Script en ruby


Código PHP:

def generar_evento
()

  
old_map $game_map.map_id #Guardamos el nombre del mapa actual
  
  #Deducimos el nombre del mapa
  
if $game_map.map_id<=9
    map_name 
"Map00#{$game_map.map_id}"
  
elsif $game_map.map_id >=10 and $game_map.map_id <=99
    map_name 
"Map0#{$game_map.map_id}"
  
elsif $game_map.map_id 99
    map_name 
"Map#{$game_map.map_id}"
  
end
    
  mapa 
load_data("Data/#{map_name}.rxdata"#Cargamos los datos del mapa
  
  
  
mapa.events[mapa.events.length+1] = RPG::Event.new(rand(10),rand(10)) #Generamos un nuevo evento con coordenadas X e Y aleatorias.
  
mapa.events[mapa.events.length].pages[0].graphic.character_name "ABRA" #Cambiamos el gráfico del evento.
  
mapa.events[mapa.events.length].pages[0].move_type #Definimos que tenga movimiento aleatorio.
  
mapa.events[mapa.events.length].id mapa.events.length #Hacemos que su ID sea igual a su entrada en el hash de eventos.
  
mapa.events[mapa.events.length].name "Evento" #Cambiamos el nombre del evento a Evento.
  
mapa.events[mapa.events.length].pages[0].move_speed #Cambiamos su velocidad a 3.
  
mapa.events[mapa.events.length].pages[0].move_frequency #Cambiamos la frecuencia de movimiento a 4.
  
mapa.events[mapa.events.length].pages[0].list.unshift(RPG::EventCommand.new) #Añadimos un comando al principio de la lista de comandos.
  
mapa.events[mapa.events.length].pages[0].list[0].code101 #El comando es de tipo 101(Mostrar mensaje)
  
mapa.events[mapa.events.length].pages[0].list[0].parameters= ["texto de prueba"#Hacemos que el parámetro del comando sea un array con valor el texto a mostrar.
  
  
save_data(mapa,"Data/#{map_name}.rxdata"#Guardamos los datos del mapa.
  
  
  #Si no trabajamos con pokémon essentials descomentar las siguientes líneas.
  #$game_map.setup($game_map.map_id)
  #$game_player.moveto($game_player.x, $game_player.y)
  #$game_player.refresh
  #$game_map.autoplay
  #$game_map.update
  #$scene = Scene_Map.new
  
  #Si trabajamos en pokémon essentials descomentar las siguientes líneas.
  #$MapFactory.setup(1) #Cargamos un mapa cualquiera.
  #pbWait(1) #Esperamos una centésima de segundo.
  #$MapFactory.setup(old_map) #Volvemos al mapa original.
  #$game_player.moveto($game_player.x,$game_player.y) #Ponemos al jugador en su posición original.
end 

Descargar código en formato original
Gracias: Xabier2012

Última edición por PolectronElMagnifico; 09/02/2014 a las 13:07
  #2  
14/01/2014
Predeterminado Respuesta: [En curso] Generación de eventos vía script
No se ve en pantalla porque sólo generas datos pero no los asignas a ningún objeto. He trabajado RPG Maker pero nunca he hecho nada como tal así que ni puedo ayudar mucho.

Acabo de revisar un poco, te recomiendo trabajar esto como un módulo y no como una clase.
También asegúrate que este comience a trabajar al inicio del programa independientemente que es lo que estés haciendo (un juego, una aplicación derivada... qué sé yo)
Lo mejor que puedes hacer es, en caso de continuar trabajando cómo una clase; subordinarla a Game_Character quedando algo así:
class Automevent < Game_Character
Con ello vas a heredar todas las propiedades utilizadas.

Es raro que cómo lo tienes, trabaje. Ya que esto está mal:
Kernel.pbMessage(_INTL("{1}",event))
La forma correcta sería:
Kernel.pbMessage(_INTL("{1}"),event)

Seguiré de cerca está investigación.
  #3  
08/02/2014
Predeterminado Respuesta: [En curso] Generación de eventos vía script
Bien, después de mucho tiempo investigando y probando de cientas de formas diferentes al fin he encontrado un método capaz de hacer lo que buscaba. Se trata de editar el archivo .rxdata del mapa en el que se desean insertar los eventos.
Es un proceso un tanto enrevesado la primera vez, ya que hay que entender como funcionan las clases que RPGmaker usa para crear eventos, pero una vez le pillas el tranquillo es super sencillo crear eventos "on the go".

Ahora en un rato acuatlizaré el post con los pasos a realizar.
  #4  
30/07/2014
Predeterminado Respuesta: [En curso] Generación de eventos vía script
Dicho por Polectron Ver mensaje
Bien, después de mucho tiempo investigando y probando de cientas de formas diferentes al fin he encontrado un método capaz de hacer lo que buscaba. Se trata de editar el archivo .rxdata del mapa en el que se desean insertar los eventos.
Es un proceso un tanto enrevesado la primera vez, ya que hay que entender como funcionan las clases que RPGmaker usa para crear eventos, pero una vez le pillas el tranquillo es super sencillo crear eventos "on the go".

Ahora en un rato acuatlizaré el post con los pasos a realizar.
No entendi...para k sirve esto?
Mapa de España en mi juego RPG
  #5  
30/07/2014
Predeterminado Respuesta: [En curso] Generación de eventos vía script
Dicho por PokemonCyan Ver mensaje
No entendi...para k sirve esto?
Vaya, se calló la documentación que escribí D:, luego la vuelvo a subir.

Creo que el propio título del post explica para que sirve esto pero bueno te lo explico mejor XD

Esto es un script que sirve de ejemplo para aprender a crear eventos en los mapas desde un script. Puede que así de repente no le veas utilidad pero se pueden hacer muchas cosas con él. Por ejemplo puedes introducir y eliminar entrenadores en un mapa a tu antojo.
Gracias: MegaSceptile9
  #6  
30/07/2014
Predeterminado Respuesta: [En curso] Generación de eventos vía script
Dicho por Polectron Ver mensaje
Vaya, se calló la documentación que escribí D:, luego la vuelvo a subir.

Creo que el propio título del post explica para que sirve esto pero bueno te lo explico mejor XD

Esto es un script que sirve de ejemplo para aprender a crear eventos en los mapas desde un script. Puede que así de repente no le veas utilidad pero se pueden hacer muchas cosas con él. Por ejemplo puedes introducir y eliminar entrenadores en un mapa a tu antojo.
Ahora entendi,buen aporte¡¡¡
Mapa de España en mi juego RPG
Respuesta

Herramientas
Desplegado

Permisos para publicar mensajes
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los BB code están Activado
Los Emoticones están Activado
El código [IMG] está Activado
El Código HTML está Desactivado
Trackbacks are Activado
Pingbacks are Activado
Refbacks are Desactivado



Extra
Estilo clásico
La franja horaria es GMT +1. Ahora son las 11:46.

© Whack a Hack! 2019