Capitulo I
Descripción básica de NPCs
Guía tomada y actualizada desde éste foro.
- ¿Qué es un NPC?
Non-Player Character (Personaje no jugador) son todos aquellos Sprites en el juego con los que podemos tener interacción además de ser neutrales hacía cada uno de los jugadores. - ¿Para qué sirven?
Básicamente nos dan algunas opciones y/o herramientas para poder desarrollarnos dentro del mundo de los juegos, en éste caso Ragnarok. - ¿Cómo se crean o hacen los NPCs?
Mediante serie de códigos o línea e codigos que se explicarán más adelante.
Estructura básica de un NPC:Un script de NPC contará con una serie de secciones que son las siguientes:
- Cabecera del código
- Cuerpo y sentencias
- Agregados
Cabecera:mapa,coordenadaX,coordenadaY,posición%TAB%Tipo%TAB%Nombre%TAB%Apariencia/SpriteID,{Mapa:Será el mapa de ubicación de nuestro NPC, deberá llevar el nombre exacto del mapa (podremos usar /where o revisar una DB.
CoordenadaX:
Es la coordenada correspondiente al eje X del mapa.
CoordenadaY:Es la coordenada correspondiente al eje Y del mapa.
Posición:Será la ID correspondiente a la posición del Sprite del NPC, es decir la posición en la que el Sprite estará dirigido.
%TAB%:Tabulación, en todos los códigos de scripting para e/rathena y sus derivados deberá llevar Tabulación en esas secciones o al momento de correr el código les dará algún error.
Tipo:Existen dos tipos de NPC, los que nos presentan alguna interacción mediante textos e interfaces y los que funcionan como tienda (para vender y/o comprar objetos). Aquí verán
script para Npcs comunes o
shop para tipo tienda.
Nombre:Será el nombre que mostrará el NPC en el juego.
Apariencia:Todos los NPCs tienen algún aspecto específico para sabes que ID asignarles podremos buscarlos desde
aquí.
Nota: Recuerden respetar las comas(,), tabulaciones(%TAB%) e inicios de llaves({).
Cuerpo o sentencias:mes "
TEXTO";
close;}
Mes:Función que permite al NCP mostrarnos texto o diálogos mediante la interfaz.
"TEXTO":Seguido del mes deberá ir una línea de texto ya sea escrita o simplemente señalada. (deberá ir entre " ")
close:Nos permite terminar la interacción con el npc, a mostrar la opción "cerrar" en la interfaz.
}, "" y ;} Nos indica el final de alguna instrucción o código.
" " Hace señalamiento a una cadena de caracteres para mostrarlos como texto en el código.
; deberá ir al final de cada sentencia.
Agregados:Aquí se agrega alguna función extra para cada línea de códigos, normalmente se coloca después del código principal del NPC, podría ser algún llamado de argumento o duplicación.
prontera,155,163,2 script CapituloI 412,{
mes "Este es el NPC CapituloI";
close;
}
Ejemplo: