sader1992 Posted July 9, 2017 Posted July 9, 2017 (edited) View File sader's hunting quest This system is simple the player choose the categories, he gets a hunting quest to kill a monster (random monster from the list that you put in the config) when he complete the quest , he will get a exp/job exp and if you want you can add items to the reward too and he will get cooldown , he can do more then 1 categories at the time you can add as much as you want categories/monsters the quest are ether account base or character based , it's up to you (seethe config at the end of the script) the quests not for party , if you want it to work with parties , you need to edit it your self in version 5 of the script , a full rewrite what changed the configuration completely you can now add as much as you want categories following this example: AddCata(<"name">,<.var>,<mini level>,<max level>,<cooldown in hours>,<base exp reward>,<job exp reward>,<point reward>,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>}}) AddCata("Normal",.Normal,25,75,5,10000,1000,100); you can add as much as you want monsters in each categories following this example: AddMob(<.var>,<mob id>,<min count>,<max count>); AddMob(.Normal,1002,150,150); Submitter sader1992 Submitted 07/08/2017 Category Games, Events, Quests Video Content Author sader1992 Edited July 12, 2017 by sader1992 1 Quote
Elysium Posted July 9, 2017 Posted July 9, 2017 Curios, The way you add menus Quote switch(select(""+"shop"+":"+"close"+"")){ to Quote switch(select("shop","close")){ Quote switch(select(""+"easy difficulty"+":"+"normal difficulty"+":"+"hard difficulty"+":"+"indeterminate difficulty"+":"+"shop"+":"+"close"+"")){ to Quote switch(select("easy difficulty","normal difficulty","hard difficulty","indeterminate difficulty","shop","close")){ Can you tell me what's the differences? Kinda confuse why you add "+ in each menus. Quote
yuchinin Posted July 10, 2017 Posted July 10, 2017 13 hours ago, Elysium said: Curios, The way you add menus to to Can you tell me what's the differences? Kinda confuse why you add "+ in each menus. There is two way to add menu: 1. Use comma to separate each string 2. Add a ":" to separate each menu like select("Options A:Options B"), this is same as select("Options A","Options B") Quote
sader1992 Posted July 12, 2017 Author Posted July 12, 2017 (edited) adding //v2 //v3 info to the post //v.4.0 fix where all the players get the same quest fix where you need to kill the monster counts +1 to complete the quest add subclasses for adding custom rewards for each mode line 207 to 220 Fix where @reloadscript reset the quest Edited July 12, 2017 by sader1992 Quote
sprdosat Posted February 4, 2019 Posted February 4, 2019 (edited) Up Edited February 6, 2019 by sprdosat I thought there were errors in NPC Quote
JaranSwitch0101 Posted February 6, 2019 Posted February 6, 2019 It's nice! Can you add a description line for each mission before performing monster hunting missions? It will be more perfect if there are items hunting... Quote
morpheus159 Posted June 11, 2019 Posted June 11, 2019 Hello, I did the installation of the file but when there is no NPC located in "Prontera" nothing happens. What can I do to solve it? Quote
spinzaku Posted November 9, 2019 Posted November 9, 2019 (edited) Thank you for this script. There seems to be a bug sometimes when killing required monsters. Lets say iv given a task to kill 400 porings. Sometimes killing 1 poring gives me 50 kill count instead of only 1 kill count. Sometimes the bug happens sometimes does not on different monsters. If you use @monster summon no bug. go to area where the mob is. Sometimes i can go 5/200 then at 6 it would suddenly become 56/200 EDIT: might have figured it out because i duplicated this npc in many areas. thats why count per kill is not correct. need to disable duplicate Edited November 12, 2019 by spinzaku Quote
syndrome93 Posted February 29, 2020 Posted February 29, 2020 @sader1992 how to add for 1 IP addres.. the setting only for 1 character or 1 account.. can i request for more option for IP address?? @sader1992 all the character can make quest even i use setting for account only.. why? .accharlimit = 0; // 0 = once per account , 1 = once pet character ////v4.1 update Quote
ApocalypseRo Posted April 9, 2020 Posted April 9, 2020 (edited) @sader1992 1 • what would it be like, need to hat, aura, wing to complete the quest ?? 2 • how would it be in % kill ??? you kill 150 but for the drop the count is 42 out of 100 monsters. Setarray. hardc, 75, 100, 150; // Monster count in hard mode ((Random)) ,150; <---- This is the % drop killer? (I need %) • And how would it be that when killing a mob it appears in the hunter player [you carry 40/50 zombies] @sader1992 Edited April 10, 2020 by ApocalypseRo Quote
ItsRas Posted December 30, 2020 Posted December 30, 2020 Hi Sader! I am currently trying this script on my test server and I noticed an error. Even the quest is done and I use @reloadscript, the npc will still give you the exp and rewards. Quote
tonn Posted January 11, 2021 Posted January 11, 2021 (edited) Hey @sader1992, In this bit (line 29), I think you mistakenly reused .@i where you could've used something else like .@j. It is, obviously, causing some problems when the categories have an item reward. if(getd(".IRD_" + .@i)){ for(.@i=0;.@i<getarraysize(getd(".IRD_" + .@i));.@i++){ getitem(getd(".IRD_" + .@i + "[" + .@i + "]"),getd(".CRD_" + .@i + "[" + .@i + "]")); } } I appreciate you rewriting this script, though. I find it more flexible than the previous version. Edited January 11, 2021 by tonn 1 Quote
aferny Posted January 24, 2021 Posted January 24, 2021 Hey @sader1992 Im using this on our server, how ever someone actually exploited it. They got 10k points with in a few min. Do you have any idea how this happened? The guy didnt want to say anything. Thank you! Quote
sader1992 Posted January 25, 2021 Author Posted January 25, 2021 (edited) On 1/11/2021 at 2:36 AM, tonn said: Hey @sader1992, In this bit (line 29), I think you mistakenly reused .@i where you could've used something else like .@j. It is, obviously, causing some problems when the categories have an item reward. if(getd(".IRD_" + .@i)){ for(.@i=0;.@i<getarraysize(getd(".IRD_" + .@i));.@i++){ getitem(getd(".IRD_" + .@i + "[" + .@i + "]"),getd(".CRD_" + .@i + "[" + .@i + "]")); } } I appreciate you rewriting this script, though. I find it more flexible than the previous version. thanks for the report , the problems should be fixed in 5.1 On 1/24/2021 at 10:25 AM, aferny said: Hey @sader1992 Im using this on our server, how ever someone actually exploited it. They got 10k points with in a few min. Do you have any idea how this happened? The guy didnt want to say anything. Thank you! thanks for the report , the problems should be fixed in 5.2 <exploit explanation removed from this reply, I encourage updating the script so no one exploit it> I would suggest to change the main variable (I moved it to the config in 5.2)[also change the shop variable] , if you changed the variable , the whole system will be reseted , and all the points would be reseted for all the players(or just delete the points from the player who exploited the system) Edited January 25, 2021 by sader1992 Removing exploit explanation Quote
aferny Posted January 25, 2021 Posted January 25, 2021 (edited) 2 hours ago, sader1992 said: thanks for the report , the problems should be fixed in 5.1 thanks for the report , the problems should be fixed in 5.2 <exploit explanation removed from this reply, I encourage updating the script so no one exploit it> I would suggest to change the main variable (I moved it to the config in 5.2)[also change the shop variable] , if you changed the variable , the whole system will be reseted , and all the points would be reseted for all the players(or just delete the points from the player who exploited the system) Thank you so much! It works good now! Edited January 25, 2021 by sader1992 Removing exploit explanation Quote
lyleham Posted July 30, 2021 Posted July 30, 2021 Hi Good day, in this script possible to have 2 or 3 different mobs to hunt in 1 quest? Thank you Quote
SovietBR Posted December 12, 2022 Posted December 12, 2022 Hey, love the script, but I was looking and I did't find where I put the items on the shop, or the value for them, can you show me, please? Quote
SovietBR Posted July 5, 2024 Posted July 5, 2024 Hi, can anyone help me with this, please? When I select the option I want (in this case ,130), it is blank and the dialog closes. It doesn't claim any errors or anything, it just closes the dialogue as if nothing had happened, am I missing something? Also, it's kind of random to happen, sometimes when I modify something in AddCata some quest options work and others don't. But is always on the quests beyond 99. //===== rAthena Script ======================================= //= saders hunting quest //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 5.2 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/3579-saders-hunting-quest/ //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //============================================================ //============================================================ - pointshop Hunting_Quest_Shop -1,#HUNT_Q_POINTS,512:1; //Account Based Shop //- pointshop Hunting_Quest_Shop -1,HUNT_Q_POINTS,512:1; //Character Based Shop prt_in,40,115,4 script Legendary Monster Hunter 667,{ function Ac; mes "Your Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ mes .CataName$[.@i] + ": Complete"; setd Ac() + "POINTS",getd(Ac() + "POINTS") + .CataRP[.@i]; if(.ExpServerRate){ getexp .CataBXP[.@i],.CataJXP[.@i]; }else{ getexp2 .CataBXP[.@i],.CataJXP[.@i]; } if(getd(".IRD_" + .@i)){ for(.@j=0;.@j<getarraysize(getd(".IRD_" + .@i));.@j++){ getitem(getd(".IRD_" + .@i + "[" + .@j + "]"),getd(".CRD_" + .@i + "[" + .@j + "]")); } } setd(Ac() + "CD_" + .@i,gettimetick(2) + (.CataCD[.@i] * 60 * 60)); setd(Ac() + "COM_" + .@i,false); setd(Ac() + "ID_" + .@i,0); setd(Ac() + "C_" + .@i,0); setd(Ac() + "CC_" + .@i,0); continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ mes .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i)){ mes .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } mes .CataName$[.@i] + ": None"; } .@s1 = select("Open Shop:" + implode(.CataName$,":")) -2; clear; if(.@s1 == -1){ callshop "Hunting_Quest_Shop",1; end; } .@CD = getd(Ac() + "CD_" + .@s1); if(.@CD > gettimetick(2)){ mes "you are under the cooldown effect"; mes "try again after " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); end; } if(getd(Ac() + "ID_" + .@s1)){ mes "Your Quest Progress:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); if(.AllowDeleteQuest){ mes "would you like to delete the quest?"; if(select("yes:no") == 2) end; mes "by deleting the quest you wont get any reward"; if(.ApplyCoolDownOnDelete) mes "and the cooldown will be applied!"; mes "Are you sure!?"; if(select("yes:no") == 2) end; clear; if(.ApplyCoolDownOnDelete){ setd(Ac() + "CD_" + .@s1,gettimetick(2) + (.CataCD[.@s1] * 60 * 60)); } setd(Ac() + "ID_" + .@s1,0); setd(Ac() + "C_" + .@s1,0); setd(Ac() + "CC_" + .@s1,0); mes "your quest has been deleted!"; end; } end; } if(BaseLevel < .CataMN_L[.@s1] || BaseLevel > .CataMX_L[.@s1]){ mes "you need to be between level " + .CataMN_L[.@s1] + " And " + .CataMX_L[.@s1] + " to get this quest!"; end; } mes "would you like to get a quest?"; if(select("yes:no") == 2) end; copyarray(.@mid,getd(".m_id_" + .@s1),getarraysize(getd(".m_id_" + .@s1))); .@r = rand(getarraysize(.@mid)); copyarray(.@mmn,getd(".m_mn_" + .@s1),getarraysize(getd(".m_mn_" + .@s1))); copyarray(.@mmx,getd(".m_mx_" + .@s1),getarraysize(getd(".m_mx_" + .@s1))); setd(Ac() + "ID_" + .@s1,.@mid[.@r]); setd(Ac() + "C_" + .@s1,rand(getd(".m_mn_" + .@s1 + "[" + .@r + "]"),getd(".m_mx_" + .@s1 + "[" + .@r + "]"))); setd(Ac() + "CC_" + .@s1,0); mes "Please Kill:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); end; OnNPCKillEvent: for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ setd(Ac() + "CC_" + .@i,getd(Ac() + "CC_" + .@i) + 1); dispbottom "Hunting Quest [" + .CataName$[.@i] + "]: (" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo( 1,getd(Ac() + "ID_" + .@i)); if(getd(Ac() + "CC_" + .@i) >= getd(Ac() + "C_" + .@i)){ dispbottom "Your " + .CataName$[.@i] + " Hunting Quest is Done."; setd(Ac() + "COM_" + .@i,true); } } } end; OnHuntingCheck: dispbottom "Your Hunting Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + ": Complete"; continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ dispbottom .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } dispbottom .CataName$[.@i] + ": None"; } end; function Ac { if(.AccountBase) return "#" + .variable_name$; return .variable_name$; } function AddCata { .@s = getarraysize(.CataName$); set getarg(1),.@s; .CataName$[.@s] = getarg(0); .CataMN_L[.@s] = getarg(2); .CataMX_L[.@s] = getarg(3); .CataCD[.@s] = getarg(4); .CataBXP[.@s] = getarg(5); .CataJXP[.@s] = getarg(6); .CataRP[.@s] = getarg(7); for(.@i=8;.@i<getargcount();.@i+=2){ .@s2 = getarraysize(getd(".IRD_" + .@s)); setd ".IRD_" + .@s + "[" + .@s2 + "]",getarg(.@i); setd ".CRD_" + .@s + "[" + .@s2 + "]",getarg(.@i+1); } return; } function AddMob { .@s = getarraysize(getd(".m_id_" + getarg(0))); setd ".m_id_" + getarg(0) + "[" + .@s + "]",getarg(1); setd ".m_mn_" + getarg(0) + "[" + .@s + "]",getarg(2); setd ".m_mx_" + getarg(0) + "[" + .@s + "]",getarg(3); return; } OnInit: .AccountBase = false;//wither or not the quests are on account or on character .ExpServerRate = true;//get exp according to the server rate? .AllowDeleteQuest = true;//allow player to delete his quest without getting the reward .ApplyCoolDownOnDelete = true;//wither or not apply cooldown on deleting the quest. .variable_name$ = "#HUNT_Q_POINTS"; //keep in mind if you changed this you need to change the points in the shop! bindatcmd("MyQuest",strnpcinfo(3)+"::OnHuntingCheck",0,250); freeloop(1); //You can add as much categories as you want! //recommended not more then 25! //AddCata(<"name">,<.var>,<mini level>,<max level>,<cooldown in hours>,<base exp reward>,<job exp reward>,<point reward>,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>}}) AddCata("Easy",.Easy,10,99,0,500,500,10,673,5,12210,0,676,1); AddCata("Normal",.Normal,30,99,0,2500,2500,30,673,10,12210,0,670,1); AddCata("Hard",.Hard,70,150,0,10000,10000,50,673,20,677,1,670,rand(0,2)); AddCata("Undead Easy",.UndeadOne,10,99,0,500,500,10,673,5,677,0,676,1); AddCata("Undead Normal",.UndeadTwo,30,99,0,2500,2500,20,673,10,677,0,670,1); AddCata("Undead Hard",.UndeadThree,70,99,0,10000,10000,30,673,20,677,1,670,rand(0,2)); AddCata("Level 99",.Trans,99,150,0,4000000,4000000,30,673,30,677,1,670,2); AddCata("Level 110",.Trans,110,150,1,10000000,10000000,30,673,30,677,1,670,2); AddCata("Level 120",.Trans,120,250,1,20000000,20000000,30,673,30,677,1,670,2); AddCata("Level 130",.TransNormal,130,250,1,40000000,40000000,30,673,30,677,1,670,2); AddCata("Level 140",.TransNormal,140,250,1,150000000,60000000,30,673,30,677,1,670,2); AddCata("Level 150",.TransMedium,150,250,1,200000000,80000000,30,673,30,677,1,670,2); AddCata("Level 160",.TransMedium,160,250,1,400000000,100000000,30,673,30,677,1,670,2); AddCata("Level 170",.TransMedium,170,250,1,800000000,1500000000,30,673,30,677,1,670,2); AddCata("Level 180",.TransMedium,180,250,1,1800000000,1800000000,30,673,30,677,1,670,2); AddCata("Level 190",.TransMedium,190,250,1,50000000000,50000000000,30,673,30,677,1,670,2); AddCata("MVP",.TransMVP,200,250,0,1000000000000,1000000000000,30,673,50,12210,1,677,5,670,4); AddCata("Indeterminate",.Indeterminate,66,250,0,1000000,1000000,20,673,25,677,5,670,2); //You can add as much mobs as you want! //AddMob(<.var>,<mob id>,<min count>,<max count>); AddMob(.Easy,1052,25,75); AddMob(.Easy,1076,25,75); AddMob(.Easy,1015,25,75); AddMob(.Easy,1014,25,75); AddMob(.Easy,1055,25,75); AddMob(.Easy,1019,25,75); AddMob(.Easy,1178,25,75); AddMob(.Easy,1023,25,75); AddMob(.Easy,1153,25,75); AddMob(.Easy,1060,25,75); AddMob(.Easy,1013,25,75); AddMob(.Easy,1127,25,75); AddMob(.Easy,1106,25,75); AddMob(.Easy,1028,25,75); AddMob(.Easy,1026,25,75); AddMob(.Easy,1053,25,75); AddMob(.Easy,1031,25,75); AddMob(.Easy,1024,25,75); AddMob(.Easy,1052,25,75); AddMob(.Easy,1077,25,75); AddMob(.Easy,1033,25,75); AddMob(.Easy,1141,25,75); AddMob(.Easy,1613,25,75); AddMob(.Easy,1139,25,75); AddMob(.Easy,1152,25,75); AddMob(.Easy,1243,25,75); AddMob(.Normal,1146,50,100); AddMob(.Normal,1016,50,100); AddMob(.Normal,1177,25,75); AddMob(.Normal,1044,25,75); AddMob(.Normal,1273,25,75); AddMob(.Normal,1188,25,75); AddMob(.Normal,1170,25,75); AddMob(.Normal,1248,25,75); AddMob(.Normal,1164,25,75); AddMob(.Normal,1417,25,75); AddMob(.Normal,1628,25,75); AddMob(.Normal,1041,25,75); AddMob(.Normal,1261,25,75); AddMob(.Normal,1032,25,75); AddMob(.Normal,1249,25,75); AddMob(.Normal,1215,25,75); AddMob(.Normal,1140,25,75); AddMob(.Normal,1836,25,75); AddMob(.Normal,1036,25,75); AddMob(.Normal,1143,25,75); AddMob(.Normal,1776,25,75); AddMob(.Normal,1616,25,75); AddMob(.Normal,1102,25,75); AddMob(.Normal,1155,25,75); AddMob(.Normal,1517,25,75); AddMob(.Normal,1189,25,75); AddMob(.Normal,1493,25,75); AddMob(.Normal,1213,25,75); AddMob(.Normal,1149,25,75); AddMob(.Normal,1512,25,75); AddMob(.Normal,1369,25,75); AddMob(.Normal,1193,25,75); AddMob(.Normal,1117,25,75); AddMob(.Hard,1206,25,50); AddMob(.Hard,1154,25,50); AddMob(.Hard,1883,25,50); AddMob(.Hard,1321,25,50); AddMob(.Hard,1504,25,50); AddMob(.Hard,1314,25,50); AddMob(.Hard,1317,25,50); AddMob(.Hard,1297,25,50); AddMob(.Hard,1310,25,50); AddMob(.Hard,1365,25,50); AddMob(.Hard,1617,25,50); AddMob(.Hard,1318,25,50); AddMob(.Hard,1717,25,50); AddMob(.Hard,1372,25,50); AddMob(.Hard,1316,25,50); AddMob(.Hard,1366,25,50); AddMob(.Hard,1148,25,50); AddMob(.Hard,1219,25,50); AddMob(.Trans,1098,25,50); AddMob(.Trans,1315,25,50); AddMob(.Trans,1714,25,50); AddMob(.Trans,1319,25,50); AddMob(.Trans,1366,25,50); AddMob(.Trans,1505,25,50); AddMob(.Trans,1148,25,50); AddMob(.Trans,1316,25,50); AddMob(.Trans,1376,25,50); AddMob(.TransNormal,1716,25,50); AddMob(.TransNormal,1713,25,50); AddMob(.TransNormal,1769,25,50); AddMob(.TransNormal,1098,25,50); AddMob(.TransNormal,1315,25,50); AddMob(.TransNormal,1714,25,50); AddMob(.TransNormal,1319,25,50); AddMob(.TransNormal,1376,25,50); AddMob(.TransNormal,1866,25,50); AddMob(.TransNormal,1867,25,50); AddMob(.TransNormal,2017,25,50); AddMob(.TransNormal,1206,25,50); AddMob(.TransNormal,1154,25,50); AddMob(.TransNormal,1883,25,50); AddMob(.TransNormal,1321,25,50); AddMob(.TransNormal,1504,25,50); AddMob(.TransNormal,1314,25,50); AddMob(.TransNormal,1317,25,50); AddMob(.TransNormal,1297,25,50); AddMob(.TransNormal,1310,25,50); AddMob(.TransNormal,1365,25,50); AddMob(.TransNormal,1617,25,50); AddMob(.TransNormal,1318,25,50); AddMob(.TransNormal,1717,25,50); AddMob(.TransNormal,1372,25,50); AddMob(.TransNormal,1316,25,50); AddMob(.TransNormal,1366,25,50); AddMob(.TransNormal,1148,25,50); AddMob(.TransNormal,1219,25,50); AddMob(.TransMedium,1716,25,50); AddMob(.TransMedium,1713,25,50); AddMob(.TransMedium,1759,25,50); AddMob(.TransMedium,1786,25,50); AddMob(.TransMedium,1769,25,50); AddMob(.TransMedium,1098,25,50); AddMob(.TransMedium,1315,25,50); AddMob(.TransMedium,1714,25,50); AddMob(.TransMedium,1319,25,50); AddMob(.TransMedium,1376,25,50); AddMob(.TransMedium,1866,25,50); AddMob(.TransMedium,1867,25,50); AddMob(.TransMedium,2017,25,50); AddMob(.TransMedium,1716,25,50); AddMob(.TransMedium,1713,25,50); AddMob(.TransMedium,1759,25,50); AddMob(.TransMedium,1786,25,50); AddMob(.TransMedium,1769,25,50); AddMob(.TransMedium,1098,25,50); AddMob(.TransMedium,1315,25,50); AddMob(.TransMedium,1714,25,50); AddMob(.TransMedium,1319,25,50); AddMob(.TransMedium,1376,25,50); AddMob(.TransMedium,1866,25,50); AddMob(.TransMedium,1867,25,50); AddMob(.TransMedium,1310,25,50); AddMob(.TransMedium,1365,25,50); AddMob(.TransMedium,1617,25,50); AddMob(.TransMedium,1318,25,50); AddMob(.TransMedium,1717,25,50); AddMob(.TransMedium,1372,25,50); AddMob(.TransMedium,1316,25,50); AddMob(.TransMedium,1366,25,50); AddMob(.TransMedium,1148,25,50); AddMob(.TransMedium,1219,25,50); AddMob(.TransMedium,1268,1,3); AddMob(.TransMedium,1720,1,3); AddMob(.TransMedium,1289,1,3); AddMob(.TransMVP,1511,1,2); AddMob(.TransMVP,1785,1,5); AddMob(.TransMVP,1389,1,2); AddMob(.TransMVP,1112,1,2); AddMob(.TransMVP,1252,1,2); AddMob(.TransMVP,1251,1,2); AddMob(.TransMVP,1147,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1038,1,2); AddMob(.TransMVP,1087,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1086,1,2); AddMob(.TransMVP,1115,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1583,1,2); AddMob(.TransMVP,1492,1,2); AddMob(.TransMVP,1190,1,2); AddMob(.TransMVP,1511,1,2); AddMob(.Indeterminate,1033,200,300); AddMob(.Indeterminate,1057,200,300); AddMob(.Indeterminate,1784,200,300); AddMob(.Indeterminate,1178,200,300); AddMob(.Indeterminate,1067,200,300); AddMob(.Indeterminate,1153,200,300); AddMob(.Indeterminate,1023,200,300); AddMob(.Indeterminate,1044,200,300); AddMob(.Indeterminate,1165,200,300); AddMob(.Indeterminate,1164,200,300); AddMob(.Indeterminate,1041,200,300); AddMob(.Indeterminate,1032,200,300); AddMob(.Indeterminate,1249,200,300); AddMob(.Indeterminate,1376,25,50); AddMob(.Indeterminate,1098,25,50); AddMob(.Indeterminate,1366,25,50); AddMob(.UndeadOne,1076,25,75); AddMob(.UndeadOne,1015,25,75); AddMob(.UndeadOne,1064,25,75); AddMob(.UndeadOne,1153,25,75); AddMob(.UndeadOne,1071,25,75); AddMob(.UndeadOne,1152,25,75); AddMob(.UndeadOne,1028,25,75); AddMob(.UndeadOne,1026,25,75); AddMob(.UndeadOne,1169,25,75); AddMob(.UndeadTwo,1016,25,75); AddMob(.UndeadTwo,1188,25,75); AddMob(.UndeadTwo,1041,25,75); AddMob(.UndeadTwo,1032,25,75); AddMob(.UndeadTwo,1036,25,75); AddMob(.UndeadTwo,1616,25,75); AddMob(.UndeadTwo,1192,25,75); AddMob(.UndeadTwo,1512,25,75); AddMob(.UndeadTwo,1117,25,75); AddMob(.UndeadThree,1132,25,75); AddMob(.UndeadThree,1297,25,75); AddMob(.UndeadThree,1098,25,75); AddMob(.UndeadThree,1401,25,75); AddMob(.UndeadThree,1505,25,75); AddMob(.UndeadThree,1219,25,75); end; } Thanks in advance and I'm sorry if this is the wrong place for this. Quote
Racaae Posted July 5, 2024 Posted July 5, 2024 2 hours ago, SovietBR said: Hi, can anyone help me with this, please? When I select the option I want (in this case ,130), it is blank and the dialog closes. It doesn't claim any errors or anything, it just closes the dialogue as if nothing had happened, am I missing something? Also, it's kind of random to happen, sometimes when I modify something in AddCata some quest options work and others don't. But is always on the quests beyond 99. Hi, each category needs a unique .variable, it cannot be shared. AddCata("Level 150",.TransMedium AddCata("Level 160",.TransMedium AddCata("Level 170",.TransMedium AddCata("Level 180",.TransMedium AddCata("Level 190",.TransMedium In the example above only the last loaded category (Level 190) gets the variable .TransMedium. The previous ones remain empty. I edited the script to support more .variables for each AddMob. It's just a workaround so I don't know if that will work for you. Syntax example: //AddMob(<.var>,<mob id>,<min count>,<max count> {,<extra .var{,<extra .var...}}); AddMob(.Hard,1219,25,50); AddMob(.Trans,1098,25,50,Trans110,Trans120); AddMob(.TransNormal,1219,25,50,.TransNor140); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); //===== rAthena Script ======================================= //= saders hunting quest //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 5.2 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/3579-saders-hunting-quest/ //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //============================================================ //============================================================ - pointshop Hunting_Quest_Shop -1,#HUNT_Q_POINTS,512:1; //Account Based Shop //- pointshop Hunting_Quest_Shop -1,HUNT_Q_POINTS,512:1; //Character Based Shop prt_in,40,115,4 script Legendary Monster Hunter 667,{ function Ac; mes "Your Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ mes .CataName$[.@i] + ": Complete"; setd Ac() + "POINTS",getd(Ac() + "POINTS") + .CataRP[.@i]; if(.ExpServerRate){ getexp .CataBXP[.@i],.CataJXP[.@i]; }else{ getexp2 .CataBXP[.@i],.CataJXP[.@i]; } if(getd(".IRD_" + .@i)){ for(.@j=0;.@j<getarraysize(getd(".IRD_" + .@i));.@j++){ getitem(getd(".IRD_" + .@i + "[" + .@j + "]"),getd(".CRD_" + .@i + "[" + .@j + "]")); } } setd(Ac() + "CD_" + .@i,gettimetick(2) + (.CataCD[.@i] * 60 * 60)); setd(Ac() + "COM_" + .@i,false); setd(Ac() + "ID_" + .@i,0); setd(Ac() + "C_" + .@i,0); setd(Ac() + "CC_" + .@i,0); continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ mes .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i)){ mes .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } mes .CataName$[.@i] + ": None"; } .@s1 = select("Open Shop:" + implode(.CataName$,":")) -2; clear; if(.@s1 == -1){ callshop "Hunting_Quest_Shop",1; end; } .@CD = getd(Ac() + "CD_" + .@s1); if(.@CD > gettimetick(2)){ mes "you are under the cooldown effect"; mes "try again after " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); end; } if(getd(Ac() + "ID_" + .@s1)){ mes "Your Quest Progress:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); if(.AllowDeleteQuest){ mes "would you like to delete the quest?"; if(select("yes:no") == 2) end; mes "by deleting the quest you wont get any reward"; if(.ApplyCoolDownOnDelete) mes "and the cooldown will be applied!"; mes "Are you sure!?"; if(select("yes:no") == 2) end; clear; if(.ApplyCoolDownOnDelete){ setd(Ac() + "CD_" + .@s1,gettimetick(2) + (.CataCD[.@s1] * 60 * 60)); } setd(Ac() + "ID_" + .@s1,0); setd(Ac() + "C_" + .@s1,0); setd(Ac() + "CC_" + .@s1,0); mes "your quest has been deleted!"; end; } end; } if(BaseLevel < .CataMN_L[.@s1] || BaseLevel > .CataMX_L[.@s1]){ mes "you need to be between level " + .CataMN_L[.@s1] + " And " + .CataMX_L[.@s1] + " to get this quest!"; end; } mes "would you like to get a quest?"; if(select("yes:no") == 2) end; copyarray(.@mid,getd(".m_id_" + .@s1),getarraysize(getd(".m_id_" + .@s1))); mes .@s1 + " " + .@mid[0] + " " + .@mid[1]; .@r = rand(getarraysize(.@mid)); copyarray(.@mmn,getd(".m_mn_" + .@s1),getarraysize(getd(".m_mn_" + .@s1))); copyarray(.@mmx,getd(".m_mx_" + .@s1),getarraysize(getd(".m_mx_" + .@s1))); setd(Ac() + "ID_" + .@s1,.@mid[.@r]); setd(Ac() + "C_" + .@s1,rand(getd(".m_mn_" + .@s1 + "[" + .@r + "]"),getd(".m_mx_" + .@s1 + "[" + .@r + "]"))); setd(Ac() + "CC_" + .@s1,0); mes "Please Kill:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); end; OnNPCKillEvent: for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ setd(Ac() + "CC_" + .@i,getd(Ac() + "CC_" + .@i) + 1); dispbottom "Hunting Quest [" + .CataName$[.@i] + "]: (" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo( 1,getd(Ac() + "ID_" + .@i)); if(getd(Ac() + "CC_" + .@i) >= getd(Ac() + "C_" + .@i)){ dispbottom "Your " + .CataName$[.@i] + " Hunting Quest is Done."; setd(Ac() + "COM_" + .@i,true); } } } end; OnHuntingCheck: dispbottom "Your Hunting Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + ": Complete"; continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ dispbottom .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } dispbottom .CataName$[.@i] + ": None"; } end; function Ac { if(.AccountBase) return "#" + .variable_name$; return .variable_name$; } function AddCata { .@s = getarraysize(.CataName$); set getarg(1),.@s; .CataName$[.@s] = getarg(0); .CataMN_L[.@s] = getarg(2); .CataMX_L[.@s] = getarg(3); .CataCD[.@s] = getarg(4); .CataBXP[.@s] = getarg(5); .CataJXP[.@s] = getarg(6); .CataRP[.@s] = getarg(7); for(.@i=8;.@i<getargcount();.@i+=2){ .@s2 = getarraysize(getd(".IRD_" + .@s)); setd ".IRD_" + .@s + "[" + .@s2 + "]",getarg(.@i); setd ".CRD_" + .@s + "[" + .@s2 + "]",getarg(.@i+1); } return; } function AddMob { for (.@i = 0; .@i < getargcount(); .@i++) { .@s = getarraysize(getd(".m_id_" + getarg(.@i))); setd ".m_id_" + getarg(.@i) + "[" + .@s + "]",getarg(1); setd ".m_mn_" + getarg(.@i) + "[" + .@s + "]",getarg(2); setd ".m_mx_" + getarg(.@i) + "[" + .@s + "]",getarg(3); if (.@i == 0) .@i = 3; } return; } OnInit: .AccountBase = false;//wither or not the quests are on account or on character .ExpServerRate = true;//get exp according to the server rate? .AllowDeleteQuest = true;//allow player to delete his quest without getting the reward .ApplyCoolDownOnDelete = true;//wither or not apply cooldown on deleting the quest. .variable_name$ = "#HUNT_Q_POINTS"; //keep in mind if you changed this you need to change the points in the shop! bindatcmd("MyQuest",strnpcinfo(3)+"::OnHuntingCheck",0,250); freeloop(1); //You can add as much categories as you want! //recommended not more then 25! //.VAR MUST BE UNIQUE FOR EACH CATEGORY //AddCata(<"name">,<.var>,<mini level>,<max level>,<cooldown in hours>,<base exp reward>,<job exp reward>,<point reward>,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>}}) AddCata("Easy",.Easy,10,99,0,500,500,10,673,5,12210,0,676,1); AddCata("Normal",.Normal,30,99,0,2500,2500,30,673,10,12210,0,670,1); AddCata("Hard",.Hard,70,150,0,10000,10000,50,673,20,677,1,670,rand(0,2)); AddCata("Undead Easy",.UndeadOne,10,99,0,500,500,10,673,5,677,0,676,1); AddCata("Undead Normal",.UndeadTwo,30,99,0,2500,2500,20,673,10,677,0,670,1); AddCata("Undead Hard",.UndeadThree,70,99,0,10000,10000,30,673,20,677,1,670,rand(0,2)); AddCata("Level 99",.Trans,99,150,0,4000000,4000000,30,673,30,677,1,670,2); AddCata("Level 110",.Trans110,110,150,1,10000000,10000000,30,673,30,677,1,670,2); AddCata("Level 120",.Trans120,120,250,1,20000000,20000000,30,673,30,677,1,670,2); AddCata("Level 130",.TransNormal,130,250,1,40000000,40000000,30,673,30,677,1,670,2); AddCata("Level 140",.TransNor140,140,250,1,150000000,60000000,30,673,30,677,1,670,2); AddCata("Level 150",.TransMedium,150,250,1,200000000,80000000,30,673,30,677,1,670,2); AddCata("Level 160",.TransMed160,160,250,1,400000000,100000000,30,673,30,677,1,670,2); AddCata("Level 170",.TransMed170,170,250,1,800000000,1500000000,30,673,30,677,1,670,2); AddCata("Level 180",.TransMed180,180,250,1,1800000000,1800000000,30,673,30,677,1,670,2); AddCata("Level 190",.TransMed190,190,250,1,50000000000,50000000000,30,673,30,677,1,670,2); AddCata("MVP",.TransMVP,200,250,0,1000000000000,1000000000000,30,673,50,12210,1,677,5,670,4); AddCata("Indeterminate",.Indeterminate,66,250,0,1000000,1000000,20,673,25,677,5,670,2); //You can add as much mobs as you want! //AddMob(<.var>,<mob id>,<min count>,<max count> {,<extra .var{,<extra .var...}}); AddMob(.Easy,1052,25,75); AddMob(.Easy,1076,25,75); AddMob(.Easy,1015,25,75); AddMob(.Easy,1014,25,75); AddMob(.Easy,1055,25,75); AddMob(.Easy,1019,25,75); AddMob(.Easy,1178,25,75); AddMob(.Easy,1023,25,75); AddMob(.Easy,1153,25,75); AddMob(.Easy,1060,25,75); AddMob(.Easy,1013,25,75); AddMob(.Easy,1127,25,75); AddMob(.Easy,1106,25,75); AddMob(.Easy,1028,25,75); AddMob(.Easy,1026,25,75); AddMob(.Easy,1053,25,75); AddMob(.Easy,1031,25,75); AddMob(.Easy,1024,25,75); AddMob(.Easy,1052,25,75); AddMob(.Easy,1077,25,75); AddMob(.Easy,1033,25,75); AddMob(.Easy,1141,25,75); AddMob(.Easy,1613,25,75); AddMob(.Easy,1139,25,75); AddMob(.Easy,1152,25,75); AddMob(.Easy,1243,25,75); AddMob(.Normal,1146,50,100); AddMob(.Normal,1016,50,100); AddMob(.Normal,1177,25,75); AddMob(.Normal,1044,25,75); AddMob(.Normal,1273,25,75); AddMob(.Normal,1188,25,75); AddMob(.Normal,1170,25,75); AddMob(.Normal,1248,25,75); AddMob(.Normal,1164,25,75); AddMob(.Normal,1417,25,75); AddMob(.Normal,1628,25,75); AddMob(.Normal,1041,25,75); AddMob(.Normal,1261,25,75); AddMob(.Normal,1032,25,75); AddMob(.Normal,1249,25,75); AddMob(.Normal,1215,25,75); AddMob(.Normal,1140,25,75); AddMob(.Normal,1836,25,75); AddMob(.Normal,1036,25,75); AddMob(.Normal,1143,25,75); AddMob(.Normal,1776,25,75); AddMob(.Normal,1616,25,75); AddMob(.Normal,1102,25,75); AddMob(.Normal,1155,25,75); AddMob(.Normal,1517,25,75); AddMob(.Normal,1189,25,75); AddMob(.Normal,1493,25,75); AddMob(.Normal,1213,25,75); AddMob(.Normal,1149,25,75); AddMob(.Normal,1512,25,75); AddMob(.Normal,1369,25,75); AddMob(.Normal,1193,25,75); AddMob(.Normal,1117,25,75); AddMob(.Hard,1206,25,50); AddMob(.Hard,1154,25,50); AddMob(.Hard,1883,25,50); AddMob(.Hard,1321,25,50); AddMob(.Hard,1504,25,50); AddMob(.Hard,1314,25,50); AddMob(.Hard,1317,25,50); AddMob(.Hard,1297,25,50); AddMob(.Hard,1310,25,50); AddMob(.Hard,1365,25,50); AddMob(.Hard,1617,25,50); AddMob(.Hard,1318,25,50); AddMob(.Hard,1717,25,50); AddMob(.Hard,1372,25,50); AddMob(.Hard,1316,25,50); AddMob(.Hard,1366,25,50); AddMob(.Hard,1148,25,50); AddMob(.Hard,1219,25,50); AddMob(.Trans,1098,25,50,.Trans110,.Trans120); AddMob(.Trans,1315,25,50,.Trans110,.Trans120); AddMob(.Trans,1714,25,50,.Trans110,.Trans120); AddMob(.Trans,1319,25,50,.Trans110,.Trans120); AddMob(.Trans,1366,25,50,.Trans110,.Trans120); AddMob(.Trans,1505,25,50,.Trans110,.Trans120); AddMob(.Trans,1148,25,50,.Trans110,.Trans120); AddMob(.Trans,1316,25,50,.Trans110,.Trans120); AddMob(.Trans,1376,25,50,.Trans110,.Trans120); AddMob(.TransNormal,1716,25,50,.TransNor140); AddMob(.TransNormal,1713,25,50,.TransNor140); AddMob(.TransNormal,1769,25,50,.TransNor140); AddMob(.TransNormal,1098,25,50,.TransNor140); AddMob(.TransNormal,1315,25,50,.TransNor140); AddMob(.TransNormal,1714,25,50,.TransNor140); AddMob(.TransNormal,1319,25,50,.TransNor140); AddMob(.TransNormal,1376,25,50,.TransNor140); AddMob(.TransNormal,1866,25,50,.TransNor140); AddMob(.TransNormal,1867,25,50,.TransNor140); AddMob(.TransNormal,2017,25,50,.TransNor140); AddMob(.TransNormal,1206,25,50,.TransNor140); AddMob(.TransNormal,1154,25,50,.TransNor140); AddMob(.TransNormal,1883,25,50,.TransNor140); AddMob(.TransNormal,1321,25,50,.TransNor140); AddMob(.TransNormal,1504,25,50,.TransNor140); AddMob(.TransNormal,1314,25,50,.TransNor140); AddMob(.TransNormal,1317,25,50,.TransNor140); AddMob(.TransNormal,1297,25,50,.TransNor140); AddMob(.TransNormal,1310,25,50,.TransNor140); AddMob(.TransNormal,1365,25,50,.TransNor140); AddMob(.TransNormal,1617,25,50,.TransNor140); AddMob(.TransNormal,1318,25,50,.TransNor140); AddMob(.TransNormal,1717,25,50,.TransNor140); AddMob(.TransNormal,1372,25,50,.TransNor140); AddMob(.TransNormal,1316,25,50,.TransNor140); AddMob(.TransNormal,1366,25,50,.TransNor140); AddMob(.TransNormal,1148,25,50,.TransNor140); AddMob(.TransNormal,1219,25,50,.TransNor140); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1713,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1759,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1786,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1769,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1098,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1315,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1714,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1319,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1376,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1866,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1867,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,2017,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1713,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1759,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1786,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1769,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1098,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1315,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1714,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1319,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1376,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1866,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1867,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1310,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1365,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1617,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1318,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1717,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1372,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1316,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1366,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1148,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1219,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1268,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1720,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1289,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMVP,1511,1,2); AddMob(.TransMVP,1785,1,5); AddMob(.TransMVP,1389,1,2); AddMob(.TransMVP,1112,1,2); AddMob(.TransMVP,1252,1,2); AddMob(.TransMVP,1251,1,2); AddMob(.TransMVP,1147,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1038,1,2); AddMob(.TransMVP,1087,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1086,1,2); AddMob(.TransMVP,1115,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1583,1,2); AddMob(.TransMVP,1492,1,2); AddMob(.TransMVP,1190,1,2); AddMob(.TransMVP,1511,1,2); AddMob(.Indeterminate,1033,200,300); AddMob(.Indeterminate,1057,200,300); AddMob(.Indeterminate,1784,200,300); AddMob(.Indeterminate,1178,200,300); AddMob(.Indeterminate,1067,200,300); AddMob(.Indeterminate,1153,200,300); AddMob(.Indeterminate,1023,200,300); AddMob(.Indeterminate,1044,200,300); AddMob(.Indeterminate,1165,200,300); AddMob(.Indeterminate,1164,200,300); AddMob(.Indeterminate,1041,200,300); AddMob(.Indeterminate,1032,200,300); AddMob(.Indeterminate,1249,200,300); AddMob(.Indeterminate,1376,25,50); AddMob(.Indeterminate,1098,25,50); AddMob(.Indeterminate,1366,25,50); AddMob(.UndeadOne,1076,25,75); AddMob(.UndeadOne,1015,25,75); AddMob(.UndeadOne,1064,25,75); AddMob(.UndeadOne,1153,25,75); AddMob(.UndeadOne,1071,25,75); AddMob(.UndeadOne,1152,25,75); AddMob(.UndeadOne,1028,25,75); AddMob(.UndeadOne,1026,25,75); AddMob(.UndeadOne,1169,25,75); AddMob(.UndeadTwo,1016,25,75); AddMob(.UndeadTwo,1188,25,75); AddMob(.UndeadTwo,1041,25,75); AddMob(.UndeadTwo,1032,25,75); AddMob(.UndeadTwo,1036,25,75); AddMob(.UndeadTwo,1616,25,75); AddMob(.UndeadTwo,1192,25,75); AddMob(.UndeadTwo,1512,25,75); AddMob(.UndeadTwo,1117,25,75); AddMob(.UndeadThree,1132,25,75); AddMob(.UndeadThree,1297,25,75); AddMob(.UndeadThree,1098,25,75); AddMob(.UndeadThree,1401,25,75); AddMob(.UndeadThree,1505,25,75); AddMob(.UndeadThree,1219,25,75); end; } 1 Quote
SovietBR Posted July 5, 2024 Posted July 5, 2024 7 hours ago, Racaae said: Hi, each category needs a unique .variable, it cannot be shared. AddCata("Level 150",.TransMedium AddCata("Level 160",.TransMedium AddCata("Level 170",.TransMedium AddCata("Level 180",.TransMedium AddCata("Level 190",.TransMedium In the example above only the last loaded category (Level 190) gets the variable .TransMedium. The previous ones remain empty. I edited the script to support more .variables for each AddMob. It's just a workaround so I don't know if that will work for you. Syntax example: //AddMob(<.var>,<mob id>,<min count>,<max count> {,<extra .var{,<extra .var...}}); AddMob(.Hard,1219,25,50); AddMob(.Trans,1098,25,50,Trans110,Trans120); AddMob(.TransNormal,1219,25,50,.TransNor140); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); //===== rAthena Script ======================================= //= saders hunting quest //===== By: ================================================== //= Sader1992 //https://rathena.org/board/profile/30766-sader1992/ //===== Current Version: ===================================== //= 5.2 //===== Compatible With: ===================================== //= rAthena Project //https://rathena.org/board/files/file/3579-saders-hunting-quest/ //https://github.com/sader1992/sader_scripts //===== Description: ========================================= //============================================================ //============================================================ - pointshop Hunting_Quest_Shop -1,#HUNT_Q_POINTS,512:1; //Account Based Shop //- pointshop Hunting_Quest_Shop -1,HUNT_Q_POINTS,512:1; //Character Based Shop prt_in,40,115,4 script Legendary Monster Hunter 667,{ function Ac; mes "Your Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ mes .CataName$[.@i] + ": Complete"; setd Ac() + "POINTS",getd(Ac() + "POINTS") + .CataRP[.@i]; if(.ExpServerRate){ getexp .CataBXP[.@i],.CataJXP[.@i]; }else{ getexp2 .CataBXP[.@i],.CataJXP[.@i]; } if(getd(".IRD_" + .@i)){ for(.@j=0;.@j<getarraysize(getd(".IRD_" + .@i));.@j++){ getitem(getd(".IRD_" + .@i + "[" + .@j + "]"),getd(".CRD_" + .@i + "[" + .@j + "]")); } } setd(Ac() + "CD_" + .@i,gettimetick(2) + (.CataCD[.@i] * 60 * 60)); setd(Ac() + "COM_" + .@i,false); setd(Ac() + "ID_" + .@i,0); setd(Ac() + "C_" + .@i,0); setd(Ac() + "CC_" + .@i,0); continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ mes .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i)){ mes .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } mes .CataName$[.@i] + ": None"; } .@s1 = select("Open Shop:" + implode(.CataName$,":")) -2; clear; if(.@s1 == -1){ callshop "Hunting_Quest_Shop",1; end; } .@CD = getd(Ac() + "CD_" + .@s1); if(.@CD > gettimetick(2)){ mes "you are under the cooldown effect"; mes "try again after " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); end; } if(getd(Ac() + "ID_" + .@s1)){ mes "Your Quest Progress:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); if(.AllowDeleteQuest){ mes "would you like to delete the quest?"; if(select("yes:no") == 2) end; mes "by deleting the quest you wont get any reward"; if(.ApplyCoolDownOnDelete) mes "and the cooldown will be applied!"; mes "Are you sure!?"; if(select("yes:no") == 2) end; clear; if(.ApplyCoolDownOnDelete){ setd(Ac() + "CD_" + .@s1,gettimetick(2) + (.CataCD[.@s1] * 60 * 60)); } setd(Ac() + "ID_" + .@s1,0); setd(Ac() + "C_" + .@s1,0); setd(Ac() + "CC_" + .@s1,0); mes "your quest has been deleted!"; end; } end; } if(BaseLevel < .CataMN_L[.@s1] || BaseLevel > .CataMX_L[.@s1]){ mes "you need to be between level " + .CataMN_L[.@s1] + " And " + .CataMX_L[.@s1] + " to get this quest!"; end; } mes "would you like to get a quest?"; if(select("yes:no") == 2) end; copyarray(.@mid,getd(".m_id_" + .@s1),getarraysize(getd(".m_id_" + .@s1))); mes .@s1 + " " + .@mid[0] + " " + .@mid[1]; .@r = rand(getarraysize(.@mid)); copyarray(.@mmn,getd(".m_mn_" + .@s1),getarraysize(getd(".m_mn_" + .@s1))); copyarray(.@mmx,getd(".m_mx_" + .@s1),getarraysize(getd(".m_mx_" + .@s1))); setd(Ac() + "ID_" + .@s1,.@mid[.@r]); setd(Ac() + "C_" + .@s1,rand(getd(".m_mn_" + .@s1 + "[" + .@r + "]"),getd(".m_mx_" + .@s1 + "[" + .@r + "]"))); setd(Ac() + "CC_" + .@s1,0); mes "Please Kill:"; mes "(" + getd(Ac() + "CC_" + .@s1) + "/" + getd(Ac() + "C_" + .@s1) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@s1)); end; OnNPCKillEvent: for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ setd(Ac() + "CC_" + .@i,getd(Ac() + "CC_" + .@i) + 1); dispbottom "Hunting Quest [" + .CataName$[.@i] + "]: (" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo( 1,getd(Ac() + "ID_" + .@i)); if(getd(Ac() + "CC_" + .@i) >= getd(Ac() + "C_" + .@i)){ dispbottom "Your " + .CataName$[.@i] + " Hunting Quest is Done."; setd(Ac() + "COM_" + .@i,true); } } } end; OnHuntingCheck: dispbottom "Your Hunting Quest Progress:"; for(.@i=0;.@i<getarraysize(.CataName$);.@i++){ if(getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + ": Complete"; continue; } .@CD = getd(Ac() + "CD_" + .@i); if(.@CD > gettimetick(2)){ dispbottom .CataName$[.@i] + ": " + gettimestr("%Y-%m/%d %H:%M:%S",21,.@CD); continue; } if(getd(Ac() + "ID_" + .@i) == killedrid && !getd(Ac() + "COM_" + .@i)){ dispbottom .CataName$[.@i] + "(" + getd(Ac() + "CC_" + .@i) + "/" + getd(Ac() + "C_" + .@i) + ") " + strmobinfo(1,getd(Ac() + "ID_" + .@i)); continue; } dispbottom .CataName$[.@i] + ": None"; } end; function Ac { if(.AccountBase) return "#" + .variable_name$; return .variable_name$; } function AddCata { .@s = getarraysize(.CataName$); set getarg(1),.@s; .CataName$[.@s] = getarg(0); .CataMN_L[.@s] = getarg(2); .CataMX_L[.@s] = getarg(3); .CataCD[.@s] = getarg(4); .CataBXP[.@s] = getarg(5); .CataJXP[.@s] = getarg(6); .CataRP[.@s] = getarg(7); for(.@i=8;.@i<getargcount();.@i+=2){ .@s2 = getarraysize(getd(".IRD_" + .@s)); setd ".IRD_" + .@s + "[" + .@s2 + "]",getarg(.@i); setd ".CRD_" + .@s + "[" + .@s2 + "]",getarg(.@i+1); } return; } function AddMob { for (.@i = 0; .@i < getargcount(); .@i++) { .@s = getarraysize(getd(".m_id_" + getarg(.@i))); setd ".m_id_" + getarg(.@i) + "[" + .@s + "]",getarg(1); setd ".m_mn_" + getarg(.@i) + "[" + .@s + "]",getarg(2); setd ".m_mx_" + getarg(.@i) + "[" + .@s + "]",getarg(3); if (.@i == 0) .@i = 3; } return; } OnInit: .AccountBase = false;//wither or not the quests are on account or on character .ExpServerRate = true;//get exp according to the server rate? .AllowDeleteQuest = true;//allow player to delete his quest without getting the reward .ApplyCoolDownOnDelete = true;//wither or not apply cooldown on deleting the quest. .variable_name$ = "#HUNT_Q_POINTS"; //keep in mind if you changed this you need to change the points in the shop! bindatcmd("MyQuest",strnpcinfo(3)+"::OnHuntingCheck",0,250); freeloop(1); //You can add as much categories as you want! //recommended not more then 25! //.VAR MUST BE UNIQUE FOR EACH CATEGORY //AddCata(<"name">,<.var>,<mini level>,<max level>,<cooldown in hours>,<base exp reward>,<job exp reward>,<point reward>,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>{,<ITEM ID>,<COUNT>}}) AddCata("Easy",.Easy,10,99,0,500,500,10,673,5,12210,0,676,1); AddCata("Normal",.Normal,30,99,0,2500,2500,30,673,10,12210,0,670,1); AddCata("Hard",.Hard,70,150,0,10000,10000,50,673,20,677,1,670,rand(0,2)); AddCata("Undead Easy",.UndeadOne,10,99,0,500,500,10,673,5,677,0,676,1); AddCata("Undead Normal",.UndeadTwo,30,99,0,2500,2500,20,673,10,677,0,670,1); AddCata("Undead Hard",.UndeadThree,70,99,0,10000,10000,30,673,20,677,1,670,rand(0,2)); AddCata("Level 99",.Trans,99,150,0,4000000,4000000,30,673,30,677,1,670,2); AddCata("Level 110",.Trans110,110,150,1,10000000,10000000,30,673,30,677,1,670,2); AddCata("Level 120",.Trans120,120,250,1,20000000,20000000,30,673,30,677,1,670,2); AddCata("Level 130",.TransNormal,130,250,1,40000000,40000000,30,673,30,677,1,670,2); AddCata("Level 140",.TransNor140,140,250,1,150000000,60000000,30,673,30,677,1,670,2); AddCata("Level 150",.TransMedium,150,250,1,200000000,80000000,30,673,30,677,1,670,2); AddCata("Level 160",.TransMed160,160,250,1,400000000,100000000,30,673,30,677,1,670,2); AddCata("Level 170",.TransMed170,170,250,1,800000000,1500000000,30,673,30,677,1,670,2); AddCata("Level 180",.TransMed180,180,250,1,1800000000,1800000000,30,673,30,677,1,670,2); AddCata("Level 190",.TransMed190,190,250,1,50000000000,50000000000,30,673,30,677,1,670,2); AddCata("MVP",.TransMVP,200,250,0,1000000000000,1000000000000,30,673,50,12210,1,677,5,670,4); AddCata("Indeterminate",.Indeterminate,66,250,0,1000000,1000000,20,673,25,677,5,670,2); //You can add as much mobs as you want! //AddMob(<.var>,<mob id>,<min count>,<max count> {,<extra .var{,<extra .var...}}); AddMob(.Easy,1052,25,75); AddMob(.Easy,1076,25,75); AddMob(.Easy,1015,25,75); AddMob(.Easy,1014,25,75); AddMob(.Easy,1055,25,75); AddMob(.Easy,1019,25,75); AddMob(.Easy,1178,25,75); AddMob(.Easy,1023,25,75); AddMob(.Easy,1153,25,75); AddMob(.Easy,1060,25,75); AddMob(.Easy,1013,25,75); AddMob(.Easy,1127,25,75); AddMob(.Easy,1106,25,75); AddMob(.Easy,1028,25,75); AddMob(.Easy,1026,25,75); AddMob(.Easy,1053,25,75); AddMob(.Easy,1031,25,75); AddMob(.Easy,1024,25,75); AddMob(.Easy,1052,25,75); AddMob(.Easy,1077,25,75); AddMob(.Easy,1033,25,75); AddMob(.Easy,1141,25,75); AddMob(.Easy,1613,25,75); AddMob(.Easy,1139,25,75); AddMob(.Easy,1152,25,75); AddMob(.Easy,1243,25,75); AddMob(.Normal,1146,50,100); AddMob(.Normal,1016,50,100); AddMob(.Normal,1177,25,75); AddMob(.Normal,1044,25,75); AddMob(.Normal,1273,25,75); AddMob(.Normal,1188,25,75); AddMob(.Normal,1170,25,75); AddMob(.Normal,1248,25,75); AddMob(.Normal,1164,25,75); AddMob(.Normal,1417,25,75); AddMob(.Normal,1628,25,75); AddMob(.Normal,1041,25,75); AddMob(.Normal,1261,25,75); AddMob(.Normal,1032,25,75); AddMob(.Normal,1249,25,75); AddMob(.Normal,1215,25,75); AddMob(.Normal,1140,25,75); AddMob(.Normal,1836,25,75); AddMob(.Normal,1036,25,75); AddMob(.Normal,1143,25,75); AddMob(.Normal,1776,25,75); AddMob(.Normal,1616,25,75); AddMob(.Normal,1102,25,75); AddMob(.Normal,1155,25,75); AddMob(.Normal,1517,25,75); AddMob(.Normal,1189,25,75); AddMob(.Normal,1493,25,75); AddMob(.Normal,1213,25,75); AddMob(.Normal,1149,25,75); AddMob(.Normal,1512,25,75); AddMob(.Normal,1369,25,75); AddMob(.Normal,1193,25,75); AddMob(.Normal,1117,25,75); AddMob(.Hard,1206,25,50); AddMob(.Hard,1154,25,50); AddMob(.Hard,1883,25,50); AddMob(.Hard,1321,25,50); AddMob(.Hard,1504,25,50); AddMob(.Hard,1314,25,50); AddMob(.Hard,1317,25,50); AddMob(.Hard,1297,25,50); AddMob(.Hard,1310,25,50); AddMob(.Hard,1365,25,50); AddMob(.Hard,1617,25,50); AddMob(.Hard,1318,25,50); AddMob(.Hard,1717,25,50); AddMob(.Hard,1372,25,50); AddMob(.Hard,1316,25,50); AddMob(.Hard,1366,25,50); AddMob(.Hard,1148,25,50); AddMob(.Hard,1219,25,50); AddMob(.Trans,1098,25,50,.Trans110,.Trans120); AddMob(.Trans,1315,25,50,.Trans110,.Trans120); AddMob(.Trans,1714,25,50,.Trans110,.Trans120); AddMob(.Trans,1319,25,50,.Trans110,.Trans120); AddMob(.Trans,1366,25,50,.Trans110,.Trans120); AddMob(.Trans,1505,25,50,.Trans110,.Trans120); AddMob(.Trans,1148,25,50,.Trans110,.Trans120); AddMob(.Trans,1316,25,50,.Trans110,.Trans120); AddMob(.Trans,1376,25,50,.Trans110,.Trans120); AddMob(.TransNormal,1716,25,50,.TransNor140); AddMob(.TransNormal,1713,25,50,.TransNor140); AddMob(.TransNormal,1769,25,50,.TransNor140); AddMob(.TransNormal,1098,25,50,.TransNor140); AddMob(.TransNormal,1315,25,50,.TransNor140); AddMob(.TransNormal,1714,25,50,.TransNor140); AddMob(.TransNormal,1319,25,50,.TransNor140); AddMob(.TransNormal,1376,25,50,.TransNor140); AddMob(.TransNormal,1866,25,50,.TransNor140); AddMob(.TransNormal,1867,25,50,.TransNor140); AddMob(.TransNormal,2017,25,50,.TransNor140); AddMob(.TransNormal,1206,25,50,.TransNor140); AddMob(.TransNormal,1154,25,50,.TransNor140); AddMob(.TransNormal,1883,25,50,.TransNor140); AddMob(.TransNormal,1321,25,50,.TransNor140); AddMob(.TransNormal,1504,25,50,.TransNor140); AddMob(.TransNormal,1314,25,50,.TransNor140); AddMob(.TransNormal,1317,25,50,.TransNor140); AddMob(.TransNormal,1297,25,50,.TransNor140); AddMob(.TransNormal,1310,25,50,.TransNor140); AddMob(.TransNormal,1365,25,50,.TransNor140); AddMob(.TransNormal,1617,25,50,.TransNor140); AddMob(.TransNormal,1318,25,50,.TransNor140); AddMob(.TransNormal,1717,25,50,.TransNor140); AddMob(.TransNormal,1372,25,50,.TransNor140); AddMob(.TransNormal,1316,25,50,.TransNor140); AddMob(.TransNormal,1366,25,50,.TransNor140); AddMob(.TransNormal,1148,25,50,.TransNor140); AddMob(.TransNormal,1219,25,50,.TransNor140); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1713,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1759,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1786,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1769,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1098,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1315,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1714,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1319,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1376,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1866,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1867,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,2017,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1716,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1713,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1759,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1786,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1769,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1098,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1315,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1714,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1319,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1376,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1866,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1867,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1310,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1365,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1617,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1318,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1717,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1372,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1316,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1366,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1148,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1219,25,50,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1268,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1720,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMedium,1289,1,3,.TransMed160,.TransMed170,.TransMed180,.TransMed190); AddMob(.TransMVP,1511,1,2); AddMob(.TransMVP,1785,1,5); AddMob(.TransMVP,1389,1,2); AddMob(.TransMVP,1112,1,2); AddMob(.TransMVP,1252,1,2); AddMob(.TransMVP,1251,1,2); AddMob(.TransMVP,1147,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1038,1,2); AddMob(.TransMVP,1087,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1086,1,2); AddMob(.TransMVP,1115,1,2); AddMob(.TransMVP,1150,1,2); AddMob(.TransMVP,1159,1,2); AddMob(.TransMVP,1583,1,2); AddMob(.TransMVP,1492,1,2); AddMob(.TransMVP,1190,1,2); AddMob(.TransMVP,1511,1,2); AddMob(.Indeterminate,1033,200,300); AddMob(.Indeterminate,1057,200,300); AddMob(.Indeterminate,1784,200,300); AddMob(.Indeterminate,1178,200,300); AddMob(.Indeterminate,1067,200,300); AddMob(.Indeterminate,1153,200,300); AddMob(.Indeterminate,1023,200,300); AddMob(.Indeterminate,1044,200,300); AddMob(.Indeterminate,1165,200,300); AddMob(.Indeterminate,1164,200,300); AddMob(.Indeterminate,1041,200,300); AddMob(.Indeterminate,1032,200,300); AddMob(.Indeterminate,1249,200,300); AddMob(.Indeterminate,1376,25,50); AddMob(.Indeterminate,1098,25,50); AddMob(.Indeterminate,1366,25,50); AddMob(.UndeadOne,1076,25,75); AddMob(.UndeadOne,1015,25,75); AddMob(.UndeadOne,1064,25,75); AddMob(.UndeadOne,1153,25,75); AddMob(.UndeadOne,1071,25,75); AddMob(.UndeadOne,1152,25,75); AddMob(.UndeadOne,1028,25,75); AddMob(.UndeadOne,1026,25,75); AddMob(.UndeadOne,1169,25,75); AddMob(.UndeadTwo,1016,25,75); AddMob(.UndeadTwo,1188,25,75); AddMob(.UndeadTwo,1041,25,75); AddMob(.UndeadTwo,1032,25,75); AddMob(.UndeadTwo,1036,25,75); AddMob(.UndeadTwo,1616,25,75); AddMob(.UndeadTwo,1192,25,75); AddMob(.UndeadTwo,1512,25,75); AddMob(.UndeadTwo,1117,25,75); AddMob(.UndeadThree,1132,25,75); AddMob(.UndeadThree,1297,25,75); AddMob(.UndeadThree,1098,25,75); AddMob(.UndeadThree,1401,25,75); AddMob(.UndeadThree,1505,25,75); AddMob(.UndeadThree,1219,25,75); end; } Worked like a charm, thank you so very much! I was going insane trying to fix this alone (I'm not good at programing). Quote
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.