• Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

Community Reputation

13 Good


About Jhedzkie

  • Rank
  • Birthday 04/24/1992

Profile Information

  • Gender
  • Location
    Cavite, Philippines

Recent Profile Visitors

3,143 profile views
  1. How did you figure that out? Did you try on all droppable armor and weapon?
  2. Yep. That's really a problem when you do it via scripting. That's why this proposal is more geared towards modifying the source. I have successfully implemented it with my trunk but I am currently getting issues when using @reloaditemdb and it crashes the map server. Other than that, the way the item is being dropped by mobs with random options based on what I have explained above, works; Including the randomized values. It's following the structure below. // <randopt_groupid>,<rate>,<randopt_id1>,<randopt_value_min1>,<randopt_value_max1>,{<randopt_id2>,<randopt_value_min2>,<randopt_value_max2>,...} I am still looking for that hitch that crashes the map server everytime I @reloaditemdb.
  3. For a number of times this question has been asked. How do you implement the new cart sprites in pre-renewal mode. Modified said values to be > 90. Tried everything, even resorted to removing the checks for NEW_CARTS just to be really sure. Recompiled countless times. And still nothing happens. Can somebody answer this question once and for all? Thanks. EDIT: As I am experimenting, I tried to change my setup from 99/70 to 255/120 by changing MAX_LEVEL values. And as I tried it out, new carts became available And please, dont tell me I forgot or I do not know how to recompile. I wouldn't be able to set MAX_LEVEL to 255 without recompiling. Alright? . . . So. Is there anywhere else I have to edit to remove the level requirements for NEW_CARTS? Or does this have something to do with the client itself? Please enlighten me. Thanks. EDIT 2: Yep. Can Confirm. I settled with this and just modified job_exp.txt to limit level to 99 while supporting up to 255. With the piece of code above, it still just shows up to 5 carts at level 99. I already did a clean and build (deleting also other build stuff .pdb/.ilk in the trunk folder before doing the compile. It still does nothing. Makes me believe that it has something to do with the client itself. I am using 2015-11-04aRagexe.exe. I am not 100% sure about this but since source should be working without a hitch, it does not. I am ultimately out of options now. Any help would be appreciated.
  4. Well, that was exactly what I am talking about. Having to have 3 separate files for combinations just for a specific slot is totally inefficient. And taking note of what Nitrous said on one post... The structure of your database should be something like... // <randopt_groupid>,<slot>,<rate>,<randopt_id1>,<randopt_value_min1>,<randopt_value_max1>,{<randopt_id2>,<randopt_value_min2>,<randopt_value_max2>,...} I intentionally removed the <param> field as to have a cleaner implementation, while taking note of the need to have said field in the structure. Thus making your whole file just one line each group. Slot 1 RDMOPTG_ViciousMind_Weapon,1,1,RDMOPT_VAR_STRAMOUNT,1,10,RDMOPT_VAR_AGIAMOUNT,1,10,RDMOPT_VAR_VITAMOUNT,1,10,RDMOPT_VAR_INTAMOUNT,1,10,RDMOPT_VAR_DEXAMOUNT,1,10,RDMOPT_VAR_LUKAMOUNT,1,10,RDMOPT_VAR_ATTPOWER,4,47,RDMOPT_VAR_CRITICALSUCCESSVALUE,10,19,RDMOPT_DAMAGE_CRI_TARGET,1,20,RDMOPT_VAR_PLUSASPDPERCENT,1,5,RDMOPT_DEC_SPELL_CAST_TIME,1,20,RDMOPT_DEC_SPELL_DELAY_TIME,5,20 RDMOPTG_ViciousMind_MWeapon,1,1,RDMOPT_VAR_STRAMOUNT,1,10,RDMOPT_VAR_AGIAMOUNT,1,10,RDMOPT_VAR_VITAMOUNT,1,10,RDMOPT_VAR_INTAMOUNT,1,10,RDMOPT_VAR_DEXAMOUNT,1,10,RDMOPT_VAR_LUKAMOUNT,1,10,RDMOPT_VAR_ATTMPOWER,4,47,RDMOPT_DEC_SPELL_CAST_TIME,1,20,RDMOPT_DEC_SPELL_DELAY_TIME,5,20 Slot 2 RDMOPTG_ViciousMind_Weapon,2,1,RDMOPT_VAR_STRAMOUNT,1,10,RDMOPT_VAR_AGIAMOUNT,1,10,RDMOPT_VAR_VITAMOUNT,1,10,RDMOPT_VAR_INTAMOUNT,1,10,RDMOPT_VAR_DEXAMOUNT,1,10,RDMOPT_VAR_LUKAMOUNT,1,10,RDMOPT_VAR_ATTPOWER,4,47,RDMOPT_VAR_CRITICALSUCCESSVALUE,10,19,RDMOPT_DAMAGE_CRI_TARGET,1,20,RDMOPT_VAR_PLUSASPDPERCENT,1,5,RDMOPT_DEC_SPELL_CAST_TIME,1,20,RDMOPT_DEC_SPELL_DELAY_TIME,5,20 RDMOPTG_ViciousMind_MWeapon,2,1,RDMOPT_VAR_STRAMOUNT,1,10,RDMOPT_VAR_AGIAMOUNT,1,10,RDMOPT_VAR_VITAMOUNT,1,10,RDMOPT_VAR_INTAMOUNT,1,10,RDMOPT_VAR_DEXAMOUNT,1,10,RDMOPT_VAR_LUKAMOUNT,1,10,RDMOPT_VAR_ATTMPOWER,4,47,RDMOPT_DEC_SPELL_CAST_TIME,1,20,RDMOPT_DEC_SPELL_DELAY_TIME,5,20 ....and so on. While this is not really to my taste as I have my own implementation of this randomoption feature, I have tried and tested this structure and I have no problems so far. I think the devs wouldn't mind looking at this solution and come up with a more robust way for us to define random options moving forward.
  5. Sorry sa bump pero para sa kaalaman lang ng mga taropa naten jan. Login ka lang sa default gateway mo tapos go to this link. Since alam mo na yong term, assume ko na lang na marunong ka na sa part na to. Good luck.
  6. Why is that? Wouldn't adding specific random option group per slot take a lot more lines to cover for all items you want to have random options? I am currently using my own implementation based on the existing item_random_option_group db file and this is how it looks like. It still follows the same structure,but the point is that it does not define what will be the random options available to that certain type of item, instead, it defines what are the available random options that item type can have. // <randopt_groupid>,<rate>,<randopt_id1>,<randopt_value1>,<randopt_param1>{,<randopt_id2>,<randopt_value2>,<randopt_param2>,<randopt_id3>,<randopt_value3>,<randopt_param3>,<randopt_id4>,<randopt_value4>,<randopt_param4>,<randopt_id5>,<randopt_value5>,<randopt_param5>} and so on and so forth. just how many do you like this line to have. lmfao. See I only had up to line 196 and i covered all of the equip types dagger to 2-h staves and armor to accessories each with different set of random options. and in my case, I only made small changes to the source so that the group that will be randomized will not reflect as is/whereis, instead, will just randomly pick which number of options (1-5) will reflect to the equip. For example, a Clip[1]. Using my random option group for accessory. RDMOPTG_ACCESSORY,25,RDMOPT_VAR_STRAMOUNT, 5,0,RDMOPT_VAR_AGIAMOUNT, 5,0,RDMOPT_VAR_VITAMOUNT, 5,0,RDMOPT_VAR_INTAMOUNT, 5,0,RDMOPT_VAR_DEXAMOUNT, 5,0,RDMOPT_VAR_LUKAMOUNT, 5,0,RDMOPT_VAR_HPACCELERATION, 5,0,RDMOPT_VAR_SPACCELERATION, 5,0,RDMOPT_VAR_PLUSASPD,1,0,RDMOPT_VAR_PLUSASPDPERCENT, 5,0,RDMOPT_VAR_CRITICALSUCCESSVALUE, 2,0,RDMOPT_HEAL_VALUE, 2,0,RDMOPT_HEAL_MODIFY_PERCENT, 2,0,RDMOPT_DEC_SPELL_CAST_TIME, 2,0,RDMOPT_DEC_SPELL_DELAY_TIME, 2,0 RDMOPTG_ACCESSORY,20,RDMOPT_VAR_STRAMOUNT, 8,0,RDMOPT_VAR_AGIAMOUNT, 8,0,RDMOPT_VAR_VITAMOUNT, 8,0,RDMOPT_VAR_INTAMOUNT, 8,0,RDMOPT_VAR_DEXAMOUNT, 8,0,RDMOPT_VAR_LUKAMOUNT, 8,0,RDMOPT_VAR_HPACCELERATION, 8,0,RDMOPT_VAR_SPACCELERATION, 8,0,RDMOPT_VAR_PLUSASPD,2,0,RDMOPT_VAR_PLUSASPDPERCENT, 8,0,RDMOPT_VAR_CRITICALSUCCESSVALUE, 4,0,RDMOPT_HEAL_VALUE, 4,0,RDMOPT_HEAL_MODIFY_PERCENT, 4,0,RDMOPT_DEC_SPELL_CAST_TIME, 5,0,RDMOPT_DEC_SPELL_DELAY_TIME, 5,0 RDMOPTG_ACCESSORY,10,RDMOPT_VAR_STRAMOUNT,12,0,RDMOPT_VAR_AGIAMOUNT,12,0,RDMOPT_VAR_VITAMOUNT,12,0,RDMOPT_VAR_INTAMOUNT,12,0,RDMOPT_VAR_DEXAMOUNT,12,0,RDMOPT_VAR_LUKAMOUNT,12,0,RDMOPT_VAR_HPACCELERATION,12,0,RDMOPT_VAR_SPACCELERATION,12,0,RDMOPT_VAR_PLUSASPD,3,0,RDMOPT_VAR_PLUSASPDPERCENT,12,0,RDMOPT_VAR_CRITICALSUCCESSVALUE, 7,0,RDMOPT_HEAL_VALUE, 7,0,RDMOPT_HEAL_MODIFY_PERCENT, 7,0,RDMOPT_DEC_SPELL_CAST_TIME,10,0,RDMOPT_DEC_SPELL_DELAY_TIME,10,0 RDMOPTG_ACCESSORY, 5,RDMOPT_VAR_STRAMOUNT,15,0,RDMOPT_VAR_AGIAMOUNT,15,0,RDMOPT_VAR_VITAMOUNT,15,0,RDMOPT_VAR_INTAMOUNT,15,0,RDMOPT_VAR_DEXAMOUNT,15,0,RDMOPT_VAR_LUKAMOUNT,15,0,RDMOPT_VAR_HPACCELERATION,15,0,RDMOPT_VAR_SPACCELERATION,15,0,RDMOPT_VAR_PLUSASPD,4,0,RDMOPT_VAR_PLUSASPDPERCENT,15,0,RDMOPT_VAR_CRITICALSUCCESSVALUE,10,0,RDMOPT_HEAL_VALUE,10,0,RDMOPT_HEAL_MODIFY_PERCENT,10,0,RDMOPT_DEC_SPELL_CAST_TIME,15,0,RDMOPT_DEC_SPELL_DELAY_TIME,15,0 RDMOPTG_ACCESSORY, 2,RDMOPT_VAR_STRAMOUNT,18,0,RDMOPT_VAR_AGIAMOUNT,18,0,RDMOPT_VAR_VITAMOUNT,18,0,RDMOPT_VAR_INTAMOUNT,18,0,RDMOPT_VAR_DEXAMOUNT,18,0,RDMOPT_VAR_LUKAMOUNT,18,0,RDMOPT_VAR_HPACCELERATION,18,0,RDMOPT_VAR_SPACCELERATION,18,0,RDMOPT_VAR_PLUSASPD,5,0,RDMOPT_VAR_PLUSASPDPERCENT,18,0,RDMOPT_VAR_CRITICALSUCCESSVALUE,12,0,RDMOPT_HEAL_VALUE,12,0,RDMOPT_HEAL_MODIFY_PERCENT,12,0,RDMOPT_DEC_SPELL_CAST_TIME,20,0,RDMOPT_DEC_SPELL_DELAY_TIME,20,0 RDMOPTG_ACCESSORY, 1,RDMOPT_VAR_STRAMOUNT,25,0,RDMOPT_VAR_AGIAMOUNT,25,0,RDMOPT_VAR_VITAMOUNT,25,0,RDMOPT_VAR_INTAMOUNT,25,0,RDMOPT_VAR_DEXAMOUNT,25,0,RDMOPT_VAR_LUKAMOUNT,25,0,RDMOPT_VAR_HPACCELERATION,25,0,RDMOPT_VAR_SPACCELERATION,25,0,RDMOPT_VAR_PLUSASPD,7,0,RDMOPT_VAR_PLUSASPDPERCENT,25,0,RDMOPT_VAR_CRITICALSUCCESSVALUE,15,0,RDMOPT_HEAL_VALUE,15,0,RDMOPT_HEAL_MODIFY_PERCENT,15,0,RDMOPT_DEC_SPELL_CAST_TIME,25,0,RDMOPT_DEC_SPELL_DELAY_TIME,25,0 So it has, STR, AGI, VIT, INT, DEX, LUK, HP Regen, SP Regen, ASPD, ASPDRate, CritRate, Healing, HealingRate, Reduce Cast, Reduce Delay So the rate is based on the 2nd value in the group definition right? So saying that you got the 25% so you got the first line. From there, my code is to randomize how many slots or how many random options will be awarded to the item. Lets say, it randomized to 3. It will then lookup the rest of the line and randomly pick which 3 would reflect to the item. For example, it randomed INT, SP Acceleration, and Healing Rate. It will then reflect to the Clip[1] INT+5, Increase SP Regen by 5%, and Healing Power +2%. Well, if you really want to modify the current db structure, the best way to go is to just add min and max value so that it can be randomed source side. make the structure like // <randopt_groupid>,<rate>,<randopt_id1>,<randopt_value_min1>,<randopt_value_max1>,<randopt_param1>{,<randopt_id2>,<randopt_value_min2>,<randopt_value_max2>,...} That should solve your problem, right? I don't know if I understood it well, but this is just my take on it.
  7. Does it need special nemo patch or something? I saw the part in mmo.h that can change the max zeny in bank but it broke everything. Am just wondering if it can be done in the source alone, and if so, is there anything else that needs to be updated other than the one value in mmo.h. Thanks.
  8. Easiest logical solution here is on skill.cpp Find if(item->nameid > 0 && ditem->type == IT_WEAPON) { and replace with if(item->nameid > 0 && (ditem->type == IT_WEAPON || ditem->type == IT_ARMOR)) { Will test and update later when I get back from office.
  9. I currently have my own implementation but its too dirty of a code. looking forward for your release.
  10. i understand that src is being moved from c to cpp. am just curious about the difference between having c and having cpp source.
  11. Hi rA. How to I download a specific commit (old one) from github? Thanks.
  12. obtain a copy of eAthena svn and try looking there?
  13. You do not want to get MVP item after killing MVP? Just remove MVP Item in mob_db.txt then.
  14. mostly it doesn't work on array as array initializer requires constant value.
  15. I am also getting error when using the NPC.