Jump to content


Core Developers
  • Content Count

  • Joined

  • Last visited

  • Days Won


Kenpachi last won the day on February 21

Kenpachi had the most liked content!


About Kenpachi

  • Rank
    Advanced Member
  • Birthday 04/03/1984

Profile Information

  • Gender
  • Location:

Recent Profile Visitors

2696 profile views
  1. I can't reproduce this with latest server version. Which version is your server? (In the map-server console find [Info]: Git revision (src):) Which client do you use? Any modifications to the server? ~Kenpachi
  2. For the skill use event, there is a plugin (with additional features): Maybe it needs a little fixing, tho. ~Kenpachi
  3. Hi. Untested; just converted to Hercules! OnPCSkillUseEvent.diff getskillname.diff ~Kenpachi
  4. Hi. The error is caused by something trying to set a skills name. (Type 64 = BL_SKILL) As far as I can tell, this can only happen in setunittitle() script command or setunitdata() script command (type = UDT_GROUP), because those two script commands don't verify the BL type. Do you have custom scripts which use these script commands? If not, can you re-produce this error and tell us how? ~Kenpachi
  5. As promised over at Discord, a patch to extend getiteminfo() script command, to get an item's ID by its name:getiteminfo_extension.diff Usage: [email protected]_id = getiteminfo("item name", ITEMINFO_ID); ~Kenpachi
  6. Hi. If you're only working with equipped items, you can use the getequipid() script command to read the item's ID. But there's no script command to generally get an item's ID from its name. ~Kenpachi
  7. Hi. You can either forward the server ports in your router to the computer where the server runs on, or you can use tools like Hamachi to create a VPN. You should find many explanations/guides on google for both methods. ~Kenpachi
  8. Hi. In src/map/skill.c find function skill_get_requirement() and replace: (Should be line 15479.) if (itemid_isgemstone(req.itemid[i]) && skill_id != HW_GANBANTEIN) { with: if (itemid_isgemstone(req.itemid[i]) && sd->group->level >= 99) { /// Characters with group level >= 99 don't use gemstones. req.itemid[i] = 0; req.amount[i] = 0; } else if (itemid_isgemstone(req.itemid[i]) && skill_id != HW_GANBANTEIN) { Or use this diff: ADMIN_NO_GEMS.diff I tested this modification with latest Hercules and it works. ~Kenpachi
  9. Hi. Maybe a little bit late, but... You can disguise a player with the changelook() script command. Just use an item's OnEquipScript/OnUnequipScript. An example to disguise the player as Swordman when equipping Hat. { Id: 2220 AegisName: "Hat" Name: "Hat" Type: "IT_ARMOR" Buy: 1000 Weight: 200 Def: 2 Loc: "EQP_HEAD_TOP" ViewSprite: 16 OnEquipScript: <" changelook(LOOK_BASE, Job_Swordman); "> OnUnequipScript: <" changelook(LOOK_BASE, Class); "> } But this works only with jobs. If you have custom body sprites, you have to add them as new jobs. ~Kenpachi
  10. Hi. That tool isn't even close to be compatible with Hercules, since it's designed for Cronus. Please don't use it. Here is a syntax-fixed version of your script: ~Kenpachi
  11. Nope. That script command just enables you to check if the character is walking or not. You can use it to prevent that freeze you mentioned. Your script may could look like this, after you added the script command to your source: izlude,124,148,4 script test#iz 4_F_NURSE,{ [email protected] = getcharid(3); unitwalk [email protected],128,124; while (unitiswalking([email protected]) == 1) sleep2(50); unitwalk [email protected],128,109; while (unitiswalking([email protected]) == 1) sleep2(50); unitwalk [email protected],121,98; while (unitiswalking([email protected]) == 1) sleep2(50);  unitwalk [email protected],108,97; end; } ~Kenpachi
  12. Unfortunately the script engine currently provides no command to check if a character is walking or not. Guess you have to play with the sleep times a bit. //EDIT: I wrote a script command to check if a unit is walking: https://github.com/HerculesWS/Hercules/pull/2628 You may add it by yourself, or wait until the PR is merged. ~Kenpachi
  13. Hi. From doc/script_commands.txt *unitwalk(<GID>, <x>, <y>) *unitwalk(<GID>, <target_GID>) This is one command, but can be used in two ways. If only the first argument is given, the unit whose GID is given will start walking towards the target whose GID is given. When 2 arguments are passed, the given unit will walk to the given x,y coordinates on the map where the unit currently is. Examples: //Will move/walk the poring we made to the coordinates 150,150 unitwalk(.GID, 150, 150); //NPC will move towards the attached player. unitwalk(.GID, getcharid(CHAR_ID_ACCOUNT));//a player's GID is their account ID .GID is the character's account ID. ~Kenpachi
  14. Hello. Please provide information about what you did exactly. (Item DB entries and client data entries.) Moved the topic to General Server Support section. ~Kenpachi
  15. pc_status_def_rate and mob_status_def_rate still exist in in conf/map/battle/status.conf. If you need pc_luk_status_def and mob_luk_status_def, I could probably write a patch for you, but have a look at the commit where they were removed and see @Ind's reasons to remove them. ~Kenpachi
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.