Jump to content

Quesooo

Members
  • Posts

    883
  • Joined

  • Last visited

Everything posted by Quesooo

  1. wow thank you i will wait for this thank you bro can you tell me in what line can i change the rates of each enchants
  2. can i request a npc PLUTO_09 and MARS_01 npc who enchant and give Excellion gears this are the details for this npc's The Excellion set is an armour group created from lost technology of a ruined laboratory, consisting of a suit and garment. Unlike other Verus equipment, these can be used by every job and have a level requirement of 99 to equip. They are highly customizable by using reactor blueprints to enchant each piece. The quest for Excellion equipment begins at Verus Firstly, speak with MARS_01 and supply it with 1 Old Fuel Tank to get both units up and running. Afterwards, MARS_01 will enchant your Excellion gears. PLUTO_09 will make Excellion gears and produce reactor blueprints (enchants). For 10 Huge Metal Scraps and 5 Old Fuel Tanks , PLUTO_09 will give one of Excellion Suit or Excellion Wing at random. Enchantments The Excellion set can be enchanted by using reactor blueprints created by PLUTO_09. To create a blueprint, you must supply 5 Old Fuel Tanks . PLUTO_09 will give you a random reactor blueprint or fail to create one entirely. With an Excellion armour piece and blueprints in your inventory, you can then speak to MARS_01 to apply them as desired. The enchanting process consumes the blueprint, but will never fail. The following table lists the available blueprints, their effects and their enchantment limitations. Reactor Blueprint Effect Location Max Count Fire Property Reactor Fire Property Blueprint Enchant an armour with fire property. Suit 1 Water Property Reactor Water Property Blueprint Enchant an armour with water property. Suit 1 Earth Property Reactor Earth Property Blueprint Enchant an armour with earth property. Suit 1 Wind Property Reactor Wind Property Blueprint Enchant an armour with wind property. Suit 1 Fire Resistance Reactor Fire Resistance Blueprint Reduce damage from fire property by 25%. Receive more damage from water property by 25%. Wing 3 Water Resistance Reactor Water Resistance Blueprint Reduce damage from water property by 25%. Receive more damage from wind property by 25%. Wing 3 Earth Resistance Reactor Earth Resistance Blueprint Reduce damage from earth property by 25%. Receive more damage from fire property by 25%. Wing 3 Wind Resistance Reactor Wind Resistance Blueprint Reduce damage from wind property by 25%. Receive more damage from earth property by 25%. Wing 3 Recovery 101 Reactor Recovery 101 Blueprint Restore 50 HP every 5 seconds. If refine is 7 or higher, gives an additional 50 HP every 5 seconds. Both 3 Recovery 102 Reactor Recovery 102 Blueprint Restore 3 SP every 5 seconds. If refine rate is 7 or higher, gives an additional 2 SP every 5 seconds. Both 3 Recovery 201 Reactor Recovery 201 Blueprint Increase HP recovery rate by 50%. When refine rate is 7 or higher, further increase HP recovery rate by 50%. Both 3 Recovery 202 Reactor Recovery 202 Blueprint Increase SP recovery rate by 50%. When refine rate is 7 or higher, further increase SP recovery rate by 50%. Both 3 STR Supplement Reactor STR Supplement Blueprint ATK +5 for every 10 base STR. When refine rate is 7 or higher, add an additional ATK +10. Suit 1 INT Supplement Reactor INT Supplement Blueprint MATK +5 for every 10 base INT. When refine rate is 7 or higher, add an additional MATK +10. Suit 1 DEF Supplement Reactor DEF Supplement Blueprint DEF +100. Both 3 PD Supplement Reactor PD Supplement Blueprint Perfect Dodge +3. Both 1 Attack Supplement Reactor Attack Supplement Blueprint ATK +20. Both 3 Magic Supplement Reactor Magic Supplement Blueprint MATK +20. Both 3 HP Supplement Reactor HP Supplement Blueprint Max HP +5%. Both 3 SP Supplement Reactor SP Supplement Blueprint Max SP +3%. Both 3 Frozen Supplement Reactor Frozen Supplement Blueprint Grants immunity to being frozen. Suit 1 ASPD Supplement Reactor ASPD Supplement Blueprint ASPD +1. Both 1 i have a complete npc's on verus04 map but this thing are missing ;( please help btw credit to owner of this wiki @Nova thank you so much
  3. i want to purchase this but still no reply LMAO
  4. @Alayne please help again hehehehe im using your devil's tower instance complete package but im getting this error on second map any guide how do i repair this? thank you so much
  5. wow thank you so much for this btw is there any guide how do we used this on our own server??
  6. @NightJar Change the npc sprite prontera,224,79,0 script PunchingBag#0 844,{ this >>> 844
  7. @core you mean enable memo on a map? if im correct check this out https://github.com/rathena/rathena/blob/master/npc/mapflag/nomemo.txt
  8. hi good day i would like to request a working koe with diff file thats working on rathena latest rev today any one can share? thank you so much god bless
  9. try to change the effect id base on effect list https://github.com/rathena/rathena/blob/master/doc/effect_list.txt
  10. i forgot to say i also use your common.txt file and i got this error thank you
  11. @yuchinin i got error on fishing script can you please check it thank you [Error]: Loading NPC file: npc/custom/FishingSimulation.txt script error on npc/custom/FishingSimulation.txt line 84 parse_callfunc: expected ')' to close argument list 80 : { 81 : .@fishchk$ = getarg(0); 82 : .@varname$ = getarg(1); 83 : .@npc$ = strnpcinfo(3); * 84 : for(.@x=0;.@x<getarraysize(getVariable'('".fish_list$"));.@x++){ 85 : if(getVariable(".fish_name$["+.@x+"]")==.@fishchk$){ 86 : return getVariable(.@varname$+"["+.@x+"]"); 87 : } 88 : } 89 : debugmes "Local_Fish_Val_Get return null"; [Error]: script error on npc/custom/FishingSimulation.txt line 97 parse_callfunc: expected ')' to close argument list 93 : { 94 : .@fishchk$ = getarg(0); 95 : .@varname$ = getarg(1); 96 : .@npc$ = strnpcinfo(3); * 97 : for(.@x=0;.@x<getarraysize(getVariable'('".fish_list$"));.@x++){ 98 : if(getVariable(".fish_name$["+.@x+"]")==.@fishchk$){ 99 : setVariable(.@varname$+"["+.@x+"]",getVariable(.@varname$+"["+.@x+"]")+getarg(2)); 100 : break; 101 : } 102 : } [Error]: script error on npc/custom/FishingSimulation.txt line 109 parse_simpleexpr: unmatched ')' 106 : { 107 : .@npc$ = strnpcinfo(3); 108 : * 109 : if(getVariable'('".status"+.@npc$) == 0){ 110 : .@delay = getarg(0,100); 111 : .@variation = getarg(1,0); 112 : .@hook_timeout = getarg(2,750); 113 : .@bait_timeout = getarg(3,rand(10,20)); 114 : [Error]: script error on npc/custom/FishingSimulation.txt line 277 script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes. 275 : { 276 : .@npc$ = strnpcinfo(3); * 277 : .@fish$ = getVariable('"'.fish"+.@npc$+"$"); 278 : for(.@x=0;.@x<getarraysize(getVariable(".fish_list$"));.@x++){ 279 : if(getVariable(".fish_amt["+.@x+"]") < getVariable(".fish_max["+.@x+"]")){ 280 : if(getVariable(".fish_timetick["+.@x+"]")==0){ 281 : setVariable(".fish_timetick["+.@x+"]",gettimetick(2)); 282 : }else if(gettimetick(2)>getVariable(".fish_timetick["+.@x+"]")){ [Error]: script error on npc/custom/FishingSimulation.txt line 307 parse_callfunc: expected ')' to close argument list 302 : { 303 : .@arrvarname$ = getarg(0); 304 : .@message$ = getarg(1); 305 : .@isconsumed = getarg(2,0); 306 : .@mstr$ = "Leave:"; * 307 : for(.@x=0;.@x<getarraysize(getVariable'('.@arrvarname$));.@x++){ 308 : .@temp$ = .@arrvarname$+"["+.@x+"]"; 309 : .@optional$ = ""; 310 : if(.@arrvarname$==".rod_list"){ 311 : .@index = arrfind_db("$@rod_data$",getVariable(.@temp$)); 312 : .@indicator_slow_bonus = atoi(arrget_db("$@rod_data$",.@index,1)); [Error]: script error on npc/custom/FishingSimulation.txt line 338 parse_callfunc: expected ')' to close argument list 336 : { 337 : .@name$ = ""; * 338 : if(getarraysize(getVariable'('".fish_list$"))==1){ 339 : if(rand(1,10000) <= getVariable(".fish_rate[0]") && getVariable(".fish_amt[0]")>0) .@name$ = getVariable(".fish_name$[0]"); 340 : }else{ 341 : .@count = 0; 342 : do{ 343 : .@index = rand(getarraysize(getVariable(".fish_rate"))); [Error]: script error on npc/custom/FishingSimulation.txt line 373 parse_simpleexpr: unmatched ')' 368 : { 369 : .@npc$ = strnpcinfo(3); 370 : .@arrname1$ = getarg(0); 371 : .@arrname2$ = getarg(1); 372 : * 373 : if( getVariable'('".status"+.@npc$) == 0 && @bindspot$ == "" ){ 374 : mes "[ "+CStr(strnpcinfo(0),"RED")+" ]"; 375 : .@rod = Fishing_Item_Check_Func(.@arrname1$,"Select a rod"); 376 : if(!.@rod || getVariable(".status"+.@npc$)!= 0){ 377 : mes "You don't have the selected item or someone is using this spot, please try again later."; 378 : end; [Error]: script error on npc/custom/FishingSimulation.txt line 428 script:add_word: invalid word. A word consists of undercores and/or alphanumeric characters, and valid variable prefixes/postfixes. 424 : { 425 : //.@sleepduration = getarg(0); 426 : .@npc$ = strnpcinfo(3); 427 : delwaitingroom .@npc$; * 428 : .@name$ = getVariable('"'.charname"+.@npc$+"$"); 429 : .@aid = getcharid2(3,.@name$); 430 : .@charid = getcharid2(0,.@name$); 431 : if(isloggedin(.@aid,.@charid)){ 432 : setd "@bindspot$","",getcharid2(0,getVariable(".charname"+.@npc$+"$")); 433 : } [Error]: script error on npc/custom/FishingSimulation.txt line 451 parse_line: expect command, missing function name or calling undeclared function 449 : { 450 : sleep2 1000; * 451 : if(!playerattached()) 'F'ishing_End_Func(); // add check to counter unexpected player not attach (server reload/disconnect/logout) 452 : showscript "It's a "+getVariable(".fish"+strnpcinfo(3)+"$")+"!",getcharid2(3,getVariable(".charname"+strnpcinfo(3)+"$")); 453 : sleep2 1000; 454 : if(!playerattached()) Fishing_End_Func(); // add check to counter unexpected player not attach (server reload/disconnect/logout) 455 : .@fish$ = getVariable(".fish"+strnpcinfo(3)+"$"); 456 : .@fish_index = arrfind_db("$@fish_data$",.@fish$); [Error]: script error on npc/custom/FishingSimulation.txt line 538 parse_simpleexpr: unmatched ')' 536 : { 537 : while(1){ * 538 : if(getnpctimer(0) || getVariable'('".status"+strnpcinfo(3)) > 0){ 539 : sleep 5000; 540 : continue; 541 : } 542 : specialeffect EF_BUBBLE; 543 : specialeffect 199; [Error]: script error on npc/custom/FishingSimulation.txt line 552 parse_line: expect command, missing function name or calling undeclared function 549 : { 550 : .@npc$ = strnpcinfo(3); 551 : getmapxy(.@map$,.@mapx,.@mapy,UNITTYPE_NPC); * 552 : 's'etVariable(".npcx"+.@npc$,.@mapx); 553 : setVariable(".npcy"+.@npc$,.@mapy); 554 : setVariable(".npcname"+.@npc$+"$",strnpcinfo(0)); 555 : 556 : for(.@x=0;.@x<getarraysize(getVariable(".fish_list$"));.@x++){ 557 : deletearray .@T$,getarraysize(.@T$); [Error]: script error on npc/custom/FishingSimulation.txt line 569 parse_line: expect command, missing function name or calling undeclared function 568 : { * 569 : 'F'ishing_Start_Func(".rod_list",".bait_list"); 570 : end; 571 : 572 : OnSuccess: 573 : emotion ET_BLABLA,getcharid(3,getVariable(".charname"+strnpcinfo(3)+"$")); 574 : showscript "I got it!",getcharid2(3,getVariable(".charname"+strnpcinfo(3)+"$")); [Error]: script error on npc/custom/FishingSimulation.txt line 629 parse_line: expect command, missing function name or calling undeclared function 628 : { * 629 : 'F'ishing_Start_Func(".rod_list",".bait_list"); 630 : end; 631 : 632 : OnSuccess: 633 : emotion ET_BLABLA,getcharid(3,getVariable(".charname"+strnpcinfo(3)+"$")); 634 : showscript "I got it!",getcharid2(3,getVariable(".charname"+strnpcinfo(3)+"$")); [Error]: script error on npc/custom/FishingSimulation.txt line 689 parse_line: expect command, missing function name or calling undeclared function 688 : { * 689 : 'F'ishing_Start_Func(".rod_list",".bait_list"); 690 : end; 691 : 692 : OnSuccess: 693 : emotion ET_BLABLA,getcharid(3,getVariable(".charname"+strnpcinfo(3)+"$")); 694 : showscript "I got it!",getcharid2(3,getVariable(".charname"+strnpcinfo(3)+"$")); [Error]: script error on npc/custom/FishingSimulation.txt line 749 parse_line: expect command, missing function name or calling undeclared function 748 : { * 749 : 'F'ishing_Start_Func(".rod_list",".bait_list"); 750 : end; 751 : 752 : OnSuccess: 753 : emotion ET_BLABLA,getcharid(3,getVariable(".charname"+strnpcinfo(3)+"$")); 754 : showscript "I got it!",getcharid2(3,getVariable(".charname"+strnpcinfo(3)+"$"));
  12. thank you how to insert baselvl for each boards
  13. can anyone help me whats wrong with the script? can tell also what will be the solution? here's the script heres the error [Error]: get_val_: fatal error ! player not attached! [Debug]: Source (NPC): Class C+ Quest 1-99#Welga at roy_in01 (131,44) [Warning]: script:get_val: cannot access player variable 'Baselvl', defaulting to 0 //===== rAthena Script ======================================= //= tr0n's Questboard //===== By: ================================================== //= tr0n //===== Current Version: ===================================== //= 1.4.4 //===== Compatible With: ===================================== //= rAthena Project //===== 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 //============================================================ roy_in01,131,44,4 script Class C+ Quest 1-99#Welga 837,{ 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."; specialeffect2 328; 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")); set Zeny,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")); set Zeny, 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, 0; set .hunting, 1; //Quest Delay (seconds) //24 hours = 3600 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>,...); AddHunting("Wolf",1,99,32008,5,1000,1152725,1152725,1013,30); AddHunting("Archer Skeleton",1,99,32008,5,1200,1152725,1154300,1016,30); AddHunting("Orc Warrior",1,99,32008,5,1500,1152725,1158225,1023,30); AddHunting("Munak",1,99,32008,5,1000,1152725,1154300,1026,30); AddHunting("Isis",1,99,32008,5,2500,1152725,1155975,1029,30); AddHunting("Golem",1,99,32008,5,1000,1152725,1157100,1040,30); AddHunting("Steel Chonchon",1,99,32008,5,1200,1152725,1155975,1042,30); AddHunting("Marc",1,99,32008,5,1500,1152725,1150475,1045,30); AddHunting("Kukre",1,99,32008,5,1000,1152725,1154200,1070,30); waitingroom "Quest C+ 1-99",0; if(Baselvl < 100); 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; } } credits to owner thank you
  14. problem solve thank you so much @yoonjunho
  15. thank you problem solve ! how about other ranger sets?
  16. can i request a ranger set like autmn headband to those who have this thank you so much for being kind
  17. replace one class sprites to a new one
  18. oops sorry haahhaha @noobzter003 search this line and change the item id to your item id as a prize
  19. is it client side? try to change client info on client side if still not working then change client info inside your grf
  20. thai languange you mean player can type on message board a thai format? just change you lang inside client info i suggest use <langtype>19</langtype>
×
×
  • Create New...