//===== eAthena Script =======================================
//= XP quest
//===== By: ==================================================
//= Sampson
//===== Current Version: =====================================
//= 1.0
//===== Compatible With: =====================================
//= eAthena 1.0
//===== Description: =========================================
//= Get exp from it
//===== Additional Comments: =================================
//============================================================
prontera.gat,149,179,3 script XP Quests NPC 767,{
mes "[XP Quests NPC]";
mes "Would you like to go on a quest to get exp points?";
menu "Yes",L_YES,"No",L_NO;
close;
L_YES:
mes "[XP Quests NPC]";
mes "Would you like to go on:";
menu "Beginner quest (Level 1-50)",L_BEGIN,"Intermediate quest (51-200)",L_INTER,"Advanced quest (201-500)",L_ADV,"Professional quest (501+)",L_PRO,;
//================BEGINNER QUEST======================
L_BEGIN:
if(BaseLevel > 50) goto L_LOWLVL;
mes "[Beginner quest]";
mes "Gather me 20 Empty Bottles and the reward will be yours";
next;
mes "[Beginner quest]";
mes "Do you have the bottles?";
menu "Yes",L_YESTWO,"Cancel",L_CANCEL;
L_YESTWO:
mes "[Beginner quest]";
mes "We'll let me have a check then";
if(countitem(714) < 20) goto L_NOITEM;
delitem 713,20;
next;
mes "[Beginner quest]";
mes "Congratulations you have won 30 levels";
set BaseLevel, readparam(11) + 30;
set JobLevel, readparam(55) + 30;
close;
//=================CANCEL===========================
L_CANCEL:
mes "[XP Quest NPC]";
mes "Have a great day then!";
close;
//=================INTERMEDIATE QUEST================
L_INTER:
if ((baselevel > 51) && (baselevel <= 200)) goto L_INTER2;
if ((baselevel < 51) && (baselevel >= 200)) goto L_LOWLVL;
L_INTER2:
mes "[Intermediate quest]";
mes "Get me 50 Turtle Shells";
next;
mes "[Intermediate quest]";
mes "Do you have the shells?";
menu "Yes",L_YESTHREE,"Cancel",L_CANCEL,;
L_YESTHREE:
mes "[Intermediate quest]";
mes "Well let me check then";
next;
if(countitem(967) < 50) goto L_NOITEM;
delitem 967,50;
mes "[Intermediate quest]";
mes "Congratulations you have won 25 levels!";
set BaseLevel, readparam(11) + 25;
set JobLevel, readparam(55) + 25;
close;
//=============Advanced quest=======================
L_ADV:
if ((baselevel > 201) && (baselevel <= 500)) goto L_ADV2;
if ((baselevel < 201) && (baselevel >= 500)) goto L_LOWLVL;
L_ADV2:
mes "[Advanced quest]";
mes "Gather me:";
mes "5 baphomet dolls";
mes "10 emperium";
mes "20 Yggdrasilberry";
next;
mes "[Advanced quest]";
mes "Do you have all that?";
menu "Yes",L_YESFOUR,"Cancel",L_CANCEL,;
L_YESFOUR:
mes "[Intermediate quest]";
mes "Well let me check then";
next;
if(countitem(750) < 5 || countitem(714) < 10 || countitem(607) < 20) goto L_NOITEM;
delitem 750,5;
delitem 714,10;
delitem 607,20;
mes "[Advanced quest]";
mes "Congratulations you have won 20 levels!";
set BaseLevel, readparam(11) + 20;
set JobLevel, readparam(55) + 20;
close;
//=============PROFESSIONAL=======================
L_PRO:
if ((baselevel > 501) && (baselevel <= 1000)) goto L_PRO2;
if ((baselevel < 501) && (baselevel >= 1000)) goto L_LOWLVL;
L_PRO2:
mes "[Professional quest]";
mes "Gather me:";
mes "30 baphomet dolls";
next;
mes "[Professional quest]";
mes "Do you have all that?";
menu "Yes",L_YESFIVE,"Cancel",L_CANCEL,;
L_YESFIVE:
mes "[Professional quest]";
mes "Well let me check then";
next;
if(countitem(750) < 30) goto L_NOITEM;
delitem 750,30;
mes "[Professional quest]";
mes "Congratulations you have won 30 levels!";
set BaseLevel, readparam(11) + 30;
set JobLevel, readparam(55) + 30;
close;
//=============TOO HIGH LEVEL========================
L_LOWLVL:
next;
mes "[XP Quest NPC]";
mes "Sorry you are too high or low level for this quest";
close;
//============DONT MEET REQUIREMENTS=================
L_NOITEM:
next;
mes "[XP Quest NPC]";
mes "Sorry you dont meet the requirements.";
mes "Please come back when you have the right amount";
close;
}