[Script] Mugshots Manager

 

Autor: Bezier (@mundo_bezier)
Sprite original de Candela: Nephae (https://www.deviantart.com/nephae)

Introducción

Cada vez es más común encontrar un fangame que muestre mugshots de los personajes importantes. El sistema habitual suele ser mostrar una imagen desde un evento antes de escribir su diálogo y eso puede ser suficiente… pero vayamos un paso más allá.

Este script está pensado para cargar la imagen de un personaje, asociada a su nombre, y mostrarla en el lado derecho de la pantalla tal y como se muestra en la cabecera. El extra de este script es que permite gestionar imágenes que contengan diferentes frames del personaje, con variantes de caras o poses, e indicar qué frame cargar, configurando el tamaño del frame de cada mugshot

 Scans


 Instalación

  1. Obtener el script: https://pastebin.com/bxfLYTuz
  2. Añadirlo a RPG Maker. Como siempre, encima de Main.
  3. Editar la función Kernel.pbMessageDisplay, en el script Messages, y añadir las llamadas a Mugshots.show(msgwindow) y Mugshots.hide, tal y como se indica a continuación:
Aproximadamente a mitad de la función, justo después del comentario con muchas #:
 

########## Show text #############################

Mugshots.show(msgwindow) # <- Añadir esta línea para mostrar el Mugshots.

msgwindow.text=text

Y al final de la función, antes del return:

  end

  Mugshots.hide # <- Añadir esta línea para ocultar el Mugshots junto con el cuadro de texto

  return ret

end 

Configuración del script

Los recursos gráficos deben estar en la carpeta Graphics/Pictures/Mugshots para que el script los encuentre.

Hay tres valores con los cuales se puede configurar el comportamiento del script:
  • ANIMFRAMES: Número de frames que dura la animación de entrada, en la que el mugshot aparece desde el borde derecho hasta mostrarse por completo. Si un mugshot ha sido cargado con animación de entrada, saldrá de escena del mismo modo. el valor por defecto son 15 frames. A mayor valor, más frames tarda en realizar el movimiento y más lento entrará el mugshot en escena. Este valor sólo se usará si se carga el mugshot con la animación activada. * Ver funcionamiento más adelante.
  • AUTONAMEBOX: Si está a true, activará la compatibilidad con el script NameBox y se cargará automáticamente el cuadro auxiliar con el nombre asociado al mugshot. Puedes consultar el funcionamiento y descargar el script NameBox desde esta entrada.
  • CHARACTERS: Si se carga un mugshot compuesto por frames, se debe definir en esta lista el ancho de los frames que componen la imagen. Todos los frames deben tener el mismo ancho. Esta lista contiene las asociaciones entre nombre del mugshot y el ancho de frame. Ejemplo

CHARACTERS = {

    # "Nombre" => Ancho,

    "Candela" => 258 # <- Añadir una coma si se añaden nuevas entradas debajo

  }

Para usarlo en eventos

Para mostrar el Mugshot desde un evento es tan sencillo como llamar al script Mugshots.load(“Candela”). A partir de ese momento el mugshot se mostrará ajustado a la esquina inferior derecha hasta que se desactive con Mugshots.dispose.

Si la imagen está compuesta por frames se puede indicar qué frame cargar. Si no se indica nada, Mugshots.load(“Candela”), se cargará por defecto el primer frame, que corresponde con el índice 0 (cero). Si se quiere cargar el tercer frame, se llamará a Mugshots.load(“Candela”, 2). Siempre se empieza a contar los frames desde 0, por lo que el tercer frame tiene índice 2:

Para cambiar de frame, se modifica el índice interno con Mugshots.frame=1. En el siguiente texto se actualizará al frame 1.

Si se quiere usar animaciones de entrada y salida, se deberá cargar como Mugshots.load(“Candela”, 1, true). En este ejemplo se carga el mugshot “Candela”, con el frame 1 y activa la animación de entrada.

Resumen de uso

  • Cargar un mugshot: Mugshots.load("Candela")
  • Cargar un frame concreto del mugshot: Mugshots.load("Candela",2)
  • Cargar con animación de entrada y salida:  Mugshots.load("Candela",2,true)
  • Cambar el frame a mostrar (debe estar cargado anteriormente): Mugshots.frame=1
  • Desactivar los mugshots: Mugshots.dispose

Notas

Si da la sensación que este script y el de NameBox se ven muy similares, tanto en forma como en el lugar donde hay que añadir las llamadas a las funciones, es porque forman parte del mismo paquete de herramientas orientado a facilitar la maquetación de eventos y por ello se han planificado de forma similar.
 
Para cualquier duda o problema encontrado, comentad o enviadme un MD por Twitter. @mundo_bezier



¿Quieres crear tu propio proyecto? ¡Descarga Pokémon Essentials en español y únete a nosotros! Os animamos a entrar a nuestro servidor de Discord, donde podéis obtener feedback y ayuda para vuestros fangames de Pokémon y seguirnos en nuestro Twitter, para estar al día de todas nuestras novedades. 

 
Puedes ver otros aportes en:

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

Comentarios