diff options
Diffstat (limited to 'npc/custom/quests/questboard.txt')
-rw-r--r-- | npc/custom/quests/questboard.txt | 316 |
1 files changed, 0 insertions, 316 deletions
diff --git a/npc/custom/quests/questboard.txt b/npc/custom/quests/questboard.txt deleted file mode 100644 index ba335d2d4..000000000 --- a/npc/custom/quests/questboard.txt +++ /dev/null @@ -1,316 +0,0 @@ -//===== Hercules Script ====================================== -//= tr0n's Questboard -//===== By: ================================================== -//= tr0n -//===== Current Version: ===================================== -//= 1.4.4 -//===== Description: ========================================= -//= Easily add collection and hunting quests. -//===== Additional Comments: ================================= -// 1.0.0 Release -// 1.1.0 Added zeny reward -// 1.2.0 Rewrote checkmob and killcounter -// 1.3.1 Added level restriction -// 1.3.4 Added Reward Item Amount -// 1.4.4 Added Quest delay -//============================================================ - -prontera,129,215,5 script Questboard 4_BOARD3,{ - if(c_run==1){ - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ currentquest$ + "_collectionitem")); set .@j,.@j+2) { - mes "^FF0000"+getitemname(getd("."+currentquest$+"_collectionitem["+.@j+"]"))+" - "+countitem(getd("."+currentquest$+"_collectionitem["+.@j+"]"))+"/"+getd("."+currentquest$+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +currentquest$+"_collectionprize"))?getitemname(getd("." +currentquest$+"_collectionprize"))+" - "+getd("." +currentquest$+"_collectionamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +currentquest$+"_collectionzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_collectionexp["+1+"]")+"^000000"; - next; - if(select("Finish", "Abort") == 2){ - mes "[^FF7700Questboard^000000]"; - mes "Quest aborted."; - set currentquest$, ""; - set c_run, 0; - close; - } - goto L_checkitems; - } - - if(h_run==1){ - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ currentquest$ + "_huntingmob")); set .@j,.@j+2) { - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@j)+"]"); - mes "^FF0000"+strmobinfo(1,getd("."+currentquest$+"_huntingmob["+.@j+"]"))+" - "+getd(currentquest$+"_"+.@currentmob+"_"+(.@j+1)+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +currentquest$+"_huntingprize"))?getitemname(getd("." +currentquest$+"_huntingprize"))+" - "+getd("." +currentquest$+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +currentquest$+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +currentquest$+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Finish", "Abort") == 2){ - mes "[^FF7700Questboard^000000]"; - mes "Quest aborted."; - for(set .@x, 1; .@x < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@x,.@x+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@x-1)+"]"); - setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount", 0); - } - set currentquest$, ""; - set h_run, 0; - close; - } - goto L_checkmobs; - } - -L_questmenu: - mes "[^FF7700Questboard^000000]"; - mes "Select category:"; - next; - - switch(select((.collection)?"Collection Quests":"", - (.hunting)?"Hunting Quests":"", - "Exit")) { - case 1: - set .@collectmenu$, ""; - for( set .@i,0; .@i < .collectionquestcount; set .@i,.@i+1) { - if (.@i) set .@collectmenu$,.@collectmenu$+":"; - set .@collectmenu$, .@collectmenu$ + "[" + getd("." +(.@i+1)+"_collectionmin") + " - " + getd("." +(.@i+1)+"_collectionmax") + "] " + getd("." + (.@i+1) + "_collectionname$"); - } - set .@selection,select(.@collectmenu$); - if(gettimetick(2) < getd(.@selection + "_collection_delay")){ - set .@time_left, getd(.@selection + "_collection_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_collectionname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_collectionitem")); set .@j,.@j+2) { - mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_collectionprize"))?getitemname(getd("." +.@selection+"_collectionprize"))+" - "+getd("." +.@selection+"_collectionamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_collectionzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_collectionexp["+1+"]")+"^000000"; - next; - if(select("Accept", "Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_collectionmin") && BaseLevel <= getd("." +.@selection+"_collectionmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set c_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - - case 2: - set .@huntmenu$, ""; - for( set .@i,0; .@i < .huntingquestcount; set .@i,.@i+1) { - if (.@i) set .@huntmenu$,.@huntmenu$+":"; - set .@huntmenu$, .@huntmenu$ + "[" + getd("." +(.@i+1)+"_huntingmin") + " - " + getd("." +(.@i+1)+"_huntingmax") + "] " + getd("." + (.@i+1) + "_huntingname$"); - } - set .@selection,select(.@huntmenu$); - if(gettimetick(2) < getd(.@selection + "_hunting_delay")){ - set .@time_left, getd(.@selection + "_hunting_delay")-gettimetick(2); - mes "[^FF7700Questboard^000000]"; - if(.@time_left < 60) mes "You have to wait ^0000FF"+.@time_left+" seconds^000000 to do this quest again."; - if(.@time_left < 3600) mes "You have to wait ^0000FF"+.@time_left/60+" minutes^000000 to do this quest again."; - mes "You have to wait ^0000FF"+.@time_left/60/60+" hours^000000 to do this quest again."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "^0000FF"+getd("." + .@selection + "_huntingname$")+"^000000"; - mes "--------------------------------"; - for( set .@j, 0; .@j < getarraysize(getd("."+ .@selection + "_huntingmob")); set .@j,.@j+2) { - mes "^FF0000"+strmobinfo(1,getd("."+.@selection+"_huntingmob["+.@j+"]"))+" - "+getd("."+.@selection+"_huntingmob["+(.@j+1)+"]")+" ea.^000000"; - } - mes "--------------------------------"; - mes "[Reward]"; - mes "Item: ^0000FF"+((getd("." +.@selection+"_huntingprize"))?getitemname(getd("." +.@selection+"_huntingprize"))+" - "+getd("." +.@selection+"_huntingamount")+" ea.^000000":"Nothing^000000"); - mes "Zeny: ^0000FF"+getd("." +.@selection+"_huntingzeny")+"^000000"; - mes "Base EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+0+"]")+"^000000"; - mes "Job EXP: ^0000FF"+getd("." +.@selection+"_huntingexp["+1+"]")+"^000000"; - next; - if(select("Accept", "Decline") == 2){ - close; - } - if(BaseLevel >= getd("." +.@selection+"_huntingmin") && BaseLevel <= getd("." +.@selection+"_huntingmax")) - { - mes "[^FF7700Questboard^000000]"; - mes "Quest accepted."; - set h_run, 1; - set currentquest$, .@selection; - close; - } - else - { - mes "[^FF7700Questboard^000000]"; - mes "You don't have the required"; - mes "level to do this quest."; - close; - } - case 3: - close; - } - -L_checkitems: - for( set .@k,0; .@k < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@k,.@k+2) { - if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){ - set .@checkitem,.@checkitem+2; - } - } - if(.@checkitem<getarraysize(getd("."+currentquest$+"_collectionitem"))){ - mes "[^FF7700Questboard^000000]"; - mes "You don't have everything."; - close; - } - for( set .@delcount,0; .@delcount < getarraysize(getd("."+currentquest$+"_collectionitem")); set .@delcount,.@delcount+2) { - delitem getd("."+currentquest$+"_collectionitem["+.@delcount+"]"),getd("."+currentquest$+"_collectionitem["+(.@delcount+1)+"]"); - } - mes "[^FF7700Questboard^000000]"; - mes "Congratulation! Here is your Reward."; - if(getd("." +currentquest$+"_collectionprize")!=0) getitem(getd("." +currentquest$+"_collectionprize"),getd("." +currentquest$+"_collectionamount")); - Zeny += getd("." +currentquest$+"_collectionzeny"); - getexp getd("." +currentquest$+"_collectionexp["+0+"]"),getd("." +currentquest$+"_collectionexp["+1+"]"); - setd(currentquest$ + "_collection_delay"),gettimetick(2)+.quest_delay; - set currentquest$, ""; - set c_run, 0; - close; - -L_checkmobs: - set .@goal, (getarraysize(getd("."+currentquest$+"_huntingmob"))/2); - for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]"); - if(getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")==getd("."+currentquest$+"_huntingmob["+.@i+"]")){ - set .@checkmonster, .@checkmonster+1; - if(.@checkmonster==.@goal){ - goto L_checkmobs2; - } - continue; - } - goto L_checkmobs2; - } - -L_checkmobs2: - if(.@checkmonster<.@goal){ - mes "[^FF7700Questboard^000000]"; - mes "You didn't kill everything."; - close; - } - mes "[^FF7700Questboard^000000]"; - mes "Congratulation! Here is your Reward."; - for(set .@x, 1; .@x < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@x,.@x+2){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@x-1)+"]"); - setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount", 0); - } - if(getd("." +currentquest$+"_huntingprize")!=0) getitem(getd("." +currentquest$+"_huntingprize"),getd("." +currentquest$+"_huntingamount")); - Zeny += getd("." +currentquest$+"_huntingzeny"); - getexp getd("." +currentquest$+"_huntingexp["+0+"]"),getd("." +currentquest$+"_huntingexp["+1+"]"); - setd(currentquest$ + "_hunting_delay"),gettimetick(2)+.quest_delay; - set currentquest$, ""; - set h_run, 0; - close; - -OnNPCKillEvent: - if(h_run!=1) end; - for(set .@i, 1; .@i < getarraysize(getd("."+currentquest$+"_huntingmob")); set .@i,.@i+2){ - if(killedrid==getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]")){ - set .@currentmob, getd("."+currentquest$+"_huntingmob["+(.@i-1)+"]"); - if(getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")>=getd("."+currentquest$+"_huntingmob["+.@i+"]")) end; - setd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount", getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+1); - dispbottom getd("."+currentquest$+"_huntingname$")+": ["+strmobinfo(1,.@currentmob)+"] ("+ getd(currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+.@i+"]")+")"; - end; - } - continue; - } - end; - -OnInit: - function AddCollection; - function AddHunting; - - //Activate/Deactive quest categories here - set .collection, 1; - set .hunting, 1; - - //Quest Delay (seconds) - //24 hours = 86400 seconds - set .quest_delay, 0; - - //Checks if quests are loaded (prevents out of index) - if(.questsloaded==1) end; - set .questsloaded, 1; - - //Add Collection Quests here - //AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...); - - //Add Hunting Quests here - //AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...); - - end; - -function AddCollection { - set .collectionquestcount,.collectionquestcount+1; - setd ("." +.collectionquestcount+"_collectionname$", getarg(0)); - setd ("." +.collectionquestcount+"_collectionmin", getarg(1)); - setd ("." +.collectionquestcount+"_collectionmax", getarg(2)); - setd ("." +.collectionquestcount+"_collectionprize", getarg(3)); - setd ("." +.collectionquestcount+"_collectionamount", getarg(4)); - setd ("." +.collectionquestcount+"_collectionzeny", getarg(5)); - set .@argcount, 6; - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionexp")); - setd ("." +.collectionquestcount+"_collectionexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.collectionquestcount+"_collectionexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .collectionquestcount + "_collectionitem")); - setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount)); - setd ("."+.collectionquestcount+"_collectionitem["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount,.@argcount+2; - } - return; -} - -function AddHunting { - set .huntingquestcount,.huntingquestcount+1; - setd ("." +.huntingquestcount+"_huntingname$", getarg(0)); - setd ("." +.huntingquestcount+"_huntingmin", getarg(1)); - setd ("." +.huntingquestcount+"_huntingmax", getarg(2)); - setd ("." +.huntingquestcount+"_huntingprize", getarg(3)); - setd ("." +.huntingquestcount+"_huntingamount", getarg(4)); - setd ("." +.huntingquestcount+"_huntingzeny", getarg(5)); - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingexp")); - set .@argcount, 6; - setd ("." +.huntingquestcount+"_huntingexp["+.@size+"]",getarg(.@argcount)); - setd ("." +.huntingquestcount+"_huntingexp["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - while(getarg(.@argcount,-1)!=-1 && getarg(.@argcount+1,-1)!=-1) { - set .@size, getarraysize(getd("."+ .huntingquestcount + "_huntingmob")); - setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount)); - setd ("."+.huntingquestcount+"_huntingmob["+(.@size+1)+"]",getarg(.@argcount+1)); - set .@argcount, .@argcount+2; - } - return; -} -} |