Hello there. Right now the issue I'm having is, although the script is loading correctly server-wise (as in, not giving any errors in map-server), the NPC shows no options except for "Exit" when trying to select a quest. I have no idea how to fix this as of the time I'm writing this, hence why I'm asking for help. It's so frustrating when stuff like this happens after I tried customizing the script for hours on end... Thanks for any info!
//===== rAthena Script =======================================//= tr0n's Questboard//===== By: ==================================================//= tr0n//===== Current Version: =====================================//= 1.6.6//===== Description: =========================================//= Easily add collection and hunting quests.//===== Changelogs: ==========================================// 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// 1.5.4 Added repeatable Quests// 1.6.4 Added party support// 1.6.5 Bug fixes for party support// 1.6.6 Bug fixes for delay time does not appear [mazvi]//============================================================
prontera,129,215,5 script Questboard4_BOARD3,{if(c_run==true){
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("."+ currentquest$ +"_collectionname$")+"^000000";
mes "--------------------------------";set.@size, getarraysize(getd("."+ currentquest$ +"_collectionitem"));for(set.@j,0;.@j<.@size;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]";if(_collectionname$)=="Random Gathering (Random Reward): %"||(_collectionname$)=="Random Gathering (Random Reward List): %"{
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;}else{
mes "Item: ^0000FF Player's Choice - "+getd("."+currentquest$+"_collectionamount")+" ea.^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,false;
close;}goto L_checkitems;}if(h_run==true){
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("."+ currentquest$ +"_huntingname$")+"^000000";
mes "--------------------------------";set.@size, getarraysize(getd("."+ currentquest$ +"_huntingmob"));for(set.@j,0;.@j<.@size;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<.@size;set.@x,.@x+2){set.@currentmob, getd("."+currentquest$+"_huntingmob["+(.@x-1)+"]");
setd(currentquest$+"_"+.@currentmob+"_"+.@x+"_killcount",0);}set currentquest$,"";set h_run,false;
close;}goto L_checkmobs;}
mes "[^FF7700Questboard^000000]";
mes "Select category:";
next;switch(select((.collection)?"Collection Quests":"",(.hunting)?"Hunting Quests":"","Exit")){case1: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(.quest_repeat ==true){if(gettimetick(2)< getd(.@selection+"_collection_delay")){
mes "[^FF7700Questboard^000000]";
mes "You have to wait ^0000FF"+Time2Str(getd(.@selection+"_collection_delay"))+"^000000 to do this quest again.";
close;}}else{if(getd(.@selection+"_collection_repeat")==true){
mes "[^FF7700Questboard^000000]";
mes "You already did this quest.";
mes "Please choose another one.";
close;}}
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("."+.@selection+"_collectionname$")+"^000000";
mes "--------------------------------";set.@size, getarraysize(getd("."+.@selection+"_collectionitem"));for(set.@j,0;.@j<.@size;set.@j,.@j+2){
mes "^FF0000"+getitemname(getd("."+.@selection+"_collectionitem["+.@j+"]"))+" - "+getd("."+.@selection+"_collectionitem["+(.@j+1)+"]")+" ea.^000000";}
mes "--------------------------------";
mes "[Reward]";if(_collectionname$)=="Random Gathering (Random Reward): %"||(_collectionname$)=="Random Gathering (Random Reward List): %"{
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;}else{
mes "Item: ^0000FF Player's Choice - "+getd("."+currentquest$+"_collectionamount")+" ea.^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("Accept:Decline")==2){
close;}if(BaseLevel>= getd("."+.@selection+"_collectionmin")&&BaseLevel<= getd("."+.@selection+"_collectionmax")){
mes "[^FF7700Questboard^000000]";
mes "Quest accepted.";set c_run,true;set currentquest$,.@selection;
close;}else{
mes "[^FF7700Questboard^000000]";
mes "You don't have the required";
mes "level to do this quest.";
close;}case2: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(.quest_repeat ==true){if(gettimetick(2)< getd(.@selection+"_hunting_delay")){
mes "[^FF7700Questboard^000000]";
mes "You have to wait ^0000FF"+Time2Str(getd(.@selection+"_hunting_delay"))+"^000000 to do this quest again.";
close;}}else{if(getd(.@selection+"_hunting_repeat")==true){
mes "[^FF7700Questboard^000000]";
mes "You already did this quest.";
mes "Please choose another one.";
close;}}
mes "[^FF7700Questboard^000000]";
mes "^0000FF"+getd("."+.@selection+"_huntingname$")+"^000000";
mes "--------------------------------";set.@size, getarraysize(getd("."+.@selection+"_huntingmob"));for(set.@j,0;.@j<.@size;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,true;set currentquest$,.@selection;
close;}else{
mes "[^FF7700Questboard^000000]";
mes "You don't have the required";
mes "level to do this quest.";
close;}case3:
close;}
L_checkitems:set.@size, getarraysize(getd("."+currentquest$+"_collectionitem"));for(set.@k,0;.@k<.@size;set.@k,.@k+2){if(countitem(getd("."+currentquest$+"_collectionitem["+.@k+"]"))>=getd("."+currentquest$+"_collectionitem["+(.@k+1)+"]")){set.@checkitem,.@checkitem+2;}}if(.@checkitem<.@size){
mes "[^FF7700Questboard^000000]";
mes "You don't have everything.";
close;}for(set.@delcount,0;.@delcount<.@size;set.@delcount,.@delcount+2){
delitem getd("."+currentquest$+"_collectionitem["+.@delcount+"]"),getd("."+currentquest$+"_collectionitem["+(.@delcount+1)+"]");}if(_collectionname$)==(.@randommissionname2$+"%"){
mes "[^FF7700Questboard^000000]";
mes "Congratulations! Select your prize:";if(select(.@random2rewardname1$,.@random2rewardname2$,.@random2rewardname3$,.@random2rewardname4$,.@random2rewardname5$)==1){.@random2finalrewardid=.@random2rewarditem1;}elseif(select(.@random2rewardname1$,.@random2rewardname2$,.@random2rewardname3$,.@random2rewardname4$,.@random2rewardname5$)==2){.@random2finalrewardid=.@random2rewarditem2;}elseif(select(.@random2rewardname1$,.@random2rewardname2$,.@random2rewardname3$,.@random2rewardname4$,.@random2rewardname5$)==3){.@random2finalrewardid=.@random2rewarditem3;}elseif(select(.@random2rewardname1$,.@random2rewardname2$,.@random2rewardname3$,.@random2rewardname4$,.@random2rewardname5$)==4){.@random2finalrewardid=.@random2rewarditem4;}elseif(select(.@random2rewardname1$,.@random2rewardname2$,.@random2rewardname3$,.@random2rewardname4$,.@random2rewardname5$)==5){.@random2finalrewardid=.@random2rewarditem5;}}elseif(_collectionname$)==(.@normalmissionname$+"%"){
mes "[^FF7700Questboard^000000]";
mes "Congratulations! Select your prize:";switch(select("Refining Supplies:")){case1:switch(select("Oridecon:Bradium:Elunium:Carnium")){case1:
setd ".@normalrewardid",984;case2:
setd ".@normalrewardid",6224;case3:
setd ".@normalrewardid",985;case4:
setd ".@normalrewardid",6223;}}}else{
mes "[^FF7700Questboard^000000]";
mes "Congratulations! Here is your Reward.";}if(getd("."+currentquest$+"_collectionprize")!=0) getitem(getd("."+currentquest$+"_collectionprize"),getd("."+currentquest$+"_collectionamount"));setZeny,Zeny+getd("."+currentquest$+"_collectionzeny");
getexp getd("."+currentquest$+"_collectionexp["+0+"]"),getd("."+currentquest$+"_collectionexp["+1+"]");
setd(currentquest$ +"_collection_delay"),gettimetick(2)+.quest_delay;
setd(currentquest$ +"_collection_repeat"),true;set currentquest$,"";set c_run,false;
close;
L_checkmobs:set.@size, getarraysize(getd("."+currentquest$+"_huntingmob"));set.@goal,.@size/2;for(set.@i,1;.@i<.@size;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.";set.@size, getarraysize(getd("."+currentquest$+"_huntingmob"));for(set.@x,1;.@x<.@size;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"));setZeny,Zeny+getd("."+currentquest$+"_huntingzeny");
getexp getd("."+currentquest$+"_huntingexp["+0+"]"),getd("."+currentquest$+"_huntingexp["+1+"]");
setd(currentquest$ +"_hunting_delay"),gettimetick(2)+.quest_delay;
setd(currentquest$ +"_hunting_repeat"),true;set currentquest$,"";set h_run,false;
close;OnNPCKillEvent:if(h_run!=true) end;set.@size, getarraysize(getd("."+currentquest$+"_huntingmob"));for(set.@i,1;.@i<.@size;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+"]")){
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+"]")+")";}if(getcharid(1)!=0&&.party_support ==true){
getmapxy(.@map1$,.@x1,.@y1);set.@killerid, getcharid(3);set.@currentquest$, currentquest$;
getpartymember getcharid(1),1;
getpartymember getcharid(1),2;for(set.@j,0;.@j< $@partymembercount;.@j++){if(isloggedin($@partymemberaid[.@j], $@partymembercid[.@j])){if(h_run==true&& $@partymemberaid[.@j]!=.@killerid&&.@currentquest$== getvar(currentquest$, $@partymembercid[.@j])&& readparam(HP, $@partymembercid[.@j])>0){
getmapxy(.@map2$,.@x2,.@y2,BL_PC,rid2name($@partymemberaid[.@j]));if(.@map1$==.@map2$){set.@kill_amt,getvar(getd(.@currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount"), $@partymembercid[.@j]);set.@kill_goal,getd("."+.@currentquest$+"_huntingmob["+.@i+"]");if(.@kill_amt<.@kill_goal){
setd(.@currentquest$+"_"+.@currentmob+"_"+.@i+"_killcount",.@kill_amt+1, $@partymembercid[.@j]);
dispbottom getd("."+.@currentquest$+"_huntingname$")+": ["+strmobinfo(1,.@currentmob)+"] ("+(.@kill_amt+1)+"/"+.@kill_goal+")",0xB6FF00, $@partymembercid[.@j];}}}}}}break;}}
end;OnInit://Name of missions with random rewards.@randommissionname1$="Random Gathering (Random Reward): ";.@randommissionname2$="Random Gathering (Random Reward List): ";.@normalmissionname$="Random Gathering (Normal Reward List): ";//Random number selections.@querynumbermission1= rand(1,8);.@querynumbermission2= rand(1,8);.@querynumbermission3= rand(1,8);.@itemamountmission1= rand(45,75);.@itemamountmission2= rand(45,75);.@itemamountmission3= rand(45,75);//Initializing SQL for random mission 1
query_sql("SELECT `id`,`drop"+.@querynumbermission1+"_item`,`drop"+.@querynumbermission1+"_rate` FROM `mob_db_re` WHERE `level` <= "+(BaseLevel+10)+" AND (`base_exp` > 0 OR `job_exp` > 0) AND class is null AND `drop"+.@querynumbermission1+"_rate` >= 1000 ORDER BY rand() LIMIT 1",.@random1monsterid,.@random1drop$,.@random1droprate);//Getting our random item from random mob for random reward mission 1
query_sql("SELECT `id` FROM `item_db_re` WHERE `name_aegis` = '"+.@random1drop$+"'",.@random1dropid);//Turning the aegis name into item id
query_sql("SELECT `id` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random1rewarditem);//Random item reward for random mission 1//Initializing SQL for random mission 2
query_sql("SELECT `id`,`drop"+.@querynumbermission2+"_item`,`drop"+.@querynumbermission2+"_rate` FROM `mob_db_re` WHERE `level` <= "+(BaseLevel+10)+" AND (`base_exp` > 0 OR `job_exp` > 0) AND class is null AND `drop"+.@querynumbermission2+"_rate` >= 1000 ORDER BY rand() LIMIT 1",.@random2monsterid,.@random2drop$,.@random2droprate);//Getting our random item from random mob for random reward (random list) mission 2
query_sql("SELECT `id` FROM `item_db_re` WHERE `name_aegis` = '"+.@random2drop$+"'",.@random2dropid);//Turning the aegis name into item id
query_sql("SELECT `id`,`name_english` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random2rewarditem1,.@random2rewardname1$);//Random item reward 1 for random mission 2
query_sql("SELECT `id`,`name_english` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random2rewarditem2,.@random2rewardname2$);//Random item reward 2 for random mission 2
query_sql("SELECT `id`,`name_english` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random2rewarditem3,.@random2rewardname3$);//Random item reward 3 for random mission 2
query_sql("SELECT `id`,`name_english` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random2rewarditem4,.@random2rewardname4$);//Random item reward 4 for random mission 2
query_sql("SELECT `id`,`name_english` FROM `item_db_re` ORDER BY rand() LIMIT 1",.@random2rewarditem5,.@random2rewardname5$);//Random item reward 5 for random mission 2//Initializing SQL for random mission 3
query_sql("SELECT `id`,`drop"+.@querynumbermission3+"_item`,`drop"+.@querynumbermission3+"_rate` FROM `mob_db_re` WHERE `level` <= "+(BaseLevel+10)+" AND (`base_exp` > 0 OR `job_exp` > 0) AND class is null AND `drop"+.@querynumbermission3+"_rate` >= 1000 ORDER BY rand() LIMIT 1",.@normalmonsterid,.@normaldrop$,.@normaldroprate);//Getting our random item from random mob for normal reward mission
query_sql("SELECT `id` FROM `item_db_re` WHERE `name_aegis` = '"+.@normaldrop$+"'",.@normaldropid);//Turning the aegis name into item id
function AddCollection;
function AddHunting;//Activate/Deactivate quest categories (true/1 - activated, false/0 - deactivated)set.collection,true;set.hunting,true;//Quest Delay (seconds)//24 hours = 86400 secondsset.quest_delay,0;//Activate/Deactivate repeatable quests (true/1 - activated, false/0 - deactivated)set.quest_repeat,true;//Activate/Deactivate party support (true/1 - activated, false/0 - deactivated)set.party_support,true;//Checks if quests are loaded (prevents out of index)if(.questsloaded==true) end;set.questsloaded,true;//Add Collection Quests here (You can add as many required items as you want)//AddCollection("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Item ID>,<Item Amount>,...);AddCollection(("Random Gathering (Random Reward): "+strmobinfo(1,.@random1monsterid)),BaseLevel,250,.@random1rewarditem,(.@itemamountmission1/10),((strmobinfo(3,.@random1monsterid)+ strmobinfo(4,.@random1monsterid)+ strmobinfo(6,.@random1monsterid)+ strmobinfo(7,.@random1monsterid))/20),((strmobinfo(6,.@random1monsterid))*.@itemamountmission1*10000/.@random1droprate),((strmobinfo(7,.@random1monsterid))*.@itemamountmission1*10000/.@random1droprate),.@random1dropid,.@itemamountmission1);AddCollection(("Random Gathering (Random Reward List): "+strmobinfo(1,.@random2monsterid)),BaseLevel,250,.@random2finalrewardid,(.@itemamountmission2/10),((strmobinfo(3,.@random2monsterid)+ strmobinfo(4,.@random2monsterid)+ strmobinfo(6,.@random2monsterid)+ strmobinfo(7,.@random2monsterid))/20),((strmobinfo(6,.@random2monsterid))*.@itemamountmission2*10000/.@random2droprate),((strmobinfo(7,.@random2monsterid))*.@itemamountmission2*10000/.@random2droprate),.@random2dropid,.@itemamountmission2);AddCollection(("Random Gathering (Normal Reward List): "+strmobinfo(1,.@normalmonsterid)),BaseLevel,250,.@normalrewardid,(.@itemamountmission3/10),((strmobinfo(3,.@normalmonsterid)+ strmobinfo(4,.@normalmonsterid)+ strmobinfo(6,.@normalmonsterid)+ strmobinfo(7,.@normalmonsterid))/20),((strmobinfo(6,.@normalmonsterid))*.@itemamountmission3*10000/.@normaldroprate),((strmobinfo(7,.@normalmonsterid))*.@itemamountmission3*10000/.@normaldroprate),.@normaldropid,.@itemamountmission3);//Add Hunting Quests here (You can add as many required mobs as you want)//AddHunting("<Quest Name>",<Min Lvl>,<Max Lvl>,<Reward|Item ID>,<Reward|Item Amount>,<Zeny Reward>,<Base EXP>,<Job EXP>,<Monster ID>,<Monster Amount>,...);AddHunting("There's a snake in my boot!",1,250,578,20,3500,20588,14063,1025,75);
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;set.@size, getarraysize(getd("."+.collectionquestcount +"_collectionitem"));while(getarg(.@argcount,-1)!=-1&& getarg(.@argcount+1,-1)!=-1){
setd ("."+.collectionquestcount+"_collectionitem["+.@size+"]",getarg(.@argcount));
setd ("."+.collectionquestcount+"_collectionitem["+(.@size+1)+"]",getarg(.@argcount+1));set.@argcount,.@argcount+2;set.@size,.@size+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;set.@size, getarraysize(getd("."+.huntingquestcount +"_huntingmob"));while(getarg(.@argcount,-1)!=-1&& getarg(.@argcount+1,-1)!=-1){
setd ("."+.huntingquestcount+"_huntingmob["+.@size+"]",getarg(.@argcount));
setd ("."+.huntingquestcount+"_huntingmob["+(.@size+1)+"]",getarg(.@argcount+1));set.@argcount,.@argcount+2;set.@size,.@size+2;}return;}}
Question
albertoacv4498
Hello there. Right now the issue I'm having is, although the script is loading correctly server-wise (as in, not giving any errors in map-server), the NPC shows no options except for "Exit" when trying to select a quest. I have no idea how to fix this as of the time I'm writing this, hence why I'm asking for help. It's so frustrating when stuff like this happens after I tried customizing the script for hours on end... Thanks for any info!
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.