

HristDead
Members-
Posts
167 -
Joined
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Everything posted by HristDead
-
Hi everyone, I have a problem with my exp bar. I've followed every instruction in this link: https://gist.github.com/cydh/d82a06472f12c4ec7f38ab3de22fe86b but so far nothing works to get rid of it. Max level is fine but it still shows (base) exp gain even if I am max level. Job works fine as you see. Here's my job_exp table for what it's worth: //Base - Normal and Baby Jobs 150,0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:23:24:25:4023:4024:4025:4026:4027:4028:4029:4030:4031:4032:4033:4034:4035:4036:4037:4038:4039:4040:4041:4042:4043:4044:4045:4046:4047:4048:4049:4050:4051:4052,0,9,16,25,36,77,112,153,200,253,320,385,490,585,700,830,970,1120,1260,1420,1620,1860,1990,2240,2504,2950,3426,3934,4474,6889,7995,9174,10425,11748,13967,15775,17678,19677,21773,30543,34212,38065,42102,46323,53026,58419,64041,69892,75973,102468,115254,128692,142784,157528,178184,196300,215198,234879,255341,330188,365914,403224,442116,482590,536948,585191,635278,687211,740988,925400,1473746,1594058,1718928,1848355,1982340,2230113,2386162,2547417,2713878,3206160,3681024,4022472,4377024,4744680,5125440,5767272,6204000,6655464,7121664,7602600,9738720,11649960,13643520,18339300,23836800,35658000,48687000,58135000,99999998,39900000,41800000,43700000,45600000,47500000,49400000,51300000,53200000,55100000,57000000,58900000,60800000,62700000,64600000,66500000,68400000,70300000,72200000,74100000,76000000,77900000,79800000,81700000,83600000,85500000,87400000,89300000,91200000,93100000,95000000,96900000,98800000,110700000,122600000,134500000,146400000,158300000,186200000,202100000,214000000,225900000,237800000,249700000,251600000,263500000,275400000,287300000,299200000,3101100000,3203000000,3304900000,999999999 //Base - Trans Jobs 150,4001:4002:4003:4004:4005:4006:4007:4008:4009:4010:4011:4012:4013:4014:4015:4016:4017:4018:4019:4020:4021:4022,0,10,18,28,40,85,123,168,220,278,400,481,613,731,875,1038,1213,1400,1575,1775,2268,2604,2786,3136,3506,4130,4796,5508,6264,9645,12392,14220,16159,18209,21649,24451,27401,30499,33748,47342,58160,64711,71573,78749,90144,99312,108870,118816,129154,174196,213220,238080,264150,291427,329640,363155,398116,434526,472381,610848,731828,806448,884232,965180,1073896,1170382,1270556,1374422,1481976,1850800,3389616,3666333,3953534,4251217,4559382,5129260,5488173,5859059,6241919,7374168,9570662,10458427,11380262,12336168,13326144,14994907,16130400,17304206,18516326,19766760,29216160,34949880,40930560,55017900,71510400,106974000,146061000,174405000,343210000,39900000,41800000,43700000,45600000,47500000,49400000,51300000,53200000,55100000,57000000,58900000,60800000,62700000,64600000,66500000,68400000,70300000,72200000,74100000,76000000,77900000,79800000,81700000,83600000,85500000,87400000,89300000,91200000,93100000,95000000,96900000,98800000,110700000,122600000,134500000,146400000,158300000,186200000,202100000,214000000,225900000,237800000,249700000,251600000,263500000,275400000,287300000,299200000,3101100000,3203000000,3304900000,999999999
-
I would love to have this for the current revision. Would any generous dev care to update it please? ?
-
How important is 'ClassNum' field in iteminfo.lub?
HristDead replied to HristDead's question in Client-side Support
Hi. Thanks Sader. I get that. However that still doesn't explain why my costumes work if the view ID in 'Classum' (iteminfo.lub) does not correspond with the view IDs i've set in the item_db.txt and accessoryid.lub. Shouldn't they be blank if it doesn't correspond? ? I'm asking because I have hundreds of costumes and prefer not editing the view IDs in iteminfo.lub as you might imagine, but I don't know if keeping the old (4500s) view IDs will screw anything up if I do. -
How important is 'ClassNum' field in iteminfo.lub?
HristDead posted a question in Client-side Support
Hi rAthena, I noticed something interesting today when I was fixing up some costumes. I was obligated to change the view ID range of them because the range I choose (4500s) weren't working, so I went for 2600s instead. Right so I changed the view IDs in item_db.txt and in accessoryid.lub, then rebooted my server to see if that did the trick. To my surprise, they show up fine now... I find it pretty weird because the (iteminfo.lub's) ClassNum of the costumes haven't been changed yet/are still in the 4500s range. Which makes me wonder... Actually how important is setting the ClassNum field for headgears/costumes? I was certain it needed to correspond with the view ID defined in the other files. Could someone shed some light? ? My client is 2016-12-28aRagexeRE -
Dress Changer & Breeder. How to have it work properly?
HristDead posted a question in Scripting Support
Hello rAthena! May I ask? I am using Secret's dress room to switch outfits and was wondering how to make the breeder work along with this properly? Secret's dress changer only switches the character's sprite/appearance so when I click the breeder it would recognize the characters that have got a third job sprite as non-third jobs, which means that they are given falcons, pecos and carts rather than wargs, dragons/gryphons and mado gear. Is there a way I can have it recognize their (third) class sprite some way and be given the correct rental facility? Thanks a lot. ? prontera,155,180,3 script Universal Rental NPC 469,{ if (ismounting()) { message strcharinfo(0),"You must first remove your mount."; end; } else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124)) { if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) { if(select(" ~ Falcon: ~ Warg")==1) setfalcon; else getitem 6124,1; } else getitem 6124,1; } else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart() && getskilllv("MC_PUSHCART")) { if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) { if(select(" ~ Cart: ~ Mado")==1) setcart; else setmadogear; } else setcart; } else if (!checkcart() && getskilllv("MC_PUSHCART")) setcart; else if (!checkfalcon() && getskilllv("HT_FALCON") && !checkwug()) setfalcon; else if (!checkriding() && getskilllv("KN_RIDING")) { if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon; else setriding; } else if (!checkmadogear() && getskilllv("NC_MADOLICENCE")) setmadogear; else { message strcharinfo(0),"You do not meet requirements to rent."; end; } specialeffect2 276; end; } -
Hi rAthena! I'm trying to create a script were the top 3 MvP players get 3x Old card album. Everything seems to go well, the table truncates fine but the issue is that the reward isn't put in the players inventory. What did I do wrong? MvPRank: mes "This will clear the current MvP ranking."; menu "Do it!",-; next; mes "[Rank Controller]"; mes "Inserting prize for Top 3 Player..."; query_sql( "SELECT `char_id`, `key`, `value` FROM `char_reg_num` ORDER BY `value` DESC LIMIT 3",.@char_idmvp, .@key, .@Count ); query_sql( "INSERT INTO `inventory` (`char_id`, `nameid`, `amount`, `equip`, `identify`) VALUES ("+.@char_idmvp+", "+617+", "+3+", 0, 1)"); sleep2 500; mes "Truncating MvP ranking tables...."; query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'MVP_Rank'"); sleep2 1000; mes "All done~"; close;
-
Wow, thanks Stalao. That's really kind of you! My client version is 2013 08 07. It still supports the mail box system.
-
Hey rAthena. I've been breaking my head about this for the past 2 hours. Someone care to take a look at it? I'm using the online peak NPC but want that, when a new peak is reached, every player gets 5x one type of the items in ".@RandItem[0]" array. I use a query to store the items in their storage but it simply isn't happening. The announcement is working fine and the server doesn't return any kind of error. What am I doing wrong here? I've tried different combinations of ".@RandItem" Thanks in advance - script Highest Peak -1,{ OnPCLoginEvent: // Assign current number of online players sleep 1000; .onlineusers = getusers(1); // Today's date .date$ = gettime(DT_YEAR)+"-"+gettime(DT_MONTH)+"-"+gettime(DT_DAYOFMONTH); // Query for the highest peak in the database query_sql("SELECT `users` FROM `" + .sqltable$ + "` ORDER BY `users` LIMIT 1",.@countusers); if(getarraysize(.@countusers) == 0) { // There doesn't seem to be a row in our table, so lets create one query_sql("INSERT INTO `" + .sqltable$ + "` (`users`, `date`) VALUES (" + .onlineusers + ", '" + .date$ + "')"); } else { if(.onlineusers > .@countusers[0]) { // This is where we check if we want to announce a new peak if(.displaypeakannounce == 1){ announce "[ Server ] We have reached a new population peak, we now have "+.onlineusers+" online players! Therefore we've decided to give you all a little surprise, re-log and check your storage to find out what it is!~ ",bc_all; // Replace the query_sql "INSERT INTO `storage` (`id`, `account_id`, `nameid`, `amount`, `equip`, `identify`, `refine`, `attribute`, `card0`, `card1`, `card2`, `card3`, `expire_time`, `unique_id`) "+ "SELECT NULL, `login`.`account_id`, '.@RandItem', '5', '0', '1', '0', '0', '0', '0', '0', '0', '0', '0' FROM `login` WHERE `account_id` > 1"; } // Now lets update the table with our new player peak query_sql("UPDATE `" + .sqltable$ + "` SET `users` = '" + .onlineusers + "', `date` = '" + .date$ + "'"); } } end; OnInit: // CONFIGS // We need an SQL table name first .sqltable$ = "cp_onlinepeak"; // Would you like an announcement when you reach a higher peak? // 1 = Yes // 0 = No .displaypeakannounce = 1; // ITEM REWARD // 14534 = Medium life potion // 12299 = Mega resist potion // 12354 = Buche de Noel // 12196 = Plain Rice Cake // 12123 = Honey Pastry setarray .@RandItem[0],14534,12299,12354,12195,12123; set .@RandItemCount,getarraysize(.@RandItem); //getitem(.@Randitem[rand(.@RandItemCount)],5); - We will use SQL so this will not be important. // END CONFIGS }
-
'Only once' and 'daily' mission don't work as intended.
HristDead posted a question in Scripting Support
Hey rA, Can anyone help? I'm using Annieruru's mission board but the daily and only once functions do not work the first time when you complete the mission. If you complete it once, you can complete it again, and only after completing it a second time, it will be labeled as completed. This applies both for daily and only once. If someone can help me fix it, I'd be forever grateful. Thanks Mission.txt -
PK Area, script not functioning as it should
HristDead replied to HristDead's question in Scripting Support
It works now thanks!! -
PK Area, script not functioning as it should
HristDead replied to HristDead's question in Scripting Support
It still doesn't work sir. This is the script im using now (without tabs): prontera,202,167,0 script killable -1,8,8,{ OnTouch: if (!@killable) { @killable = 1; // Variable for keeping track of the status atcommand "@killable"; // Don't remember if it needed a parameter, I think it doesn't addtimer 1000, strnpcinfo(3)+"::OnKillable"; // Will check after a second } end; OnKillable: getmapxy(.@map$, .@x, .@y, 0); if ((.@map$ != "prontera" || .@x < 194 || .@x > 210 || .@y < 159 || .@y > 175)) { // Out of the area of effect in Y side @killable = 0; atcommand "@killable"; // Don't remember if it needed a parameter, I think it doesn't } else addtimercount 1000, strnpcinfo(3)+"::OnKillable"; // Will check again after a second until player goes out of the square end; } But the map server says this: Any idea? thanks for your help -
PK Area, script not functioning as it should
HristDead replied to HristDead's question in Scripting Support
Tried this but now the map server says "script:op_2: invalid data for operator C_NE" >.< -
PK Area, script not functioning as it should
HristDead replied to HristDead's question in Scripting Support
Hi. Thank you but ive already done this and killable still doesnt disable upon leaving the area. Anything else that could be wrong? -
Hi. someone of another community (Jabote) made this script, but it doesnt seem functional. it is suppose to enable killable in a certain cell and that it does but it remains enabled when i leave the circle/cords. Does anyone know how to disable it upon leaving the cords? Thanks in advance prontera,202,167,0 script killable -1,8,8,{ OnTouch: if (!@killable) { @killable = 1; // Variable for keeping track of the status atcommand "@killable"; // Don't remember if it needed a parameter, I think it doesn't addtimer 1000, strnpcinfo(3)+"OnKillable"; // Will check after a second } end; OnKillable: getmapxy(.@map$, .@x, .@y, 0); if ((.@map$ != prontera || .@x < 202 - 8 || .@x < 202 + 8 || .@y < 167 - 8 || .@y < 167 + 8)) { // Out of the area of effect in Y side @killable = 0; atcommand "@killable"; // Don't remember if it needed a parameter, I think it doesn't } else addtimercount 1000, strnpcinfo(3)+"OnKillable"; // Will check again after a second until player goes out of the square end; }
-
Help with item/suit script to change into 2nd job please?
HristDead replied to HristDead's question in Scripting Support
Ah thank you so much Capuche! On a similar note, do you know by any chance how to block it from using while the character is riding? (Peco or mount) Currently, if a mounted character uses the suit item, you don't see his mount when he is mounted. I tried something like If(ismounting()) dispbottom "You can't use this item now!"; but that didn't work. xD If that's too much, then disregard what I said. I am already happy with the answer on my first problem! -
Help with item/suit script to change into 2nd job please?
HristDead posted a question in Scripting Support
Hello rAthena I am using this script and it works perfectly. But now what I need is another item script that works similar, except instead of a third class, i want it to changes the player's appearance into it's second job. I.e: Lord knight that wear this suit gets the appearance of a knight. Original (working) script for trans to third class appearance: { if(roclass(eaclass()|EAJL_UPPER)) changebase roclass(eaclass()|EAJL_THIRD); },{},{ if(roclass(eaclass()|EAJL_THIRD)) changebase roclass(eaclass()|EAJL_UPPER); } Other (not working) script. It gave me an error of class -1 not exist or something.. : { if(roclass(eaclass()|EAJL_UPPER)) changebase roclass(eaclass()|EAJL_2); },{},{ if(roclass(eaclass()|EAJL_2)) changebase roclass(eaclass()|EAJL_UPPER); } __________________ What exactly did I do wrong? Thanks a lot -
Script not working properly. Always recognizing item.
HristDead replied to HristDead's question in Scripting Support
using hercules. probably not possible like this with hercules, right? I got it working with SQL but I had to alter the map server.conf auto save time. I'm a bit scared that with many players, my server will be overload. Hercules should actually have a better way of doing it, I will look into it for you Herc doesnt have checkcart command sadly but thanks >.< The problem with SQL query with this.. it only saves the sql db once every X minutes unless i change the settings in my map-server.conf, but I'm affraid that'll overload my server with many online players. -
Script not working properly. Always recognizing item.
HristDead replied to HristDead's question in Scripting Support
using hercules. probably not possible like this with hercules, right? I got it working with SQL but I had to alter the map server.conf auto save time. I'm a bit scared that with many players, my server will be overload. -
Script not working properly. Always recognizing item.
HristDead replied to HristDead's question in Scripting Support
Hi emistry senpai. I tried your script but I have an error here on this line. Any idea?: -
Script not working properly. Always recognizing item.
HristDead replied to HristDead's question in Scripting Support
Too many items.. and I already listed down all the id's. I am using map_zone_db.conf (hercules) which work on item names and not id's. -
Script not working properly. Always recognizing item.
HristDead posted a question in Scripting Support
Hi I have this script and can't figure out what the problem is. what it does is count items in the loadmapevent and warping back the player when the items are in the array. I have also tried to add in a cart check, but it always seems to find a brynhild (2383) in my cart? I know it's in the array but it even finds it when my cart is empty.. What did I do wrong? Please help me great scripters. - script Vanilla1 -1,{ OnPCLoadMapEvent: getmapxy(.@map$,.@mapx,.@mapy,0); if(.@map$ == "prtg_cas01"){ for(set .@i,0; .@i < getarraysize(.itemcheck); set .@i, .@i + 1){ if(countitem(.itemcheck[.@i])){ dispbottom "[ Info ] : item ["+getitemname(.itemcheck[.@i])+"] found (Inventory). Kicking.."; warp "prontera",200,180; end; } query_sql("SELECT `nameid` FROM `cart_inventory` WHERE `char_id` = " + getcharid(0), .itemcheck[0]); dispbottom "[ Info ] : item ["+getitemname(.itemcheck[.@i])+"] found (Cart). Kicking.."; warp "prontera",200,180; end; } } end; OnInit: setarray .itemcheck[0],2383,2204,20025,20026,20027,20028,20029,20030,20031,20032,20033; end; } prtg_cas01 mapflag loadevent -
Exploitable build manager, help please.
HristDead replied to HristDead's question in Scripting Support
Thanks emistry that worked great! I have two more questions if thats ok. How to also add extended classes to that check?? I only want it to work for trans classes and extended classes but I cant find the code in the link you give. Tried this but doesnt work: if( BaseLevel < 99 && !( eaclass() & EAJL_UPPER & EAJ_NINJA & EAJ_GUNSLINGER & EAJ_TAEKWON ) ){ the other question is can i reset previous made builds? a lot of players have the bugged build saved with 4x 99 stats. Thanks so much. ^__~ -
Exploitable build manager, help please.
HristDead replied to HristDead's question in Scripting Support
Thanks Emistry, works! How to make it only usable by trans and exented classes? i tried this but it doesnt work. it blocks even trans classes. if( BaseLevel < 99 || EAJL_2 || EAJL_1 ){ mes "Only level 99 trans and exented char can use."; close; } -
Exploitable build manager, help please.
HristDead replied to HristDead's question in Scripting Support
Hi sir Emistry. That also restricts them from resetting stats/skills... what i want is only the actual build saving/switching option to be available for 99/70 trans and extended classes. i tried to put it after "case 1:" but it did not work. -
Hello rathena! is someone so kind to help me? I am using emistry's build manager but the problem is that as soon as i save a build with a level 99 non-trans character, reborn and restore my build I will have 2x 99 stats as a novice high!! and on top of that comes the extra 2x 99 stats that i am able to get as a reborn 99/70 class, which results in me being able to get almost 4x 99stats! I really need assistance please! can someone help me only make the build save option only available for level 99/70/50 trans characters and max level extended classes? thank you so much! I really appreciate it! header function ManageBuild; mes "[Stat & Skill Manager]"; mes "Good day, what can I do for you?"; next; if ( Weight > 25000 ){ mes "[Stat & Skill Manager]"; mes "Oh, I can't help you! I can only help you if your weight is below 2000. Please store some items first!"; close; } if (checkfalcon() || checkcart() || checkriding()){ mes "[Stat & Skill Manager]"; mes "Oh, I can't help you. Please remove your Falcon, Cart or Peco first."; close; } switch( select( ( .BMMode & 1 )?"^FF0000Create or switch builds^000000":"", ( .BMMode & 2 )?"^0000FFReset Stat^000000":"", ( .BMMode & 4 )?"^0000FFReset Skills^000000":"")){ Case 1: for( set .@i,1; .@i <= .MaxSlots; set .@i,.@i + 1 ) set .@Menu$,.@Menu$ + (( getd( "Slot_"+.@i+"$" ) == "" )?"^FF0000Empty Slot^000000":getd( "Slot_"+.@i+"$" ) )+":"; set .@Slot,select( .@Menu$ ); do{ next; mes "Build : ^FF0000"+(( getd( "Slot_"+.@Slot+"$" ) == "" )?"Slot "+.@Slot:getd( "Slot_"+.@Slot+"$" ) )+"^000000"; mes "STR - ^0000FF"+getd( "STR_"+.@Slot )+"^000000 INT - ^0000FF"+getd( "INT_"+.@Slot )+"^000000"; mes "AGI - ^0000FF"+getd( "AGI_"+.@Slot )+"^000000 DEX - ^0000FF"+getd( "DEX_"+.@Slot )+"^000000"; mes "VIT - ^0000FF"+getd( "VIT_"+.@Slot )+"^000000 LUK - ^0000FF"+getd( "LUK_"+.@Slot )+"^000000"; mes " "; mes "Remaining Points : ^0000FF"+getd( "STATS_"+.@Slot )+"^000000"; set .@Option,select(( getd( "Slot_"+.@Slot+"$" ) == "" )?"":"^0000FFSwitch", ( getd( "Slot_"+.@Slot+"$" ) == "" )?"Save":"", ( getd( "Slot_"+.@Slot+"$" ) == "" )?"":"^FF0000Clear" ); ManageBuild( .@Slot,.@Option); }while( .@Option != 1 ); break; Case 2: ResetStatus; mes "[Stat & Skill Manager]"; mes "Your Stats have been reset."; break; Case 3: ResetSkill; mes "[Stat & Skill Manager]"; mes "Your Skills have been reset."; break; } close; function ManageBuild { switch( getarg(1) ){ Case 1: // Switch Build message strcharinfo(0),"Build has been switched!"; ResetStatus; set StatusPoint,getd( "STATS_"+getarg(0) ); statusup2 bStr,getd( "STR_"+getarg(0) ) - 1; statusup2 bAgi,getd( "AGI_"+getarg(0) ) - 1; statusup2 bVit,getd( "VIT_"+getarg(0) ) - 1; statusup2 bInt,getd( "INT_"+getarg(0) ) - 1; statusup2 bDex,getd( "DEX_"+getarg(0) ) - 1; statusup2 bLuk,getd( "LUK_"+getarg(0) ) - 1; break; Case 2: // Save Build setd( "STR_"+getarg(0) ),readparam(bStr); setd( "AGI_"+getarg(0) ),readparam(bAgi); setd( "VIT_"+getarg(0) ),readparam(bVIT); setd( "INT_"+getarg(0) ),readparam(bInt); setd( "DEX_"+getarg(0) ),readparam(bDex); setd( "LUK_"+getarg(0) ),readparam(bLuk); setd( "STATS_"+getarg(0) ),StatusPoint; if( .Length[0] < .Length[1] && .Length[0] ){ mes "Input a ^FF0000Name^000000 for this Slot."; mes "Name Length : "+.Length[0]+" ~ "+.Length[1]+" Chars"; do{ input getd( "Slot_"+getarg(0)+"$" ); }while( getstrlen( getd( "Slot_"+getarg(0)+"$" ) ) < .Length[0] || getstrlen( getd( "Slot_"+getarg(0)+"$" ) ) > .Length[1] ); }else{ setd( "Slot_"+getarg(0)+"$" ),"Build "+getarg(0); } message strcharinfo(0),"Build has been saved!"; break; Case 3: // Remove Build message strcharinfo(0),"Build has been cleared!"; setd( "STR_"+getarg(0) ),0; setd( "AGI_"+getarg(0) ),0; setd( "VIT_"+getarg(0) ),0; setd( "INT_"+getarg(0) ),0; setd( "DEX_"+getarg(0) ),0; setd( "LUK_"+getarg(0) ),0; setd( "STATS_"+getarg(0) ),0; setd( "Slot_"+getarg(0)+"$" ),""; break; } return; } OnInit: // Mode of NPC // 1 = Save & Switch // 2 = Reset Status // 4 = Reset Skills // 7 = All of Above [ 1+2+4 = 7 ] set .BMMode,7; // How Many Slots available to Save Status Builds. set .MaxSlots,4; // Enable Stats Slot Rename + Max Name Length ( 0 = Disable ) setarray .Length,3,26; // Min. ~ Max. Words. end; } } }