[Script] SetMapTile para Essentials

 
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:

https://newpokeliberty.blogspot.com/p/blog-page_21.html

Comentarios