[Script] NameBox

Autor: Bezier (@mundo_bezier)

Introducción

La idea de este script surgió a raíz del creciente número de fangames que muestran un cuadro con el nombre del personaje o npc que habla encima de la caja de diálogos.
Los scripts más usados obligan a escribir, al principio de cada línea de texto, una serie de comandos para poder mostrar el cuadro auxiliar con el texto deseado, determinar el color de la fuente… vamos, algo tedioso y propenso a errores si no se escriben correctamente los comandos.
Este script pretende facilitar la tarea a los desarrolladores, activando y desactivando el cuadro a voluntad, con una simple llamada a una función del script.

Instalación

  1. Obtener el script: https://pastebin.com/3FstWJqw
  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 NameBox.show(msgwindow) y NameBox.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 #############################

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

msgwindow.text=text

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

  end

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

  return ret

end


Configuración del script

Hay cuatro valores con los cuales se puede configurar el comportamiento del cuadro:
  • NAMEBOXWINSKIN: Nombre de la skin en la carpeta Graphics/Windowskins que se usará para generar el borde del cuadro de texto. El valor por defecto es "speech hgss 1".
  • NAMEBOX_X, NAMEBOX_Y: Posición del cuadro en pantalla (desde la esquina superior izquierda). Los valores por defecto son 14 y 228 respectivamente. Si se cambia el cuadro principal de texto, habrá que definir la posición adecuada para el NameBox.
  • NPCCOLORS: Colores asociados a nombres. Si se carga el NameBox con un nombre que esté dentro de este listado, se pintará del color indicado. Para crear una nueva asociación, habrá que añadir una entrada a esta lista siguiendo el formato indicado en el comentario. * Si se añaden más entradas, es muy importante añadir las comas de separación al final de cada entrada*. En la imagen de portada el nombre Prof. Oak se pinta azul porque tiene colores asociados: Ejemplo:

NPCCOLORS = {

    # "Nombre" => [ColorBase, Sombra]

    "Prof. Oak" => [Color.new(48, 80, 200), Color.new(208, 208, 208)],

    "Misty" => [Color.new(147, 178, 222), Color.new(73, 58, 114)] # <- Añadir una coma si se añaden nuevas entradas

  }


Para usarlo en eventos

Para mostrar el NameBox desde un evento es tan sencillo como llamar al script NameBox.load("Nombre") antes de escribir el diálogo del personaje. A partir de ese momento el NameBox se verá, con el contenido "Nombre", cada vez que se muestre un texto. En la imagen de portada se ha cargado con NameBox.load("Prof. Oak").

Para quitar el NameBox de forma definitiva, hay que llamar al script NameBox.dispose. Esto hará que ya no se muestre el cuadro encima de los textos hasta que se vuelva a llamar a load. Ejemplo:
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

  1. Excelente recurso ;)
    Solo una duda, ¿Cómo podría hacer para que la skin que tenga el NameBox sea la misma que la skin que tengan los diálogos que se escoge en opciones?

    ResponderEliminar

Publicar un comentario