[Script] Sistema y menú de teletransporte



SISTEMA (Y MENÚ) DE TELETRANSPORTE
Por FuegoFatuo25 (Alberto)


¡Hola! Hoy os traigo mi primer aporte público a la comunidad, que se trata de un script, hecho para Essentials. Este se trata del primero de unos cuantos que tengo pensados, y es ni más ni menos, que una forma de sustituir a la MO Vuelo. Pero bueno, vamos al grano, ¿qué hace el script, y como lo uso?

Empecemos por el principio, aunque el nombre lo deje claro, este script sirve para tener un menú con distintos puntos de teletransporte en tu juego. El menú permite añadir una pequeña imagen, que puede ser una scan del mapa, o lo que tú quieras y una pequeña descripción, además del nombre del propio mapa. ¿Que cómo funciona?
Pues ahora lo explico.

Para empezar, tienes que descargar este archivo, dónde podrás encontrar la carpeta Graphics, y un txt con el script. Mete el contenido de Graphics en la carpeta Graphics de tu juego, y copia y pega todo el txt en un nuevo script desde el editor, debajo del Compiler, y por encima de Main. Ya está todo listo, ahora solo te falta configurarlo a tu gusto. Todo viene explicado dentro del script por si quieres revisarlo más tarde, pero ahora explicaré un poco como usarlo.


¿Cómo configuro los puntos de teletransporte?
 
Lo primero que tendrás que hacer será poner en MAP_NAMES, los nombres de los mapas que quieres. No tienen por qué ser los nombres que tienen en el juego, pueden ser distintos. Lo siguiente será poner las descripciones de cada mapa, que pueden ser de hasta 4 líneas. Esto se hace en MAP_DESCS, siguiendo las pautas explicadas en el código. Ya por último, deberás añadir las IDs de cada mapa, y las coordenadas X e Y a las que quieres ser transportado (En MAP_IDS, MAPS_X y MAPS_Y, respectivamente)

Nota: Las “scans” deben ser de 190x190, y se tienen que situar en la carpeta Imágenes (Graphics/Pictures/TP/Imagenes) y con nombre el número del mapa al que pertenece en MAP_NAMES (el mismo usado para el script Kernel.pbNewTeleport).


¿Cómo desbloqueo un nuevo punto de teletransporte?

¡Es muy sencillo! Solo tendrás que, desde un evento, llamar al script Kernel.pbNewTeleport, y entre paréntesis poner el número del mapa que quieres desbloquear, siguiendo el orden que pusiste en MAP_NAMES

Ejemplo: Si tuviésemos un MAP_NAMES=["Mapa 1","Mapa 2"] tendríamos que poner Kernel.pbNewTeleport(0) para el “Mapa 1”, Kernel.pbNewTeleport(1) para el “Mapa 2”, y así sucesivamente. Otra opción es poner Kernel.pbNewTeleport(“Mapa 1”), pero es menos recomendable pues puede llegar a dar fallos en caso de cambiar los nombres de los puntos de teletransporte.


¿Cómo llamo al menú de teletransporte?

Hay varias formas para esto. La principal es llamando desde un evento al script Teleport_Scene.new.pbStartScene. Otra forma sería añadiendo un ítem, poniendo debajo del ítem townmap, en líneas 129 y 275 (en caso de no haber editado previamente este script) de PItem_ItemEffects lo siguiente:

(Deberéis definir un ítem en los PBS, y cambiar donde pone ITEM por el nombre interno que le deis):

ItemHandlers::UseFromBag.add(:ITEM,proc{|item|
Teleport_Scene.new.pbStartScene
next 1 # Continue
})

Con muy poco conocimiento de Ruby, también se puede adaptar para poner como opción en menús, ¡por lo cual lo podréis activar de la forma que queráis!

Agradecimientos a JessWishes, que me ha ayudado algunas partes que no sabía muy bien cómo hacer, y a Clara y Nyaruko, por permitirme usar algunos gráficos.

Y bueno, esto sería todo, ¡espero que os guste!

Cualquier problema o duda, podéis encontrarme en el Discord de PokeLiberty (喰鎧疾斬Monado's Wielder機盾破轟#7047), o en Twitter (@PokemonRedux).

Comentarios

  1. Hola colega podrías colocar el link de descargar a mediafire gracias

    ResponderEliminar
  2. Respuestas
    1. Está en el propio artículo, junto con el resto de las instrucciones y pasos para meterlo en el proyecto

      Eliminar

Publicar un comentario