Jump to content

Emistry

Forum Moderator
  • Posts

    9,746
  • Joined

  • Days Won

    305

Community Answers

  1. Emistry's post in Requesting exp times per player was marked as the answer   
    - script sample -1,{ OnInit: OnPCLoginEvent: OnPCLogoutEvent: [email protected]_user = getusers(1); setbattleflag("base_exp_rate", ([email protected]_user * 100)); setbattleflag("job_exp_rate", ([email protected]_user * 100)); end; }  
  2. Emistry's post in Bonus Experience per "Tier"(level) was marked as the answer   
    32508:32509:32510,{ if (BaseLevel < 100) { [email protected] += 50; } else if (BaseLevel < 200) { [email protected] += 50; } else { [email protected] = 100; } bonus2 bExpAddRace,RC_All,[email protected]; } try this, your script has wrong usage of curley brackets.
  3. Emistry's post in Error Custom Warper was marked as the answer   
    warp ''atlantis", 0, 0; change into
    warp "atlantis", 0, 0;  
  4. Emistry's post in Help Poring Race Event was marked as the answer   
    getmapxy([email protected]$, [email protected], [email protected], 1, "XXXXXXXXXXXXXXXXX"); change the BL_TYPE parameter type into
    getmapxy([email protected]$, [email protected], [email protected], BL_NPC, "XXXXXXXXXXXXXXXXX");  
  5. Emistry's post in Item Script only work for WOE was marked as the answer   
    edit this file
    db/re/item_noequip.txt
  6. Emistry's post in mob_avail.yml stranger was marked as the answer   
    try
    20400,NEW_S_EMPEL_1,Guardian Stone,Guardian Stone,90,120000,0,0,0,0,1,2,40,50,1,1,1,1,1,1,0,0,0,0,20,0x170000,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 20401,NEW_S_EMPEL_2,Guardian Stone,Guardian Stone,90,120000,0,0,0,0,1,2,40,50,1,1,1,1,1,1,0,0,0,0,20,0x170000,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 20402,NEW_EMPELIUM,Emperium,Emperium,90,68430,0,0,0,1,60,71,40,50,1,17,80,50,26,20,10,12,0,8,26,0x6200000,300,1288,288,384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 - Mob: NEW_S_EMPEL_1 Sprite: S_EMPEL_1 - Mob: NEW_S_EMPEL_2 Sprite: S_EMPEL_2 - Mob: NEW_EMPELIUM Sprite: EMPELIUM  
  7. Emistry's post in Unable to restore stack! Double continuation! ( map-server crashed ) was marked as the answer   
    you're suppose to provide a string data type for comparison...
    if (compare(strnpcinfo(1),[email protected])) change to
    if (compare(strnpcinfo(1), ""[email protected]))  
  8. Emistry's post in CR_FULLPROTECTION NPC was marked as the answer   
    prontera,155,181,5 script Sample 4_F_KAFRA1,{ if (Zeny < 1000 || !countitem(7139)) { npctalk "You required "+getitemname(7139)+" and 1,000 Zeny to use it."; } else { if (!checkre(0)) { progressbar_npc("0xFFFFFF", 2, getnpcid(0)); // sleep2 2000; } Zeny -= 1000; delitem 7139, 1; npcskill "CR_FULLPROTECTION", 5, 99, 99; } end; }  
  9. Emistry's post in Why isn't 100% drop rate 100%? was marked as the answer   
    your drop rate are probably affected by the renewal drop rate adjustment due to your player level.
    set all these value into 10000 then you should be able to achieve 100% drop regardless of any modifier.
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L44-L45
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L51-L52
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L58-L59
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L65-L66
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L72-L73
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L78-L79
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L78-L79
    https://github.com/rathena/rathena/blob/157392cd1a3174abf2051907126aba4617f8ffbc/conf/battle/drops.conf#L78-L79
     
  10. Emistry's post in Custom mob sprite is still Poring was marked as the answer   
  11. Emistry's post in Getting this error please help me was marked as the answer   
    that's is the problem! because you didnt have this file in your GRF, and your client need it to load the content.
  12. Emistry's post in Variable into variable name was marked as the answer   
    try this.
    - script Sample -1,{ OnInit: .last_kill_amount = 5; bindatcmd "lastkill",strnpcinfo(3) + "::OnAtcommand"; end; OnAtcommand: for ([email protected] = 0; [email protected] < .last_kill_amount; [email protected]++) if (last_killed_mobid[[email protected]]) mes ([email protected]+1)+". "+getmonsterinfo(last_killed_mobid[[email protected]]. MOB_NAME); end; OnNPCKillEvent: copyarray last_killed_mobid[1], last_killed_mobid[0], (.last_kill_amount - 1); last_killed_mobid[0] = killedrid; end; }  
  13. Emistry's post in PVP/GVG Bound Equips was marked as the answer   
    db/re/item_noequip.txt#L9-L10
  14. Emistry's post in Enchant Bound Script was marked as the answer   
  15. Emistry's post in Is there a way to specialeffect in party members? was marked as the answer   
    OnNPCKillEvent: [email protected]_id = getcharid(1); if ([email protected]_id > 0) { addrid(2, 0, [email protected]_id); specialeffect EF_HEAL; } end;  
  16. Emistry's post in PK PVP Points on all maps was marked as the answer   
    just remove the map checking condition
    OnPCKillEvent: if( strcharinfo(3) != .map$ ) end; // <--- remove this line  
  17. Emistry's post in Zeny limit for vendors/autotraders was marked as the answer   
    https://github.com/rathena/rathena/blob/master/conf/battle/items.conf#L15-L17
  18. Emistry's post in Client date check was marked as the answer   
    https://rathena.org/board/topic/71399-how-to-check-client-version/?do=findComment&comment=140283
  19. Emistry's post in send array through callfunc, it is possible? was marked as the answer   
    you can do it these ways
    function script MyFunction1 { [email protected] = getarraysize(getarg(0)); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) mes "array_1["[email protected]+"] = "+getelementofarray(getarg(0), [email protected]); return; } function script MyFunction2 { [email protected] = getarraysize(getarg(0)); copyarray [email protected]_array, getarg(0), [email protected]; for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) mes "array_2["[email protected]+"] = "[email protected]_array[[email protected]]; return; }  
    Sample
    - script sample -1,{ OnInit: sleep 3000; setarray .items_1,1,2,3,4,5; callfunc("MyFunction1",.items_1); setarray .items_2,10,20,30,40,50,60,70; callfunc("MyFunction2",.items_2); end; } Output
    [Debug]: array_1[0] = 1 [Debug]: array_1[1] = 2 [Debug]: array_1[2] = 3 [Debug]: array_1[3] = 4 [Debug]: array_1[4] = 5 [Debug]: array_2[0] = 10 [Debug]: array_2[1] = 20 [Debug]: array_2[2] = 30 [Debug]: array_2[3] = 40 [Debug]: array_2[4] = 50 [Debug]: array_2[5] = 60 [Debug]: array_2[6] = 70  
  20. Emistry's post in questboard counting 32 at once was marked as the answer   
    that is because you duplicated the main npc that process everything about the quest.
    split it into 2 npc if you want to duplicate npcs like these
    prontera,164,175,6 script Questboard 4_BOARD3,{ doevent "quest_board_main::OnTalk"; } - script  quest_board_main -1,{ OnTalk: if (c_run == true) { mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_collectionname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ currentquest$ + "_collectionitem")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+getitemname(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))+" - "+countitem(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))+"/"+getd("."+currentquest$+"_collectionitem["+([email protected]+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, false; close; } goto L_checkitems; } if(h_run==true){ mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + currentquest$ + "_huntingname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ currentquest$ + "_huntingmob")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected]j,[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); mes "^FF0000"+strmobinfo(1,getd("."+currentquest$+"_huntingmob["[email protected]+"]"))+" - "+getd(currentquest$+"_"[email protected]+"_"+([email protected]+1)+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["+([email protected]+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 [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); setd(currentquest$+"_"[email protected]+"_"[email protected]+"_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")) { case 1: set [email protected]$, ""; for( set [email protected],0; [email protected] < .collectionquestcount; set [email protected],[email protected]+1){ if ([email protected]) set [email protected]$,[email protected]$+":"; set [email protected]$, [email protected]$ + "[" + getd("." +([email protected]+1)+"_collectionmin") + " - " + getd("." +([email protected]+1)+"_collectionmax") + "] " + getd("." + ([email protected]+1) + "_collectionname$"); } set [email protected],select([email protected]$); if(.quest_repeat == true){ if(gettimetick(2) < getd([email protected] + "_collection_delay")){ mes "[^FF7700Questboard^000000]"; mes "You have to wait ^0000FF"+Time2Str(getd([email protected] + "_collection_delay"))+"^000000 to do this quest again."; close; } } else{ if(getd([email protected] + "_collection_repeat") == true){ mes "[^FF7700Questboard^000000]"; mes "You already did this quest."; mes "Please choose another one."; close; } } mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + [email protected] + "_collectionname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ [email protected] + "_collectionitem")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+getitemname(getd("."[email protected]+"_collectionitem["[email protected]+"]"))+" - "+getd("."[email protected]+"_collectionitem["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." [email protected]+"_collectionprize"))?getitemname(getd("." [email protected]+"_collectionprize"))+" - "+getd("." [email protected]+"_collectionamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." [email protected]+"_collectionzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." [email protected]+"_collectionexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." [email protected]+"_collectionexp["+1+"]")+"^000000"; next; if(select("Accept:Decline") == 2){ close; } if(BaseLevel >= getd("." [email protected]+"_collectionmin") && BaseLevel <= getd("." [email protected]+"_collectionmax")){ mes "[^FF7700Questboard^000000]"; mes "Quest accepted."; set c_run, true; set currentquest$, [email protected]; close; } else{ mes "[^FF7700Questboard^000000]"; mes "You don't have the required"; mes "level to do this quest."; close; } case 2: set [email protected]$, ""; for( set [email protected],0; [email protected] < .huntingquestcount; set [email protected],[email protected]+1){ if ([email protected]) set [email protected]$,[email protected]$+":"; set [email protected]$, [email protected]$ + "[" + getd("." +([email protected]+1)+"_huntingmin") + " - " + getd("." +([email protected]+1)+"_huntingmax") + "] " + getd("." + ([email protected]+1) + "_huntingname$"); } set [email protected],select([email protected]$); if(.quest_repeat == true){ if(gettimetick(2) < getd([email protected] + "_hunting_delay")){ mes "[^FF7700Questboard^000000]"; mes "You have to wait ^0000FF"+Time2Str(getd([email protected] + "_hunting_delay"))+"^000000 to do this quest again."; close; } } else{ if(getd([email protected] + "_hunting_repeat") == true){ mes "[^FF7700Questboard^000000]"; mes "You already did this quest."; mes "Please choose another one."; close; } } mes "[^FF7700Questboard^000000]"; mes "^0000FF"+getd("." + [email protected] + "_huntingname$")+"^000000"; mes "--------------------------------"; set [email protected], getarraysize(getd("."+ [email protected] + "_huntingmob")); for( set [email protected], 0; [email protected] < [email protected]; set [email protected],[email protected]+2){ mes "^FF0000"+strmobinfo(1,getd("."[email protected]+"_huntingmob["[email protected]+"]"))+" - "+getd("."[email protected]+"_huntingmob["+([email protected]+1)+"]")+" ea.^000000"; } mes "--------------------------------"; mes "[Reward]"; mes "Item: ^0000FF"+((getd("." [email protected]+"_huntingprize"))?getitemname(getd("." [email protected]+"_huntingprize"))+" - "+getd("." [email protected]+"_huntingamount")+" ea.^000000":"Nothing^000000"); mes "Zeny: ^0000FF"+getd("." [email protected]+"_huntingzeny")+"^000000"; mes "Base EXP: ^0000FF"+getd("." [email protected]+"_huntingexp["+0+"]")+"^000000"; mes "Job EXP: ^0000FF"+getd("." [email protected]+"_huntingexp["+1+"]")+"^000000"; next; if(select("Accept:Decline") == 2){ close; } if(BaseLevel >= getd("." [email protected]+"_huntingmin") && BaseLevel <= getd("." [email protected]+"_huntingmax")){ mes "[^FF7700Questboard^000000]"; mes "Quest accepted."; set h_run, true; set currentquest$, [email protected]; close; } else{ mes "[^FF7700Questboard^000000]"; mes "You don't have the required"; mes "level to do this quest."; close; } case 3: close; } L_checkitems: set [email protected], getarraysize(getd("."+currentquest$+"_collectionitem")); for( set [email protected],0; [email protected] < [email protected]; set [email protected],[email protected]+2){ if(countitem(getd("."+currentquest$+"_collectionitem["[email protected]+"]"))>=getd("."+currentquest$+"_collectionitem["+([email protected]+1)+"]")){ set [email protected],[email protected]+2; } } if([email protected]<[email protected]){ mes "[^FF7700Questboard^000000]"; mes "You don't have everything."; close; } for( set [email protected],0; [email protected] < [email protected]; set [email protected],[email protected]+2){ delitem getd("."+currentquest$+"_collectionitem["[email protected]+"]"),getd("."+currentquest$+"_collectionitem["+([email protected]+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; setd(currentquest$ + "_collection_repeat"),true; set currentquest$, ""; set c_run, false; close; L_checkmobs: set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); set [email protected], [email protected]/2; for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); if(getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")==getd("."+currentquest$+"_huntingmob["[email protected]+"]")){ set [email protected], [email protected]+1; if([email protected][email protected]){ goto L_checkmobs2; } continue; } goto L_checkmobs2; } L_checkmobs2: if([email protected]<[email protected]){ mes "[^FF7700Questboard^000000]"; mes "You didn't kill everything."; close; } mes "[^FF7700Questboard^000000]"; mes "Congratulation! Here is your Reward."; set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); setd(currentquest$+"_"[email protected]+"_"[email protected]+"_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; setd(currentquest$ + "_hunting_repeat"),true; set currentquest$, ""; set h_run, false; close; OnNPCKillEvent: if(h_run!=true) end; set [email protected], getarraysize(getd("."+currentquest$+"_huntingmob")); for(set [email protected], 1; [email protected] < [email protected]; set [email protected],[email protected]+2){ if(killedrid==getd("."+currentquest$+"_huntingmob["+([email protected])+"]")){ set [email protected], getd("."+currentquest$+"_huntingmob["+([email protected])+"]"); if(getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")<getd("."+currentquest$+"_huntingmob["[email protected]+"]")){ setd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount", getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")+1); dispbottom getd("."+currentquest$+"_huntingname$")+": ["+strmobinfo(1,[email protected])+"] ("+ getd(currentquest$+"_"[email protected]+"_"[email protected]+"_killcount")+"/"+getd("."+currentquest$+"_huntingmob["[email protected]+"]")+")"; } if(getcharid(1) != 0 && .party_support == true){ getmapxy([email protected]$,[email protected],[email protected]); set [email protected], getcharid(3); set [email protected]$, currentquest$; getpartymember getcharid(1),1; getpartymember getcharid(1),2; for(set [email protected], 0; [email protected] < [email protected]; [email protected]++){ if(isloggedin([email protected][[email protected]], [email protected][[email protected]])){ if(h_run==true && [email protected][[email protected]] != [email protected] && [email protected]ntquest$ == getvar(currentquest$, [email protected][[email protected]]) && readparam(HP, [email protected][[email protected]]) > 0){ getmapxy([email protected]$,[email protected],[email protected],BL_PC,rid2name([email protected][[email protected]])); if([email protected]$ == [email protected]$ && distance([email protected],[email protected],[email protected],[email protected]) < .party_range){ set [email protected]_amt,getvar(getd([email protected]$+"_"[email protected]+"_"[email protected]+"_killcount"), [email protected][[email protected]]); set [email protected]_goal,getd("."[email protected]$+"_huntingmob["[email protected]+"]"); if([email protected]_amt<[email protected]_goal) { setd([email protected]$+"_"[email protected]+"_"[email protected]+"_killcount", [email protected]_amt+1, [email protected][[email protected]]); dispbottom getd("."[email protected]$+"_huntingname$")+": ["+strmobinfo(1,[email protected])+"] ("+([email protected]_amt+1)+"/"[email protected]_goal+")", 0xB6FF00, [email protected][[email protected]]; } } } } } } continue; } } end; OnInit: 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 seconds set .quest_delay, 300; //Activate/Deactivate repeatable quests (true/1 - activated, false/0 - deactivated) set .quest_repeat, false; //Activate/Deactivate party support (true/1 - activated, false/0 - deactivated) set .party_support, true; //Max range for party support (+- x & y coordinations) set .party_range, 15; //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("drops",1,50,9002,1,1500,0,0,620,3); AddCollection("jellopy",1,10,7060,3,500,50,10,909,33); AddCollection("fluff",1,10,7060,3,500,50,10,914,33); AddCollection("chrysalis",1,15,7060,5,5000,150,50,915,100); AddCollection("bottle",1,15,7060,2,5000,150,150,716,25); AddCollection("feather of birds",5,20,7060,2,2500,630,470,916,50); AddCollection("tree root",5,20,7060,2,2500,630,470,902,50); AddCollection("talon",5,20,7060,2,2000,800,600,917,35); AddCollection("sticky webfoot",10,25,7060,2,2000,900,680,918,70); AddCollection("scorpion tail",10,25,7060,2,10000,1000,800,904,50); AddCollection("stem",10,25,7060,2,10000,1000,750,905,50); AddCollection("spore",15,30,7060,2,10000,1200,900,921,45); AddCollection("snail's shell",15,30,7060,2,5000,1200,900,946,50); AddCollection("rainbow shell",16,31,7060,2,8000,1300,1500,1013,50); AddCollection("powder of butterfly",18,33,7060,2,8000,1500,1600,924,50); AddCollection("cactus needle",18,33,7060,2,15000,1500,1600,952,50); AddCollection("dead branch",19,34,7060,2,10000,2600,3000,604,1); AddCollection("bill of birds",20,35,7060,2,7500,1700,1900,925,50); AddCollection("raccon leaf",24,39,7060,2,8000,1800,2000,945,50); //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("fabre",1,15,23280,50,500,500,400,1007,50); AddHunting("chonchon",1,15,23280,50,500,500,400,1011,50); AddHunting("lunatic",1,15,23280,50,500,400,300,1063,50); AddHunting("pupa",1,15,23280,50,500,500,400,1008,50); AddHunting("pupa",20,40,2102,1,0,0,0,1008,300); AddHunting("drops",1,15,23280,50,500,500,400,1113,50); AddHunting("willow",5,20,645,2,800,650,500,1010,50); AddHunting("condor",5,20,645,2,1000,800,600,1009,50); AddHunting("mandragora",10,25,23280,50,1000,1000,800,1020,50); AddHunting("roda frog",10,25,23280,50,1000,700,400,1012,50); AddHunting("scorpion",10,25,23280,50,1000,1100,800,1001,50); AddHunting("spore",15,30,12324,30,1500,1500,1000,1014,50); AddHunting("ambernite",15,30,12324,30,1500,1500,700,1094,50); AddHunting("stainer",15,30,645,5,1500,10000,5000,1174,75); AddHunting("creamy",20,35,0,0,2500,2000,2000,1018,50); AddHunting("muka",20,35,0,0,2500,2000,2000,1055,50); AddHunting("peco peco",20,35,0,0,2500,2000,2000,1019,50); AddHunting("smokie",25,40,0,0,3000,2500,2500,1056,50); AddHunting("ant",25,40,0,0,5000,2500,2500,1105,50); AddHunting("ant",25,40,0,0,5000,2500,2500,1160,50); AddHunting("ant",25,40,0,0,5000,2500,2500,1095,50); AddHunting("solider skeleton",25,40,0,0,5000,2500,2500,1028,50); AddHunting("bigfoot",25,40,0,0,5000,2500,2500,1060,50); AddHunting("hydra",30,45,11566,50,10000,3000,2000,1068,50); AddHunting("elder willow",30,45,11566,50,10000,3000,2000,1023,50); AddHunting("vitata",30,45,11566,50,10000,3000,2000,1176,50); AddHunting("cookie",30,45,11566,50,10000,3000,2000,1265,50); AddHunting("solider skeleton",30,45,0,0,20000,3000,1000,1028,50); AddHunting("yoyo",35,50,0,0,20000,3500,3500,1057,50); AddHunting("chrismas cookie",35,50,0,0,20000,3500,3500,1246,50); AddHunting("coco",35,50,0,0,20000,3500,3500,1104,50); AddHunting("cruiser",35,99,0,0,25000,4000,4000,1248,50); AddHunting("megalodon",35,99,624,5,20000,4000,4000,1064,50); AddHunting("thara frog",35,60,0,0,25000,4000,4000,1034,50); AddHunting("martin",35,60,0,0,20000,4000,4000,1145,50); AddHunting("giearth",35,60,0,0,20000,4000,4000,1121,50); AddHunting("marina",40,99,0,0,25000,5000,5000,1141,50); AddHunting("vadon",40,99,0,0,25000,5000,5000,1066,50); AddHunting("kukre",40,99,0,0,25000,5000,5000,1070,50); AddHunting("argos",40,99,1025,25,20000,5000,5000,1100,50); AddHunting("orc warrior",40,99,0,0,100000,5000,5000,1023,150); AddHunting("wolf",40,99,0,0,20000,5000,5000,1013,50); AddHunting("galapago",40,99,0,0,25000,5000,5000,1391,50); AddHunting("skeleton worker",40,99,0,0,30000,5000,5000,1169,50); AddHunting("steel chonchon",45,99,0,0,30000,6000,5000,1042,50); AddHunting("archer skeleton",45,99,0,0,30000,6000,5000,1016,50); AddHunting("fur seal",45,99,0,0,30000,6000,5000,1317,50); AddHunting("sea otter",45,99,0,0,30000,6000,5000,1323,50); AddHunting("orc zombie",45,99,0,0,30000,6000,5000,1153,50); AddHunting("verit",45,99,0,0,30000,6000,5000,1032,50); AddHunting("mummy",50,99,0,0,35000,7000,5000,1041,50); 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 [email protected], 6; set [email protected], getarraysize(getd("."+ .collectionquestcount + "_collectionexp")); setd ("." +.collectionquestcount+"_collectionexp["[email protected]+"]",getarg([email protected]));  setd ("." +.collectionquestcount+"_collectionexp["+([email protected]+1)+"]",getarg([email protected]+1));  set [email protected], [email protected]+2; set [email protected], getarraysize(getd("."+ .collectionquestcount + "_collectionitem")); while(getarg([email protected],-1)!=-1 && getarg([email protected]+1,-1)!=-1){ setd ("."+.collectionquestcount+"_collectionitem["[email protected]+"]",getarg([email protected]));  setd ("."+.collectionquestcount+"_collectionitem["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected],[email protected]+2; set [email protected], [email protected]+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 [email protected], getarraysize(getd("."+ .huntingquestcount + "_huntingexp")); set [email protected], 6; setd ("." +.huntingquestcount+"_huntingexp["[email protected]+"]",getarg([email protected])); setd ("." +.huntingquestcount+"_huntingexp["+([email protected]+1)+"]",getarg([email protected]+1));  set [email protected]unt, [email protected]+2; set [email protected], getarraysize(getd("."+ .huntingquestcount + "_huntingmob")); while(getarg([email protected],-1)!=-1 && getarg([email protected]+1,-1)!=-1){ setd ("."+.huntingquestcount+"_huntingmob["[email protected]+"]",getarg([email protected]));  setd ("."+.huntingquestcount+"_huntingmob["+([email protected]+1)+"]",getarg([email protected]+1)); set [email protected], [email protected]+2; set [email protected], [email protected]+2; } return; } } // -------------------------------------------------- //    Duplicates: // -------------------------------------------------- alberta,37,240,4 duplicate(Questboard) Questboard#alb 857 aldebaran,146,114,4 duplicate(Questboard) Questboard#alde 857 amatsu,207,87,4 duplicate(Questboard) Questboard#ama 857 ayothaya,212,174,6 duplicate(Questboard) Questboard#ayo 857 comodo,186,161,4 duplicate(Questboard) Questboard#com 857 einbech,53,36,6 duplicate(Questboard) Questboard#einbe 857 einbroch,74,202,4 duplicate(Questboard) Questboard#einbr 857 geffen,129,66,4 duplicate(Questboard) Questboard#gef 857 gonryun,155,126,4 duplicate(Questboard) Questboard#gon 857 hugel,102,146,4 duplicate(Questboard) Questboard#hug 857 izlude,131,152,4 duplicate(Questboard) Questboard#izl 857    //Pre-RE: (132,120) jawaii,251,133,4 duplicate(Questboard) Questboard#jaw 857 lighthalzen,154,107,4 duplicate(Questboard) Questboard#lhz 857 louyang,203,105,6 duplicate(Questboard) Questboard#lou 857 manuk,270,143,6 duplicate(Questboard) Questboard#man 857 mid_camp,218,286,4 duplicate(Questboard) Questboard#mid 857 morocc,148,87,4 duplicate(Questboard) Questboard#mor 857 moscovia,221,195,4 duplicate(Questboard) Questboard#mos 857 niflheim,197,180,4 duplicate(Questboard) Questboard#nif 857 payon,184,104,4 duplicate(Questboard) Questboard#pay 857 rachel,130,118,4 duplicate(Questboard) Questboard#rac 857 splendide,203,153,4 duplicate(Questboard) Questboard#spl 857 umbala,104,152,3 duplicate(Questboard) Questboard#umb 857 veins,214,121,4 duplicate(Questboard) Questboard#ve 857 xmas,153,140,6 duplicate(Questboard) Questboard#xmas 857 yuno,164,47,4 duplicate(Questboard) Questboard#yuno 857 // -------------------------------------------------- //    Duplicates (Renewal): // -------------------------------------------------- brasilis,192,226,4 duplicate(Questboard) Questboard#bra 857 dewata,197,190,6 duplicate(Questboard) Questboard#dew 857 dicastes01,199,197,6 duplicate(Questboard) Questboard#dic 857 malangdo,140,116,6 duplicate(Questboard) Questboard#mal 857 malaya,231,193,4 duplicate(Questboard) Questboard#ma 857  
  21. Emistry's post in Editing Race to 99 script was marked as the answer   
    prontera,158,181,5 script Race-To-99 100,{ if (BaseLevel < 99) { npctalk "Sorry, Only Lvl 99 can claim the reward!"; end; } if (JobLevel < 70) { npctalk "Sorry, Only Job Lvl 70 can claim the reward!"; end; } if ($ItemGive == 100) { npctalk "Sorry, all rewards has been taken!"; end; } if (getreward) { npctalk "Sorry, Nothing for you!"; end; } announce "Congratulations! "+strcharinfo(0)+" has claimed his reward for Race to 99 Event", bc_all; ++$ItemGive; if ($ItemGive == 1) { getitem 501, 100; getitem 501, 100; getitem 501, 100; getitem 501, 100; } else if ($ItemGive == 2) { getitem 501, 100; getitem 501, 100; getitem 501, 100; } else if ($ItemGive == 3) { getitem 501, 100; getitem 501, 100; } else { getitem 501, 100; } getreward = 1; sleep 2000; announce "There are "+(100 - $ItemGive)+" rewards left to give!", bc_all; end; OnInit: waitingroom "Level 99 Rewarder", 0; end; }  
  22. Emistry's post in Request Top Peak Reach Reward NPC Script was marked as the answer   
    try this
    https://pastebin.com/WGAd258u
  23. Emistry's post in autoload atcommand was marked as the answer   
    // Written by me, Cydh // For rathena.org // Autoload atcommand for players on login prontera,147,155,5 script Kafra#saveyouratcmd 4_F_KAFRA4,{ doevent "autoload_atcommand_main::OnTalk"; } - script script autoload_atcommand_main -1,{ OnTalk: mes .npc$; mes "Hi, you can select command that auto enable when you login."; next; switch(select("Select commands","Close")) { case 1: callsub(OnSelectCommand); break; } close; OnSelectCommand: mes .npc$; mes "Please select command from menu."; [email protected]$ = ""; for ([email protected] = 0; [email protected] < .CmdListCnt; [email protected]++) { if (callsub(OnCheckCmd,.CmdList$[[email protected]]) != -1) { [email protected]$ = " - ^33CC33Enabled^000000"; } else { [email protected]$ = " - ^999999Disabled^000000"; } [email protected]$ = [email protected]$+":"+.CmdList$[[email protected]]+" "[email protected]$; } [email protected]$ = [email protected]$+":Close"; [email protected] = select([email protected]$)-2; if ([email protected] != [email protected]) { [email protected] = callsub(OnCheckCmd,.CmdList$[[email protected]]); mes "Atcommand ^3399FF"+.CmdList$[[email protected]]+"^000000:"; if ([email protected] < 0) { // Enable it #AutoAtcommand$[getarraysize(#AutoAtcommand$)] = .CmdList$[[email protected]]; mes " ^33CC33Auto-enabled on login^000000"; } else { // Disable it callsub(OnClearRemoveCmd,#AutoAtcommand$[[email protected]]); mes " ^FF0000Not enabled on login^000000"; } next; callsub(OnSelectCommand); } return; OnCheckCmd: [email protected]$ = getarg(0); for ([email protected] = 0; [email protected] < getarraysize(#AutoAtcommand$); [email protected]++) { if (#AutoAtcommand$[[email protected]] == [email protected]$) return [email protected]; } return -1; OnClearRemoveCmd: [email protected]$ = getarg(0); [email protected] = getarraysize(#AutoAtcommand$); for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { if (#AutoAtcommand$[[email protected]] == [email protected]$) break; } if ([email protected] != [email protected]) { #AutoAtcommand$[[email protected]] = ""; [email protected] = 0; for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { if (#AutoAtcommand$[[email protected]] == "") continue; if ([email protected] != [email protected]) { #AutoAtcommand$[[email protected]] = #AutoAtcommand$[[email protected]]; #AutoAtcommand$[[email protected]] = ""; } [email protected]++; } } return 1; OnPCLoginEvent: [email protected] = 0; for ([email protected] = 0; [email protected] < getarraysize(#AutoAtcommand$); [email protected]++) { if (#AutoAtcommand$[[email protected]] != "") { dispbottom "[ Auto command: "+#AutoAtcommand$[[email protected]]+" ]"; atcommand ""+#AutoAtcommand$[[email protected]]+""; [email protected]++; } } end; OnInit: .npc$ = "[ Kafra ]"; setarray .CmdList$[0],"@autoloot","@noks","@showexp"; .CmdListCnt = getarraysize(.CmdList$); end; } do something like this if you want to duplicate the npc, split it into 2 NPC scripts are the easiest and less complicated way.
  24. Emistry's post in instant refiner npc was marked as the answer   
    for(set @part,1;@part<=11;set @part,@part+1) change to
    for(set @part,EQI_SHOES;@part<=EQI_HAND_R;set @part,@part+1)  
  25. Emistry's post in Can someone turn this script using CP to pods please? was marked as the answer   
    if ( #CASHPOINTS < .vip_cashpoint[[email protected]] ) { change to
    if (countitem(<item_id>) < .vip_cashpoint[[email protected]]) { and
    #CASHPOINTS -= .vip_cashpoint[[email protected]]; change to
    delitem <item_id>, .vip_cashpoint[[email protected]];  
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.