Capitulo IIIOptimizar los NPCsGuía tomada y actualizada de éste foro.Después de saber sobre
algunos comandos veremos lo siguiente:
Sería muy tedioso/aburrido para algunos usuarios tener que leer la infinidad de texto que nos muestran algunas quest o scripts, por lo que ahora veremos como optimizar ésa parte en especifico.
Tomaremos en cuenta el código del capitulo anterior y modificaremos algunas líneas.
prontera,75,133,2 script TomoII 644,{//Encabezado
set .@name$, "^c50000[TomoII]^000000";//Asignamos [TomoII] a la variable .@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
Después de hacerle los ajustes quedaría de la siguiente manera:prontera,155,163,2 script Tomo III 412,{//Encabezado
set .@name$, "^c50000[Tomo III]^000000";//Asignamos [TomoII] a la variable .@name$
if(tomoII==2){//Revisa el valor de tomoII si es igual a 2 nos enviará hasta hacerpotas.
goto hacerpotas;
}else{//Si no nos mostrará todo el dialogo.
mes .@name$;
mes "Hola bienvenido al tercer tomo.";
next;
mes .@name$;
mes "A estas alturas de las lecciones ya deberías saber usar algunos comandos";
next;
mes .@name$;
mes "Alguna que otra instrucción, por lo que te diré que yo puedo hacerte algunas pociones";
next;
mes .@name$;
mes "Dime ¿te interesa saber más sobre las pociones?";
next;
mes "Para que te pregunto, mejor te cuenta de una buena vez";
next;
mes .@name$;
mes "Es herencia de familia, mis padres se dedicaban a ésto y mira que les ha rendido";
next;
mes "Yo puedo hacer pociones pero venga podrías decirme tú ¿no?";
next;
mes "Sin tantos rodeos";
next;
mes .@name$;
mes "Dime ¿qué puedo hacer por ti?.";
next;
switch(select("Hacer pociones Rojas:Nada")){//switch
case 1:
set tomoII,2;//Asigna un valor a tomoII
goto hacerpotas;
break;
case 2:
mes .@name$;
mes "Hasta luego";
close;
}//Finaliza Switch
}
hacerpotas://Hacer potas es decir el menú de selección
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;
}//Finaliza el código