Jump to content

Mumbles

Retired Staff
  • Content Count

    618
  • Joined

  • Last visited

  • Days Won

    15

Everything posted by Mumbles

  1. This is a great release. I've enjoyed this map since its initial release on eAthena boards; glad to see it here at Hercules. c:
  2. I m confused, the mf_restrict was already dropped since the map zone system implemented http://herc.ws/board/topic/302-introducing-hercules-map-zone-database/ The mf_restrict (restrict) was dropped. Oh wow, I wasn't aware that it had been dropped. Before adding a removemapflag for mf_zone, he should go through and modify his mf_restricted mapflags to mf_zone; additionally, modifications to map_zone_db.conf in the pre-re/re folders should be made. In any case, the error was not in the mapflag that was being removed; the script errored because there was a comma and another parameter after the mapflag parameter. @xilence01: I'd recommend that you update your mf_restricted mapflags to mf_zone, and adjust your map_zone_db.conf in the pre-re/re folders as needed.
  3. Change this line: removemapflag .7_map$,mf_restricted,1; To this: removemapflag .7_map$,mf_restricted; Tested and working. More information on setmapflag and removemapflag can be found on the Wiki. Note: Out of respect for Euphy's paid work, I'd ask that you please remove the script from your original post; however, this is entirely up to you. And to avoid any drama that might transpire from it being redistributed. @__@
  4. Just to reiterate, here's a guide on how to obtain Hercules on a Windows system with TortoiseGit: http://herc.ws/board/topic/152-obtaining-hercules/?p=845
  5. You could use something with query_sql/query_logsql like: query_sql("IF COL_LENGTH('table_name','column_name') IS NOT NULL BEGIN /*insert update query here*/ END");
  6. I was able to find a global function that Euphy wrote titled F_Navi in their trunk. Note: Untested.
  7. If you're certain that logging is causing your server to crash, you could disable logging in conf/logs.conf. Also make sure your SQL settings are correct in conf/inter-server.conf.
  8. What about your client_hash settings in conf/login_server.conf? // Client MD5 hash check// If turned on, the login server will check if the client's hash matches// the value below, and will not connect tampered clients.// Note: see docmd5_hashcheck.txt for more details.client_hash_check: off// Client MD5 hashes// A player can login with a client hash at or below the account group_id.// Format: group_id, hashclient_hash: 0, 113e195e6c051bb1cfb12a644bb084c5client_hash: 99, cb1ea78023d337c38e8ba5124e2338ae If Harmony is no longer a part of your emulator, then the only thing that comes to mind is a MD5 hash mismatch with the emulator's default settings. Tradução em Português (via Google):
  9. Oh, I guess I overlooked that. Yeah, mine don't show up either. Perhaps running that query to adjust the item IDs to a compatible range for your client would be the best solution.
  10. When I wrote my reply, I did not test it first. I went ahead and tested on a 2012-04-10 client and was unable to reproduce the issue. Tested on 2012-04-10 with custom gear Hercules Hat [1] (ID: 10001):
  11. You're looking in the wrong place. Server-side slots don't appear client-side if the client files have not been updated to display the slts. If the slot exists in the database, you'll have to edit itemslottcounttable.txt in your client's data folder or custom GRF. The format for this is: ItemID#Slots# If you wanted item IDs 10000-10012 to show their slots, you would add them to the file like this: 10000#4#10001#3#10002#1#10003#2#10004#3#10005#4#10006#3#10007#2#10008#1#10009#2#10010#3#10011#4#10012#3#
  12. The server had Harmony protection, and likely uses their client checksum. This is an example of their checksum settings from conf/harmony_custom.conf: ////////////////////////////////////////////// CLIENT CHECKSUM /////////////////////////////////////////////// Harmony enforces the usage of unmodified client binaries.// However, you have to add your client checksum here to// allow only permitted exes. The checksum is a MD5 hash of// the exe.///// To get the checksum of your exe you can use this tool:// https://harmonize.it/customer/md5///// To reload this configuration while the server is running use @reloadharmony.////// GM level >= 0 requires this hashclient_checksum: 0, cd465a9c413648131b3cabe1dfd9e45d// GM level >= 20 requires this hash (level 0 hash works here, too)client_checksum: 20, cd465a9c413648131b3cabe1dfd9e45d// GM level 99 has no checksum limitationsclient_checksum: 99, off To circumvent this, you can either turn Harmony's checksum off: // GM level >= 0 requires this hashclient_checksum: 0, off// GM level >= 20 requires this hash (level 0 hash works here, too)client_checksum: 20, off// GM level 99 has no checksum limitationsclient_checksum: 99, off Alternatively, you can upload your current client to Harmony's MD5 calculator and use the MD5 hash given to you there. Disclaimer: Hercules does not directly support Harmony; the file referenced in this post is based purely on personal experience. Although the MD5 calculator is available by direct link, Harmony's files and services are solely intended for their customers. Tradução em Português (via Google):
  13. Hey YuukiRune! Do you have any works you would like to showcase? I'd love to see your recolours. c:
  14. If it's of any interest to you, I was able to accomplish this without any source modifications. I created a script function and named it groupid2name. For the sake of keeping things relevant, I used group names and IDs in correspondence to those in conf/groups.conf. function script groupid2name { switch(getarg(0)) { case 0: return "Player"; case 1: return "Super Player"; case 2: return "Support"; case 3: return "Script Manager"; case 4: return "Event Manager"; case 10: return "Law Enforcement"; case 99: return "Admin"; default: return "Undefined Group"; }} This function can now be called upon from any script with groupid2name(<parameter>). Whisper anything to npc:test_gid2name to test this script. - script test_gid2name -1,{ OnWhisperGlobal: message strcharinfo(0), "Your group name is: "+ groupid2name(getgroupid()); end;} The only limitation to this is that you will have to manually adjust the group names yourself. Despite that, the strength in this is that it eliminates the need to make source and conf modifications; in a way, it allows for dynamic group name changes without needing to directly modify conf/groups.conf. Updating is a snap too, as it's simply a matter of overwriting the old function. Edits: Added extra line-spacing because I'm tedious like that. c: Added default label in the switch, in the event someone has an undefined group ID.
  15. if(!isequipped(4172,4257,4230,4272)) bonus3 bAutoSpell,"RG_INTIMIDATE",1,20; The expression reads: If the set (4172, 4257, 4230, and 4272) is NOT equipped... The ! operator (a "logical not") at the very beginning of the expression essentially reverses the check and does exactly what you said it does; the script runs when the set of items is not equipped. If you would like for your that bonus to be applied when the set is equipped, simply remove the ! from the beginning of the expression.
  16. Yes, it is possible; give it a try. If you need a more elaborate script to run, you might wanna use a callfunc after the expression is found true.
  17. The correct syntax would be isnight(). if (isnight()) bonus bSpeedRate, 20;
  18. Will pre-existing themes work with this release?
  19. Could you post the code here in a codebox?
  20. Update: Forgot to add a label lol; if you already downloaded this, please refresh the page and download it again.
  21. Event: Hercules Invasion Description: A completely revamped and optimized variation of the widely popular Poring Invasion event. Configuration settings are dynamic and easily modifiable. Customizable parameters include normal monsters, "prized" monsters, each respective monster amounts, monster tiers, invasion map,NPC name, and server name. NPC can be triggered by staff using the command @invasion. Download: https://github.com/datmumbles/Scripts/raw/master/event/invasion.txt
  22. Sure thing; be sure to adjust the success rates to your liking - the original request asked for particularly low rates. The .success array takes values in comparison to fractions (ex. 3, 4 is the same as 3 / 4 or 75%). Thanks for trying it out!
  23. Update: Revised the algorithm to randomize debris. Please re-download the file for the newest version.
  24. if (select("Yes Please, No Thanks") == 2) This should be: if (select("Yes Please:No Thanks") == 2) Edit: Might wanna change end; to close; as well.
  25. If you want a second list, just make a new array for your list and name it .monster2 or something more clever. You'll probably want to make a .min2 and .max2, then copy the for loop with the new variables. If you wanted a zeny reward for all monsters in your database, just add this code without the for loop or if statement under the OnNPCKillEvent label: .@mobzeny = rand(.min, .max); Zeny += .@mobzeny; message strcharinfo(0), "You received "+ .@mobzeny +" for killing "+ getmonsterinfo(.monster[.@i], 0) +"!";
×
×
  • Create New...

Important Information

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