PolectronElMagnifico
Baneado
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.
Dejo el documento para descargar ya que son como 7 páginas de documentación, también dejo en un spoiler el codigo final.
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 = 1 #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 = 3 #Cambiamos su velocidad a 3.
mapa.events[mapa.events.length].pages[0].move_frequency = 4 #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].code= 101 #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
Última edición por un moderador: