¡Vota por nosotros!

Vota diariamente por XatiyaRO para mejorar nuestra reputación y ayudarnos a crecer.

RagnaTOP - Top Ragnarok Online en Español Ragnarok private server
private server TOP RO Hispano

Autor Tema: [Guía NPC] Capitulo III  (Leído 5747 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Alepcis

  • First Job
  • *
  • Mensajes: 307
  • Todo es un sueño, una falsa realidad.
  • Guild: Agua&Jabón[GL]
  • Pj Principal: Alepcis
[Guía NPC] Capitulo III
« en: 03 de Diciembre de 2013, 08:45:51 am »
Capitulo III
Optimizar los NPCs
Guí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.
Código: [Seleccionar]
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:

Código: [Seleccionar]
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
« Última modificación: 03 de Enero de 2014, 09:42:38 am por Alepcis »




Desconectado Alepcis

  • First Job
  • *
  • Mensajes: 307
  • Todo es un sueño, una falsa realidad.
  • Guild: Agua&Jabón[GL]
  • Pj Principal: Alepcis
Re:[Guía NPC] Capitulo III
« Respuesta #1 en: 09 de Diciembre de 2013, 05:33:53 am »
Editado y corregido algunos errores de sintaxis.