Capitulo IIConozcamos más sobre algunos comandos.Guía tomada y actualizada de éste foro.Después de saber la
descripción básica de NPCs veremos lo siguiente:
Existen una serie de comandos que podremos usar al momento de estar generando algún código aquí mencionaré las más usuales y ocupadas para hacer alguno que otro script.
- if
Nos permite corroborar algún aspecto a considerar en un Script. - switch
Nos permite crear una serie de casos o menú selectivo para poder realizar alguna acción especifica. - menu
Permite la creación de un menú en la interfaz de juego. - delitem
Elimina algún item en base a su ID. - getitem
Nos da un item en base a su ID - set
Nos permite asignarle algún valor ya sea numérico o de tipo caracter. - next
Permite mostrar una nueva ventana así mismo dirigirnos al siguiente "cuadro o ventana" - countitem
Permite hacer una revisión si el personaje trae cierto item en base a su ID en el inventario. - monster
Permite hacer la invocación de algún mob mediante su ID o nombre. - warp
Envía a el usuario que esté en interacción a una ubicación específica. - goto
Nos brinda la herramienta para poder dirigirnos a un submenú o parte del código. - close
Nos brinda la opción de terminar la interacción con el npc.
El siguiente NPC pondrá en práctica alguno de los ya mencionados:prontera,155,163,2 script Tomo II 412,{//Encabezado
set .@name$, "^c50000[TomoII]^000000";//Asignamos [TomoII] a la variable .@name$
mes .@name$;
mes "Hola bienvenido al segundo tomo.";
mes .@name$;
mes "Dime ¿qué puedo hacer por ti?.";
next;
switch(select("Hacer pociones Rojas:Nada")){//switch
case 1:
mes .@name$;
mes "Bien, deberás traerme los siguientes items";
mes "1 Red Herb";
next;
mes .@name$;
mes "¿Tienes todos los items?";
next;
menu "Sí.",menusi,"No.",menuno;//menu
menusi:
if(countitem(507)>0){//Revisa si tenemos el item
delitem 507,1;//Nos borra el item
getitem 501,1;//Nos da el nuevo item
}else{
mes .@name$;
mes "Lo siento revisa si tienes todo";
}
close;
menuno:
mes .@name$;
mes "Nos vemos cuando tengas todo";
close;
break;
case 2:
mes .@name$;
mes "Hasta luego";
close;
}//Finaliza Switch
}//Finaliza el código
^######"Texto"
^000000 Es una equivalencia de colores a código, podrán buscar como generarlos desde
aquí.
Ejemplos: