Autor: Polectron
En ROMHacking existe un método llamado setmaptile que permite modificar de manera sencilla el tile ubicado en un sitio concreto del mapa; hoy os traigo un aporte para hacer algo similar en essentials y otra cosa un poco más avanzada que seguramente os interese más. El link de descarga está al final de la entrada.
Cambio temporal en el mapa actual (setMapTile)
Para hacer un cambio temporal (hasta recargar el mapa), tenemos la función
setMapTile, a la cual le podemos pasar el id del tile que queremos colocar y
las coordenadas donde queremos que aparezca (x e y), además de la capa (z,
de 0 a 1). Por tanto setMapTile(358, 0,1,2) colocaría el tile con ID 358 en
la posición 0,1 de la capa 2.
Obtener el ID de un tile es un tanto complicado, la manera más fácil de
hacerlo que he visto es la siguiente:
p $game_map.map.data[x,y,z]
que nos mostraría en una ventaniza el tile colocado en la posición x,y en la
capa z.
Cambio permanente con plantillas en mapas no cargados (placeOnMap)
Este método es un poco más avanzado, nos permite colocar conjuntos enteros
de tiles en un mapa de manera permanente, para esto, primero definimos una
plantilla y luego la colocamos en el mapa deseado.
t = MapTemplate.new(4, 8, 4)
placeOnMap(t, 3, 4, 2)
En este caso creamos una plantilla nueva con MapTemplate.new(id, width,
height), los parámetros que pasamos son los siguientes: primero el id del mapa
que usamos como plantilla, y luego (como los mapas tienen un tamaño mínimo e
igual no queremos usar el mapa completo ponemos el ancho y el alto del mapa
que queremos usar como plantilla).
Una vez creada una plantilla la podemos colocar en un mapa, esto lo hacemos
con planeOnMap(t, id, x, y), primero pasamos la plantilla a usar, luego el id
del mapa donde queremos pegar la plantilla y por último el origen donde
queremos que se pegue la plantilla.
Esto de aquí es un ejemplo de una plantilla, como veis las plantillas pueden
copiar tiles de las 3 capas, nos ofrecen una manera mucho más rápida de
modificar un mapa.
Link al script
Como siempre, enlazaros a nuestro canal de Discord, donde podéis recibir feedback y ayuda en vuestros proyectos de Pokémon Essentials, y a nuestro Twitter donde podéis enteraros de todas nuestras novedades. Tampoco olvidéis suscribiros a nuestro blog para estar pendientes de todo.
Puedes ver otros aportes en:
Comentarios
Publicar un comentario