• Content Count

  • Joined

  • Last visited

  • Days Won


KirieZ last won the day on May 9

KirieZ had the most liked content!


About KirieZ

  • Rank
    Advanced Member

Profile Information

  • Gender
  • Location:
  • Github
  • Emulator

Recent Profile Visitors

2916 profile views
  1. If I recall correctly emperium does have some special behavior for WoE (I don't recall if this behavior is activated by some woe mapflag or by gvg map flag), did you try with other mobs? And I think there are something gvg (or woe) related that hides your real damage (e.g. display 1 to client while actually causing real damage -- I think there is a battle conf for that). One way to test would be to try on a poring or some other weak monster and check if you'll kill it in one hit.
  2. As of Release v2019.05.05 you can now create groups of random options that may be assigned to items dropped by monsters. In order to use it you must first create an Option drop group in db/option_drop_groups.conf, one group will set how each option slot is filled, the chance of it getting filled, etc. Each group has the following structure: <Group Name Constant>: ( { // Option Slot 1 Rate: (int) chance of filling option slot 1 (100 = 1%) // Possible options for slot 1 // min/max value : int, defaults to 0 // chance : int, 100 = 1% if not set, will be 100%/number of possibiltiies OptionName: value // or OptionName: [min value, max value] // or OptionName: [min value, max value, chance] // ... (as many as you want) }, // ... (up to MAX_ITEM_OPTION) ), Details about this file may be found on Hercules' docs (doc/ This is an example group called MYGROUP: MYGROUP: ( { /* Option Slot 1 */ Rate: 10000 /* It has 100% of chance of being filled */ /* This slot may have one of the following options: */ WEAPON_ATTR_WIND: 5 /* WEAPON_ATTR_WIND Lv5 (33.33%) */ WEAPON_ATTR_GROUND: [2, 4] /* WEAPON_ATTR_GROUND Lv 2~4 (33.33%) */ WEAPON_ATTR_POISON: [1, 4, 8000] /* WEAPON_ATTR_POISON Lv 1~4 (80%) */ }, { /* Option Slot 2 */ Rate: 5000 /* It has 50% of chance of being filled */ /* If filled, may have one of the following options: */ WEAPON_ATTR_WATER: 4 /* WEAPON_ATTR_WATER Lv4 (100%) */ } ) Once a group is defined, you can them assign it to monster drops in mob database by using a new syntax that works for both Drops and MvpDrops: AegisName: (chance, "GROUP_NAME") This will set that the item AegisName has chance chance of drop (like we already know from the format already in use), and, when dropped it will get random options as specified by the group GROUP_NAME. For example: Knife: (5000, "MYGROUP") Will make "Knife" be dropped with a chance of 50%, and when dropped it will get options as defined by MYGROUP option group, in other words, the first slot will be filled with Wind, Ground or Poison option, and the second slot may or may not be filled with Water option. This feature should work on any client that supports item random options.
  3. Hmm I think you can't get the hash when you download the zip, but I'll assume it was the latest stable. Did you set ips for map/char server on their conf files? Try letting ips commented out or change then to for testing. It looks like your map-server is not able to reach char-server in this ip.
  4. What is your client date and hercules hash? When this problem shows up? (e.g. upon server start, player login) It looks like one of the other servers crashed, I'm assuming it was map-server.. is there any message on it? 0x2B0A seems to be related to server sync, have you tried to clean/rebuild all servers?
  5. Great to see these new features! Also the dark theme is looking nice, I'll probably stick to it from now on
  6. Hercules changed its map cache system to a better one, we don't use map_cache.dat anymore, check this guide to learn how to use the new system:
  7. KirieZ

    Item Options

    What about this? setarray([email protected][1], EQI_COSTUME_HEAD_TOP, EQI_COSTUME_HEAD_MID, EQI_COSTUME_HEAD_LOW, EQI_COSTUME_GARMENT); [email protected]$ = ""; for ([email protected] = 1; [email protected] < getarraysize([email protected]$); [email protected]) [email protected]$ += ((getequipisequiped([email protected])) ? getequipname([email protected][[email protected]]) : "" + [email protected][[email protected]] + "-[Not equipped]") + ":"; // Select the part. [email protected]_index = select([email protected]$);
  8. KirieZ

    Item Options

    Isn't the parameter on getequipisequiped and getequipname wrong? [email protected] will be 1, 2, ... which are EQI_HEAD_TOP (1), EQI_ARMOR (2) and not costume slots.
  9. There is soundeffectall (if you want to use wav folder) but I think it doesn't allow you to send to all players in server. Maybe you will need a small source change to use it. There is also playbgmall, that according to docs allows you to send to the entire server, but from BGM folder.
  10. attachrid command allows you to attach to one player, and if you want to attach to all players in the server, I believe you can use getunits to retrieve their GIDs and then loop through this array attaching each player
  11. If I understood correctly your question, you can left the menu entry empty and client will "count" it but not display it. Example: [email protected]$ = "Opt1:"; if (#myvar) [email protected]$ = [email protected]$ + "Opt2"; [email protected]$ = [email protected]$ + ":Opt3"; // So we will get one of these // - Opt1:Opt2:Opt3 // In this case it shows Opt1 (case1), Opt2 (case2), Opt3(case3) // - Opt1::Opt3 <- Note the :: // In this case it shows Opt1 (case1), Opt3(case3) switch (select([email protected]$)) { case 1: // Opt1 break; case 2: // Opt2 break; case 3: // Opt3 break; }
  12. hmm so I didn't get what exactly you're trying to do too xD
  13. I haven't tested, but try this: src/map/battle.c search: if (wd.flag & BF_WEAPON && src != target && damage > 0) { if (battle_config.left_cardfix_to_right) battle->drain(sd, target, wd.damage, wd.damage, tstatus->race, is_boss(target)); else battle->drain(sd, target, wd.damage, wd.damage2, tstatus->race, is_boss(target)); } change to (first line) if (src != target && damage > 0) { if (battle_config.left_cardfix_to_right) battle->drain(sd, target, wd.damage, wd.damage, tstatus->race, is_boss(target)); else battle->drain(sd, target, wd.damage, wd.damage2, tstatus->race, is_boss(target)); }
  14. Probably yes, but would require source changes to achieve that
  15. Hmm I'm not completely sure, but its description says "with weapon attack" so I think not