Jump to content

NexusXVI

Members
  • Posts

    227
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by NexusXVI

  1. Kudos to you man, did not know I could miss that so easily.. anything that is inside inter_athena.conf should be the connection for communication on MYSQL and for char and map is for their own. I'll attach the screenies here for other people to see. Thanks everything is green and no errors now.. Considered this closed.
  2. Tbh that debug part is just a return text on the cpp files, which tells the bat file what to show during such error. This is both true on the mapserv and charserv
  3. Hi!, it's been a while and I just wanted to make a test server again for exploration of 3rd jobs. Did download the latest pull on git, setup everything properly (schema on utf8) Correct configuration on the conf files with the correct setup on workbench : Still havin an issue on the servers, did cleanly compile it as well. Did try it on both the root and created a new user both having the same issue : So I am just wondering what went wrong regarding the error..
  4. My fault clyd.. Used a different rev, happens when both are in the same folder.. Newest one dsnt have packet_db anymore.. Got confused.
  5. iteminfo_Sak.lua is also in the file. Also diff your client to load LUA before LUB if you only have the lua files.. If you only have the _Sak try finding an updated system folder. Here is mine for reference. And I suggest you make your own iteminfo.. So that updates won't hurt you if they come.
  6. There are 2 ways that I can think of here : 1. Admin should be set to both Yellow and Aid. <yellow> <admin>2000000</admin> </yellow> <aid> <admin>2000000</admin> </aid> 2. Do not check the Remove GM Sprite when you diff your client like so :
  7. As per experience only.. Items will appear as apples if item ID does not match the appropriate view ID Refer to here. Or sprite misalignment, have you checked the iteminfo?.
  8. Client Date : 2015 - 05 - 13 MapServer Error : clif_parse @ packet 0x0a35, disconnection session #3 Client Error : Disconnected from the Server
  9. //===== rAthena Script ======================================= //= Sample Random Option Script //===== Description: ========================================= //= Enchant a weapon with a random element option //= to a weapon with no random option. //===== Changelogs: ========================================== //= 1.0 First version. [Secretdataz] //============================================================ //===== rAthena Script ======================================= //= Random Option NPC dealer //===== By: ================================================== //= Keitenai //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Deals with a player to apply random item option //= for the price of zeny/cashpoint //============================================================ quiz_00,16,107,6 script Keitenai 856,{ goto NPC; end; OnInit: //============================== // CURRENCY SETTING // 1 = Zeny // 0 = Cashpoints //============================== set .Currency,1; // Currency to buy random option set .Price,1000000; // Prize of random option //============================== // RANDOM OPTION SETTING //============================== set .OverWrite,1; // Allows overwriting the already existing option enchantment ( 0 to disable ) set .FailRate,10; // Sets fail chance set .MaxOpt,192; // Maximum item option a player can enchant ( reference: https://github.com/rathena/rathena/blob/master/db/const.txt#L1645-L1836 ) set .MinOpt,1; // Minimum item option a player can enchant set .MinValue,1; // Minimum option effect value set .MaxValue,10; // Maximum option effect value set .MaxIndex,4; // Maximum option slots ( default is 0 to 4 ) set .Wait,5; // Progress bar delay in seconds // Random option that will not be applied setarray .ignore[0], 86, // RDMOPT_BODY_ATTR_ALL 173, // RDMOPT_HP_DRAIN 174, // RDMOPT_SP_DRAIN 190, // RDMOPT_MDAMAGE_SIZE_SMALL_USER 191, // RDMOPT_MDAMAGE_SIZE_MIDIUM_USER 192, // RDMOPT_MDAMAGE_SIZE_LARGE_USER 193; // RDMOPT_ATTR_TOLERACE_ALL end; NPC: disable_items; mes "[ Keitenai ]"; mes "Good day young fella!"; mes "I came from the land of"; mes "far far away to introduce the"; mes "amazing equipment ^FF0000random^000000"; mes "option enchantment."; next; mes "[ Keitenai ]"; mes "I can make any of your equipment"; mes "become more powerful"; mes "than its current condition..."; if(.Currency){ mes "For a prize of ^0000FF"+.Price+" Zeny^000000,"; } else { mes "For a prize of ^0000FF"+.Price+" Cashpoints^000000,"; } mes "I will apply a ^FF0000RANDOM^000000"; mes "option enchantment on your"; mes "equipment. (^_^)"; next; mes "[ Keitenai ]"; mes "I forgot to tell you that"; mes "there is ^FF0000"+.FailRate+"%^000000 chance"; mes "that this process may ^FF0000FAIL^000000"; mes "and lose your equip along"; mes "with its card..."," "; next; mes "[ Keitenai ]"; mes "Do you still want to take"; mes "the risk of enchanting with"; mes "^FF0000"+.FailRate+"%^000000 chance to ^FF0000Fail^000000"; mes "and lose your equip along"; mes "with its card?"; next; if(select("Nah! I don't want to...:^0000FFI'll Take the risk! Enchant my equip!^000000")==1) goto OnCancel; mes "[ Keitenai ]"; mes "Wonderful!"; mes "This process will take"; mes "about ^0000FF"+.Wait+"^000000 seconds..."; mes "Don't move a muscle while"; mes "i'm enchanting your equipment!"; close2; setarray .@eq[1], EQI_HEAD_TOP,EQI_ARMOR,EQI_HAND_L,EQI_HAND_R,EQI_GARMENT,EQI_SHOES,EQI_ACC_L,EQI_ACC_R,EQI_HEAD_MID,EQI_HEAD_LOW; for(set .@i,1; .@i<getarraysize(.@eq); set .@i,.@i+1){ if(getequipisequiped(.@eq[.@i])){ set .@menu$,.@menu$+F_getpositionname(.@eq[.@i])+" ~ [ " + getequipname(.@eq[.@i]) + " ]"; set .@equipped,1; } set .@menu$,.@menu$+":"; } set .@part,.@eq[select(.@menu$)]; set .@val,rand(.MinValue,.MaxValue); IgnoreCheck: set .@opt,rand(.MinOpt,.MaxOpt); for(set .@f,1; .@f<getarraysize(.ignore); set .@f,.@f+1) if(.@opt==.ignore[.@f]) goto IgnoreCheck; set .@indx,rand(.MaxIndex); if(!.OverWrite){ if(getequiprandomoption(.@part,4,ROA_ID,getcharid(0))) set .@x4,4; if(getequiprandomoption(.@part,3,ROA_ID,getcharid(0))) set .@x3,3; if(getequiprandomoption(.@part,2,ROA_ID,getcharid(0))) set .@x2,2; if(getequiprandomoption(.@part,1,ROA_ID,getcharid(0))) set .@x1,1; if(getequiprandomoption(.@part,0,ROA_ID,getcharid(0))) set .@x0,0; if(.@indx == 0 && .@x0) if(.@indx==.MaxIndex) goto OnMax; else set .@indx,1; if(.@indx == 1 && .@x1) if(.@indx==.MaxIndex) goto OnMax; else set .@indx,2; if(.@indx == 2 && .@x2) if(.@indx==.MaxIndex) goto OnMax; else set .@indx,3; if(.@indx == 3 && .@x3) if(.@indx==.MaxIndex) goto OnMax; else set .@indx,4; if(.@indx == 4 && .@x4) if(.@indx==.MaxIndex) goto OnMax; } if(.@indx == 4 && (!getequiprandomoption(.@part,3,ROA_ID,getcharid(0)))) set .@indx,3; if(.@indx == 3 && (!getequiprandomoption(.@part,2,ROA_ID,getcharid(0)))) set .@indx,2; if(.@indx == 2 && (!getequiprandomoption(.@part,1,ROA_ID,getcharid(0)))) set .@indx,1; if(.@indx == 1 && (!getequiprandomoption(.@part,0,ROA_ID,getcharid(0)))) set .@indx,0; progressbar "ffff00",.Wait; if(.Currency){ if(Zeny < .Price) goto PriceFail; else set Zeny,Zeny-.Price; } else { if(#CASHPOINTS < .Price) goto PriceFail; else set #CASHPOINTS,#CASHPOINTS-.Price; } // Failed... if(.FailRate > 100) set .FailRate,100; if(rand(100) <= .FailRate) goto OnFailure; // Success!! setrandomoption(.@part,.@indx,.@opt,.@val,.@indx,getcharid(0)); end; OnMax: mes "[ Keitenai ]"; mes "Wow! your equip already"; mes "Maxed out its option"; mes "enchant slots!"; mes "Sorry but I can't add"; mes "any more enchantment with"; mes "your equipment."; close; OnFailure: specialeffect2 EF_PHARMACY_FAIL; mes "[ Keitenai ]"," "; mes "I'm really sorry..."," "; mes "^FF0000The process have failed..."; mes "Your item has been destroyed.^000000"; delequip .@part; close; PriceFail: mes "[ Keitenai ]"; mes "What's this?"; mes "Are you kidding me?"; mes "Sorry but I don't work"; mes "for free!"; mes "You can come back if you"; mes "Have enough to pay for"; mes "my service."; close; OnCancel: mes "[ Keitenai ]"; mes "Suit yourself."; mes "Let me know if you"; mes "ever changed you mind"; close; } This I have tested and it's working, I did try to separate the armor and weapon based. This is to separate the effect for Armor and Weapons, ex. Enchant Weapon with Ghost Property on an Armor!! -.- Here is the concerns : * Shield is equipped on the left hand, but it is considered an armor, So If I just set the array for Left and Right hand, the shield will still gain bonus for weapons. So if anyone would like to help on this??
  10. Are there still flux cp theme makers out there?? Fully coded ones?.. Probably Working on specifics or has a collection of on sale pre-made flux cp
  11. Ty so much sader, But I know this, I was asking if I turn that on.. Will that actually put all my item_db2_re, up on sql? so that my flux can read it and I can put my custom Items up for donation.
  12. so I was trying to add custom stuffs on the donation panel on flux cp, I succesfully added the sql's item_db_re and item_db2_re, now If I am not mistaken the item_db_re is where all the official items are, but there is nothing on the item_db2_re, so I can't add it on the shop on the fluxcp.. Now I have somethings in mind like , putting the items directly into item_db.txt, on db/re/item_db rather than on import but I don't know if that will work somehow, So might as well ask if there is a posibility to just add the all custom items from db/import/item_db on item_db2_re on the sql.
  13. https://github.com/rathena/rathena/blob/master/npc/custom/etc/mvp_room.txt It's on the github..
  14. It would be really nice to see this, fixed.. Tried it again today.. the first one was a success got my points and stuff, after that I had my cooldown set on 5 hours and re tried it again after 5 hours.. and the monster won't count again..
  15. What is the difference? should it be commented out? #define RENEWAL_DROP #define RENEWAL_DROP Cause I also have the problem, Its the other way around the MVP cards has a higher drop rate than normal cards.
  16. We'll as I have understand ragnarok database, you can't just make a costume out of an Item, It will never do that except : 1. That item has a mirror costume item.. ex. 5011 Aerial and it's counter part 20120 Costume Aerial.. (Which I think what you mean). 2, If you make a new item as a costume and manually add it on your database using this : https://github.com/rathena/rathena/wiki/Custom_Items PS : It's actually very easy to do that if you want. you can use the existing quest_shop script available npc/custom/quest/quest_shop.txt.. Here : Where Aerial Costume costs Aerial and Platinum Coin // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- //EXAMPLE Add(1,20120,1,0,0,5100,1,677,1); // ----------------------------------------------------------- Script is Here : https://github.com/rathena/rathena/blob/5f20c0ce0cbe4bc22b8bf1df9c36c0ef9a480ef3/npc/custom/quests/quest_shop.txt I hope I helped.!!
  17. This is fixed now :D, thanks @Emistry for that script.
  18. Yep , that is what I understood also. It's a very nice script hate to see it die.
  19. //===== rAthena Script ======================================= //= Hunting Missions //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Random hunting missions. //= Rewards are based on quest difficulty. //= //= NOTE: Requires SQL mob database. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.1 Small improvements and fixes. //= 1.2 Added party support and replaced blacklists with an //= SQL query, both thanks to AnnieRuru. //= 1.3 Re-added a blacklist adapted for the SQL query. //= 1.3a Added mission reset options. //= 1.3b Function updates. //= 1.4 Check for deleted characters, thanks to AnnieRuru. //= Syntax updates and style cleaning. //============================================================ prontera,152,187,6 script Hunting Missions 951,{ function Chk; mes "[Hunting Missions]"; mes "Hello, " + strcharinfo(0) + "!"; if (!#Mission_Delay) { next; mes "[Hunting Missions]"; mes "I can't find any records..."; mes "You must be new here!"; emotion e_omg; next; callsub Mission_Info; emotion e_go; #Mission_Delay = 1; close; } mes rand(2) ? "Working hard, as always..." : "Not slacking, I hope..."; mes "Is there anything I can help"; mes "you with?"; mes " "; mes "^777777~ You've completed " + callfunc("F_InsertPlural",Mission_Total,"mission",0,"^0055FF%d^777777 %s") + ". ~^000000"; next; switch(select( ((!Mission0) ? " ~ New Mission::" : ": ~ Mission Status: ~ Abandon Mission") + ": ~ Information: ~ Mission Shop: ~ View Top Hunters: ~ ^777777Cancel^000000" )) { case 1: mes "[Hunting Missions]"; if (#Mission_Count) { mes "You've started a mission"; mes "on another character."; if (!@hm_char_del_check) { // check for deleted character query_sql("SELECT 1 FROM `char_reg_num` WHERE `key` = 'Mission0' AND `char_id` IN(SELECT `char_id` FROM `char` WHERE `account_id` = " + getcharid(3) + ")", .@i); if (!.@i) { next; mes "[Hunting Missions]"; mes "I can't seem to find any records"; mes "for that character, though..."; mes "One moment, please."; emotion e_hmm; #Mission_Count = 0; } @hm_char_del_check = 1; } close; } if (#Mission_Delay > gettimetick(2) && .Delay) { mes "I'm afraid you'll have to wait " + callfunc("Time2Str",#Mission_Delay) + " before taking another mission."; close; } mes "You must hunt:"; query_sql("SELECT ID FROM `" + .mob_db$ + "` WHERE left(Sprite, 4) != 'meta' AND left(Sprite, 2) != 'E_' AND ~Mode & 32 AND EXP > 0 AND MVP1id = 0 AND DropCardid > 4000 AND DropCardid < 5000 AND ID < 2000 AND instr('"+.Blacklist$+"',ID) = 0 ORDER BY rand() LIMIT " + .Quests, .@mob); for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, .@mob[.@i]; setd "Mission" + .@i +"_", 0; } #Mission_Count = rand(.Count[0], .Count[1]); callsub Mission_Status; next; mes "[Hunting Missions]"; mes "Report back when"; mes "you've finished."; mes "Good luck!"; close; case 2: mes "[Hunting Missions]"; mes "Mission status:"; callsub Mission_Status; close; case 3: mes "[Hunting Missions]"; mes "Do you really want to"; mes "abandon your mission?"; if (.Reset < 0 && .Delay) mes "Your delay time will not be reset."; else if (.Reset > 0) mes "It will cost " + callfunc("F_InsertComma",.Reset) + " Zeny."; next; switch(select(" ~ Abandon...: ~ ^777777Cancel^000000")) { case 1: if (.Reset > 0) { if (Zeny < .Reset) { mes "[Hunting Missions]"; mes "You don't have enough"; mes "Zeny to drop this mission."; emotion e_sry; close; } Zeny -= .Reset; emotion e_cash; } mes "[Hunting Missions]"; mes "Alright, I've dropped"; mes "your current mission."; specialeffect2 EF_STORMKICK4; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission"+.@i, 0; setd "Mission"+.@i+"_", 0; } #Mission_Count = 0; if (.Reset < 0 && .Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); close; case 2: mes "[Hunting Missions]"; mes "I knew you were kidding!"; mes "Keep up the good work."; emotion e_heh; close; } case 4: callsub Mission_Info; close; case 5: mes "[Hunting Missions]"; mes "You have ^0055FF" + #Mission_Points + "^000000 Mission Points."; mes "Use them well!"; callshop "mission_shop",1; npcshopattach "mission_shop"; end; case 6: mes "[Hunting Missions]"; mes "The top hunters are:"; query_sql("SELECT char_id AS id, (SELECT `name` FROM `char` WHERE char_id = id),`value` FROM `char_reg_num` WHERE `key` = 'Mission_Total' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 5", .@id, .@name$, .@val); for (.@i = 0; .@i < 5; .@i++) mes " [Rank " + (.@i+1) + "] " + ((.@name$[.@i] == "") ? "^777777none" : "^0055FF" + .@name$[.@i]+"^000000 : ^FF0000" + .@val[.@i] + " pt.") + "^000000"; close; case 7: mes "[Hunting Missions]"; mes "Nothing? Okay..."; emotion e_hmm; close; } end; Mission_Status: @f = 0; deletearray .@j[0], getarraysize(.@j); for (.@i = 0; .@i < .Quests; .@i++) { .@j[.@i] = getd("Mission" + .@i); .@j[.Quests] = .@j[.Quests] + strmobinfo(3,.@j[.@i]); .@j[.Quests+1] = .@j[.Quests+1] + (strmobinfo(6,.@j[.@i]) / (getbattleflag("base_exp_rate") / 100) * .Modifier[0]); .@j[.Quests+2] = .@j[.Quests+2] + (strmobinfo(7,.@j[.@i]) / (getbattleflag("job_exp_rate") / 100) * .Modifier[1]); mes " > "+Chk(getd("Mission"+.@i+"_"),#Mission_Count) + strmobinfo(1,.@j[.@i]) + " (" + getd("Mission"+.@i+"_") + "/" + #Mission_Count + ")^000000"; } // Reward formulas: .@Mission_Points = 3 + (.@j[.Quests] / .Quests / 6); .@Base_Exp = #Mission_Count * .@j[.Quests+1] / 5; .@Job_Exp = #Mission_Count * .@j[.Quests+2] / 5; .@Zeny = #Mission_Count * .Quests * .@j[.@i] * .Modifier[2]; next; mes "[Hunting Missions]"; mes "Mission rewards:"; mes " > Mission Points: ^0055FF" + .@Mission_Points + "^000000"; mes " > Base Experience: ^0055FF" + callfunc("F_InsertComma",.@Base_Exp) + "^000000"; mes " > Job Experience: ^0055FF" + callfunc("F_InsertComma",.@Job_Exp) + "^000000"; mes " > Zeny: ^0055FF" + callfunc("F_InsertComma",.@Zeny) + "^000000"; if (@f) { @f = 0; return; } next; mes "[Hunting Missions]"; mes "Oh, you're done!"; mes "Good work."; mes "Here's your reward."; emotion e_no1; specialeffect2 EF_ANGEL; specialeffect2 EF_TRUESIGHT; #Mission_Points += .@Mission_Points; BaseExp += .@Base_Exp; JobExp += .@Job_Exp; Zeny += .@Zeny; for (.@i = 0; .@i < .Quests; .@i++) { setd "Mission" + .@i, 0; setd "Mission" + .@i+"_", 0; } #Mission_Count = 0; if (.Delay) #Mission_Delay = gettimetick(2) + (.Delay * 3600); Mission_Total++; if (Mission_Total == 1) query_sql("INSERT INTO `char_reg_num` (`char_id`,`key`,`index`,`value`) VALUES (" + getcharid(0) + ",'Mission_Total','0',1)"); else query_sql("UPDATE `char_reg_num` SET `value` = " + Mission_Total + " WHERE `char_id` = " + getcharid(0) + " AND `key` = 'Mission_Total'"); close; Mission_Info: mes "[Hunting Missions]"; mes "If you so choose, I can assign"; mes "you a random hunting quest."; mes "Some are easier than others, but"; mes "the rewards increase with difficulty."; next; mes "[Hunting Missions]"; mes "Missions points are shared"; mes "amongst all your characters."; if (.Delay) mes "Delay time is, too."; mes "You can't take missions on"; mes "multiple characters at once."; next; mes "[Hunting Missions]"; mes "You can start a quest"; mes (.Delay ? "every " + ((.Delay == 1) ? "hour." : .Delay + " hours.") : "whenever you want."); mes "That's everything~"; return; function Chk { if (getarg(0) < getarg(1)) { @f = 1; return "^FF0000"; } else return "^00FF00"; } OnBuyItem: @cost = 0; for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) for (.@j = 0; .@j < getarraysize(.Shop); .@j += 2) if (@bought_nameid[.@i] == .Shop[.@j]) { set @cost, @cost + (.Shop[.@j+1] * @bought_quantity[.@i]); break; } mes "[Hunting Missions]"; if (@cost > #Mission_Points) mes "You don't have enough Mission Points."; else { for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++) { getitem @bought_nameid[.@i], @bought_quantity[.@i]; dispbottom "Purchased " + @bought_quantity[.@i] + "x " + getitemname(@bought_nameid[.@i]) + "."; } #Mission_Points -= @cost; mes "Deal completed."; emotion e_cash; } @cost = 0; deletearray @bought_nameid[0], getarraysize(@bought_nameid); deletearray @bought_quantity[0], getarraysize(@bought_quantity); close; OnNPCKillEvent: if (!getcharid(1) || !.Party) { if (!#Mission_Count || !Mission0) end; for (.@i = 0; .@i < .Quests; .@i++) { if (strmobinfo(1,killedrid) == strmobinfo(1,getd("Mission" + .@i))) { if (getd("Mission" + .@i + "_") < #Mission_Count) { dispbottom "[Hunting Mission] Killed " + (set(getd("Mission" + .@i + "_"),getd("Mission" + .@i + "_") + 1)) + " of " + #Mission_Count + " " + strmobinfo(1,killedrid) + "."; end; } } } } else if (.Party) { .@mob = killedrid; getmapxy(.@map1$,.@x1,.@y1,UNITTYPE_PC); getpartymember getcharid(1),1; getpartymember getcharid(1),2; for (.@i = 0; .@i < $@partymembercount; .@i++) { if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) { set .@Mission_Count, getvar(#Mission_Count, $@partymembercid[.@i]); set .@Mission0, getvar(Mission0, $@partymembercid[.@i]); set .@HP, getvar(HP, $@partymembercid[.@i]); if (.@Mission_Count && .@Mission0 && .@HP > 0) { getmapxy(.@map2$,.@x2,.@y2,UNITTYPE_PC); if ((.@map1$ == .@map2$ || .Party == 1) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30 || .Party < 3)) { for (.@j = 0; .@j < .Quests; .@j++) { .@my_mob_id = getvar( getd("Mission"+.@j),$@partymembercid[.@i] ); .@my_count = getvar( getd("Mission"+.@j+"_"), $@partymembercid[.@i] ); if (strmobinfo(1,.@mob) == strmobinfo(1,.@my_mob_id)) { if (.@my_count < .@Mission_Count) { setd "Mission"+.@j+"_", (.@my_count+1), $@partymembercid[.@i]; dispbottom "[Hunting Mission] Killed " + (.@my_count+1) + " of " + .@Mission_Count + " " + strmobinfo(1,.@mob) + ".", 0x777777, $@partymembercid[.@i]; break; } } } } } } } } end; OnInit: .Delay = 12; // Quest delay, in hours (0 to disable). .Quests = 4; // Number of subquests per mission (increases rewards). .Party = 3; // Party options: 0 (exclude party kills), 1 (include party kills), 2 (same map only), 3 (screen area only) .Reset = -1; // Reset options: -1 (abandoning mission sets delay time), 0 (no delay time), [Zeny] (cost to abandon mission, no delay time) setarray .Count[0], // Min and max monsters per subquest (increases rewards). 40,70; setarray .Modifier[0], // Multipliers for Base Exp, Job Exp, and Zeny rewards. getbattleflag("base_exp_rate")/100,getbattleflag("job_exp_rate")/100,60; .mob_db$ = // Table name of SQL mob database (checkre(0))?"mob_db_re":"mob_db"; setarray .Shop[0], // Reward items: <ID>,<point cost> (about 10~20 points per hunt). 512,1,513,1,514,1,538,5,539,5,558,10,561,10; .Blacklist$ = // Blacklisted mob IDs. "1062,1088,1183,1186,1200,1212,1220,1221,1234,1235,"+ "1244,1245,1250,1268,1290,1293,1294,1296,1298,1299,"+ "1300,1301,1303,1304,1305,1306,1308,1309,1311,1313,"+ "1515,1588,1618,1676,1677,1678,1679,1796,1797,1974,"+ "1975,1976,1977,1978,1979"; npcshopdelitem "mission_shop",512; for (.@i = 0; .@i < getarraysize(.Shop); .@i += 2) npcshopadditem "mission_shop", .Shop[.@i], .Shop[.@i+1]; end; } - shop mission_shop -1,512:-1 I have been having a problem about the hunting missions, sometimes It's not reading the kills and when you do use zeny as payment for reset.. The monster doesnt count afterwards.
  20. That will most likely depend on the item dabase, for example . If you have boys cap.. you need boys cap costume also, and so on. And I would suggest using the quest_shop npc for the exchange
  21. It's still showing the same problem @Skorm , The Headgears are still positioned on the armor part of the script, and now the costume shows on the accessory part
  22. //===== rAthena Script ============================================ //= Enchantment System //===== By: ======================================================= //= Kenedos //===== Current Version: ========================================== //= 1.0 //===== Compatible With: ========================================== //= rAthena SQL/TXT //===== Description: ============================================== //= Uses the 2nd, 3rd and 4th slot on armors (headgears, footgears //= garments, shields and armors) to add extra bonus status and //= diverse attributes. //===== Topic ===================================================== //= Unknown //===== Additional Comments: ====================================== //= BE WARNED : The use of decarder NPCs, Sign your Name on items //= NPCs and any other kind of NPC that make use of the extra armor //= slots will bug this whole system. Also make sure every armor //= in your server only have 1 slot at max, otherwise it will also //= cause unexpected behaviour. //= //= If you wish to change the GM level to access the command menu, //= just find the command "getgmlevel()" in this script. //= It is located a few lines bellow the header. //= //= If you wish to change the cost for the Power Stones, look for //= the "MvP Power Stone Conversion Table" in the end of the script. //================================================================= quiz_00,17,124,4 script Katonai 821,{ mes .npc$; mes "Hello there!"; mes "I can enchant your items,"; mes "for a small fee of "+.pric+"z."; emotion e_no1,0; next; if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } if(Zeny<.pric) { mes .npc$; mes "I'm sorry you don't have enough Zeny, please come back later."; close; } mes .npc$; mes "Which item would you like to enchant?"; next; while(set(.@a,.@a+1)<=.e_len) { if(getequipid(.@a)>-1) set .@menu$, .@menu$+.eqp$[.@a-1]+"- [^0000FF"+getitemname(getequipid(.@a))+"^000000]:"; else set .@menu$, .@menu$+"^adb4be"+.eqp$[.@a-1]+"- [Empty]^000000:"; } select(.@menu$); set .@eq_loc, @menu; set .@eq_itm, getequipid(.@eq_loc); if(.@eq_itm<0) { mes .npc$; mes "Hmm, I don't think you have anything equipped there."; close; } set .@menu$, ""; set(.@eq,(getiteminfo(.@eq_itm,2)==4?4:.@eq_loc)); for(set(.@b,0);.@b<getarraysize(getd(".itm"+.@eq));set(.@b,.@b+1)) { set(.@items,getd(".itm"+.@eq+"["+.@b+"]")); if(getiteminfo(.@items,2)>-1) if(set(.@c,countitem(.@items))) { set .@menu$, .@menu$+getitemname(.@items)+" x"+.@c+":"; set .@b,.@b+1; set .@item[.@b], .@items; } } if(.@menu$=="") { mes .npc$; mes "Hmm, you don't seem to have any enchantment orbs for that equipment."; close; } mes .npc$; mes "Please, select an enchantment from the menu."; next; select(.@menu$); set .@itm, .@item[@menu]; set .@menu$, ""; set .@a, 0; while((set(.@a,.@a+1)-1)<4) { setd(".@crd"+.@a, getequipcardid(.@eq_loc,.@a-1)); if(getequipcardid(.@eq_loc,.@a-1)) set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^a92435"+getitemname(getequipcardid(.@eq_loc,.@a-1))+"^000000]:"; else set .@menu$, .@menu$+.@a+.crd_c$[.@a-1]+" Slot- [^30ad25Empty^000000]:"; } mes .npc$; mes "Select a slot."; next; set(.@slot,select(.@menu$)-1); set .@eqrf, getequiprefinerycnt(.@eq_loc); if(getequipcardid(.@eq_loc,.@slot)) { mes .npc$; mes "Would you like me to remove this card?"; next; if(select("Yes:No")&2) { mes .npc$; mes "Alright, thanks anyways!"; close; } getitem getequipcardid(.@eq_loc,.@slot),1; delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4; setd(".@crd"+(@menu+1), 0); getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4; } if(rand(101)>.perc[.@slot]) { mes .npc$; mes "I'm sorry but I've failed you!"; misceffect 155; emotion e_sob,0; set Zeny,Zeny-.pric; close; } set Zeny,Zeny-.pric; delitem .@itm,1; delitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4; setd(".@crd"+(@menu+1), .@itm); getitem2 .@eq_itm, 1, 1, .@eqrf, 0, .@crd1, .@crd2, .@crd3, .@crd4; misceffect .efet; emotion e_no1,0; mes .npc$; mes "All done!"; equip .@eq_itm; close; //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .npc$ , "[^0000FFEnchant Expert^000000]"; // NPC Name set .pric , 1000000; // Price set .efet , 154; // Effect Number setarray .perc , 100,80,50,10; // Percent slot setarray .crd_c$, "st", "nd", "rd", "th"; // Count setarray .itm32 , 4760; // Sheilds setarray .itm16 , 4761; // Armor setarray .itm4 , 4762; // Garment setarray .itm64 , 4763, 4764; // Footgear setarray .itm128 , 4765; // Accessory1 setarray .itm10 , 4766; // Accessory2 setarray .itm2 , 4765; // Weapon setarray .itm1 , 4766; // Low Headgear setarray .itm512 , 4767; // Mid Headgear setarray .itm256 , 4767; // Upper Headgear setarray .eqp$ , "Upper Headgear", "Mid Headgear", "Low Headgear", "Armor", "Left Hand", "Right Hand", "Garment", "Shoes", "Accessory1", "Accessory2"; set .e_len , getarraysize(.eqp$); //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= } This was the code, yep I have been fiddling with it, but I think the costume part of the inventory is also making a mess on it. I had tried every thing I know lol,
  23. //NPC Constants OnInit: //=-=-=-=-=-=-=Configuration=-=-=-=-=-=-= set .npc$ , "[^0000FFEnchant Expert^000000]"; // NPC Name set .pric , 1000000; // Price set .efet , 154; // Effect Number setarray .perc , 100,80,50,10; // Percent slot setarray .crd_c$, "st", "nd", "rd", "th"; // Count setarray .itm32 , 4760; // Sheilds setarray .itm16 , 4761; // Armor setarray .itm4 , 4762; // Garment setarray .itm64 , 4763, 4764; // Footgear setarray .itm128 , 4765; // Accessory1 setarray .itm10 , 4766; // Accessory2 setarray .itm2 , 4765; // Weapon setarray .itm1 , 4766; // Low Headgear setarray .itm512 , 4767; // Mid Headgear setarray .itm256 , 4767; // Upper Headgear setarray .eqp$ , "Upper Headgear", "Mid Headgear", "Low Headgear", "Armor", "Left Hand", "Right Hand", "Garment", "Shoes", "Accessory1", "Accessory2"; set .e_len , getarraysize(.eqp$); //=-=-=-=-=-=-=-=-Skorm-=-=-=-=-=-=-=-=-= } This is skorm's Enchanter NPC, I just want to ask some help to properly re-udjust the locations of this on the menu,, Because it shows that the LOWER HGear is on the position of ARMOR, I have checked the forums and the wiki for location specifics but I can't find it. Anyone can help?
×
×
  • Create New...