Jump to content

kyeme

High Council
  • Content Count

    500
  • Joined

  • Last visited

  • Days Won

    5

Reputation Activity

  1. Upvote
    kyeme reacted to Haru in Item DB file structure overhaul   
    Item DB file structure overhaul
     
    Hello~! Uguu~?!
    We noticed that the Item Database file format, unchanged for years, is less than optimal (read: terrible)
    The file is really hard to read (is it the fifteenth or the sixteenth zero? No wait, that line has an extra comma!!) Whenever you merge an update, if you had a customized entry, you're sure to encounter large conflicts that won't be trivial to solve How do we fix it?
    We're switching to a brand new, modern, file format, making use of the libconfig library we're already using for other configuration files.
    It uses libconfig. This means the parser is more solid and, perhaps not faster, but surely easier to maintain, with simpler code. And the file format is something you're already used to, since it's the same as many other configuration files we use! Empty fields and the long sequences of those hard to count commas are gone! You just specify the fields you need, and the others can be completely skipped. The item_db2 entries can be left incomplete and set to inherit the original item_db entry. If you have a custom script for your Knife[3], you can just write the script in your item_db, and let it read the other values from the item_db, so that if we update them, you get the update automatically Item scripts can be split into several lines, so they can made easier to read, especially the long ones. We can finally add more fields (to support new features) to the file at any time, easily and without having to edit all the lines (or force you to edit all the lines of your custom item_db2)! Pre-Renewal and Renewal Item databases now use the same format. This also means that you can make use of the min/max level feature in both renewal and pre-renewal (of course, pre-renewal servers will ignore the Matk field, if you specify it, since it's meaningless there) What does it look like?
     
    Each entry follows this structure:
    {     // =================== Mandatory fields ===============================     Id: ID                        (int)     AegisName: "Aegis_Name"       (string, optional if Inherit: true)     Name: "Item Name"             (string, optional if Inherit: true)     // =================== Optional fields ================================     Type: Item Type               (int, defaults to 3 = etc item)     Buy: Buy Price                (int, defaults to Sell * 2)     Sell: Sell Price              (int, defaults to Buy / 2)     Weight: Item Weight           (int, defaults to 0)     Atk: Attack                   (int, defaults to 0)     Matk: Magical Attack          (int, defaults to 0, ignored in pre-re)     Def: Defense                  (int, defaults to 0)     Range: Attack Range           (int, defaults to 0)     Slots: Slots                  (int, defaults to 0)     Job: Job mask                 (int, defaults to all jobs = 0xFFFFFFFF)     Upper: Upper mask             (int, defaults to any = 0x3f)     Gender: Gender                (int, defaults to both = 2)     Loc: Equip location           (int, required value for equipment)     WeaponLv: Weapon Level        (int, defaults to 0)     EquipLv: Equip required level (int, defaults to 0)     EquipLv: [min, max]           (alternative syntax with min / max level)     Refine: Refineable            (boolean, defaults to true)     View: View ID                 (int, defaults to 0)     Script: <"         Script         (it can be multi-line)     ">     OnEquipScript: <" OnEquip Script (can also be multi-line) ">     OnUnequipScript: <" OnUnequip Script (can also be multi-line) ">     // =================== Optional fields (item_db2 only) ================     Inherit: true/false           (boolean, if true, inherit the values                                   that weren't specified, from item_db.conf,                                   else override it and use default values) }, Here's a Red Potion in the old format:
    501,Red_Potion,Red Potion,0,50,,70,,,,,0xFFFFFFFF,7,2,,,,,,{ itemheal rand(45,65),0; },{},{} And here's the same Red Potion in the new format:
    {     Id: 501     AegisName: "Red_Potion"     Name: "Red Potion"     Type: 0     Buy: 50     Weight: 70     Script: <" itemheal rand(45,65),0; "> }, Not convinced yet it's easier to read? Okay, let's try a Poison Bottle:
    678,Poison_Bottle,Poison Bottle,2,5000,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(Class==Job_Assassin_Cross) { sc_start SC_DPOISON,60000,0; sc_start SC_ATTHASTE_INFINITY,60000,0; } else percentheal -100,-100; },{},{} changes to:
    {     Id: 678     AegisName: "Poison_Bottle"     Name: "Poison Bottle"     Type: 2     Buy: 5000     Weight: 100     Script: <"         if(Class==Job_Assassin_Cross) {             sc_start SC_DPOISON,60000,0;             sc_start SC_ATTHASTE_INFINITY,60000,0;         }         else percentheal -100,-100;     "> }, Better, isn't it!? Let's now try a Jellopy:
    909,Jellopy,Jellopy,3,6,,10,,,,,,,,,,,,,,{},{},{} Count the commas! Did I miss any? An extra comma you say? No, I don't want to count them, thanks...
    {     Id: 909     AegisName: "Jellopy"     Name: "Jellopy"     Buy: 6     Weight: 10 }, Not even a comma!
    Now, help me read what this item does?
    13307,Krieger_Huuma_Shuriken1,Glorious Shuriken,4,20,,0,55,,1,0,0x02000000,7,2,34,4,80,1,22,{ bonus2 bAddRace,RC_DemiHuman,95; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bMatkRate,15; autobonus "{ bonus2 bSkillAtk,NJ_HUUMA,100; bonus2 bSkillAtk,NJ_ISSEN,100; }",50,10000; bonus bUnbreakableWeapon,0; if(getrefine()>5) { bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3); bonus2 bIgnoreDefRate,RC_DemiHuman,5; } if(getrefine()>8) { bonus5 bAutoSpellOnSkill,NJ_ISSEN,AL_HEAL,10,1000,1; bonus4 bAutoSpellOnSkill,NJ_HUUMA,NPC_CRITICALWOUND,2,200; } },{},{} {     Id: 13307     AegisName: "Krieger_Huuma_Shuriken1"     Name: "Glorious Shuriken"     Type: 4     Buy: 20     Atk: 55     Range: 1     Job: 0x02000000     Loc: 34     WeaponLv: 4     EquipLv: 80     View: 22     Script: <"         bonus2 bAddRace,RC_DemiHuman,95;         bonus2 bIgnoreDefRate,RC_DemiHuman,20;         bonus bMatkRate,15;         autobonus "{ bonus2 bSkillAtk,NJ_HUUMA,100; bonus2 bSkillAtk,NJ_ISSEN,100; }",50,10000;         bonus bUnbreakableWeapon,0;         if(getrefine()>5) {             bonus2 bAddRace,RC_DemiHuman,(getrefine()-3)*(getrefine()-3);             bonus2 bIgnoreDefRate,RC_DemiHuman,5;         }         if(getrefine()>8) {             bonus5 bAutoSpellOnSkill,NJ_ISSEN,AL_HEAL,10,1000,1;             bonus4 bAutoSpellOnSkill,NJ_HUUMA,NPC_CRITICALWOUND,2,200;         }     "> }, Which one did you find easier to read? Old or new format?
     
    Want to see an example that specifies both min and max levels? Here you go:
    {     Id: 2819     AegisName: "Swordman_Manual"     Name: "Swordman Manual"     Type: 5     Buy: 0     Weight: 100     Job: 0x00000001     Upper: 47     Loc: 136     EquipLv: [1, 12]     Refine: false     Script: <"         bonus bMaxSP,100;         skill SM_BASH,1;         skill SM_PROVOKE,1;         skill SM_MAGNUM,1;     "> }, Okay, one last example. Let's try to make an item_db2 entry for a Pupa Card that gives a bonus of 1000 HP rather than just 700.
    {     Id: 4003     Inherit: true     Script: <" bonus bMaxHP,1000; "> }, Done. No need to rewrite the name, location, prices... those are already in the item_db!
     
    But... I have several custom items, do I have to manually convert all of them...?
     
    Of course you do! No, I'm kidding, don't hate me
     
    It's true that you need to convert your item database to the new format, but we can do it for you!
    Go to http://haru.ws/hercules/itemdbconverter/ and paste (or upload) your item_db2.txt (or even your item_db.txt if you have custom entries there), press the Convert button, wait a few seconds and you're done! It's already converted for you. Easy, isn't it? Don't trust us? No, no, we don't need your custom items, you can sleep safe... But if you still don't want to paste anything on a website... well, we have provided the source code of the converter script! It's in the 'tools' folder of the Hercules repository. All you need is a Perl interpreter (and if you're running Linux or Mac OS, on either your server or your own computer, it's almost certain that you already have that). All you have to do is run it (example: perl tools/itemdbconverter.pl < db/item_db2.txt > db/item_db2.conf), and your item database will be converted in a split second! What if I was using SQL item databases?
     
    Well... Then you won't have to worry about the txt databases, unless you were creating the items in txt, then converting them to sql (if you're not doing this, maybe you should consider it, you know? It's easier to create and manage them in txt even if you use the sql version!)
     
    If you were converting your custom item databases from the txt version to sql through the db2sql plugin, there are good news for you! We just updated the plugin, and now it's able to create a .sql script rather than just inserting the entries into your database. This means that you can create the SQL entries in your own computer, without even needing a database (just a copy of Hercules), without risking to slow down your server, and then upload them whenever you want.
     
    And if you're relying on the .sql scripts we provide... well, there are still good news for you! Outdated item_db.sql files are a thing of the past now: those scripts will get updated automatically after every commit by our HerculesWS API bot, exactly like the HPM Hooks!
     
    As a final note, now the pre-re and re databases share the same structure in SQL as well! no more column mismatch if you're trying to import into your Renewal server an item that was meant for pre-renewal.
     
    If you have data already imported to your item_db2 SQL table, it'll be updated to the new table format through the regular upgrade sql mechanism (just run the provided script in the sql-files/upgrades folder). Please note that the script requires MySQL 5.0 or newer -- if you're still on MySQL 4.0, please open it in a text editor, read the comments and run the provided queries manually.
     
    I have this event item entry that came with an old script I downloaded...
     
    No worries, you can get it converted. Use the same script (or the provided web page) you'd use to convert an entire item database, it'll work just fine even for an item or two!
     
    Special thanks
    To Ind, for bringing up the idea and pushing it forward until it was implemented. And for his awesome work on the HerculesWS API and database converter plugin. To Yommy, for the original idea, and for some invaluable help finalizing the actual database format. Links~u!
    Main commit. Removed redundant item_db2_re.sql (now both have the same structure). db2sql plugin update. item_db2 inheritance. item_db2 SQL upgrade script.
  2. Upvote
    kyeme reacted to Neo-Mind in NEMO - Client Patcher   
    Update:
    1) Allow chat flood has been modified to accept only till 127 (max chat is actually supposed to be a byte so values from 128-256 get considered as negative numbers).
    2) So what if you want no limits? I have added a new patch which removes the chat limitation itself .
     
    @kyeme - i will look into the rest today when i get home.
     
    EDIT: please check out from the repository. I didn't get time to make a new rar yet.
  3. Upvote
    kyeme reacted to Mumbles in getcharname()   
    Function: getcharname()
     
    Description:
    Return the name belonging to the character ID referenced.
     
    Example usage:
    Utility: Account Remover
     
    Download:
    https://github.com/datmumbles/Scripts/raw/master/func/getcharname.txt
  4. Upvote
    kyeme reacted to Neo-Mind in NEMO - Client Patcher   
    Update:
    Added Enable Custom Shields and Force Send Client Hash patches (Would be great if someone checks this one - I have tagged it as Experimental for time being)
     
     
    Alright ill look into that
     
     
    hmm weird can you post the patched client here. i wonder what is wrong.
     
    I welcome any suggestions for the interface .
  5. Upvote
    kyeme reacted to Neo-Mind in NEMO - Client Patcher   
    longshen Custom Window Title had a bug well actually bug was in the core. ill be updating it soon.
    Ill check the client date you have mentioned.
     
    Ill need to look into how ForceClientHashPacket  is implemented (wew that was a mouthful)
     
    looks like there was a bug with replacing dword i have fixed it now. I'll update the repo today with all the updated stuff.
  6. Upvote
    kyeme reacted to Neo-Mind in NEMO - Client Patcher   
    N.E.M.O. - Neo Exe Modification Organizer

    Why another client patcher? well
    1) WeeDiffGen - isn't working for 2013 clients + it depends on dlls (not that its a bad thing but i like scripting )
    2) xDiffGen - yes its scripted but we need to depend on xdiff files.

    so i made a new one based on xDiffGen and here it is. The patches are written in QtScript format.
    Details of making a patch have already been written in a seperate topic - although now it needs to be updated with more details.
    I have already converted most of the patches from xDiffGen.

    Why this name? - well I didn't want it to be called * Gen No offense  
    plus someone keeps calling me Nemo in IRC which gave me the idea

    Snapshot
    -----------------


    How to use?
    ---------------------
    1) First you need to specify your client file in Input Exe file box. If you browse to select the file name, Output Patched box gets updated with a _patched suffix filename automatically. Ofcourse you can select your own name for the output.
     
    2) Next we need to load both the client and the scripts (patches & addons). so click Load Client button.
     
    3) Select the patches you want . In case you patched once before (for whatever date) they will be saved in your local and you can use the Select Previous button to select them again. Also you can try using the Select Rcomnded button to select all the Recommended patches.
     
    4) So your patches are selected and client is loaded what next but to Apply Patches  which will generate the output file. In 2.0 version , NEMO also generates a .secure.txt file containing the MD5, SHA1 and CRC32 values of the output exe file which you can use in various tools.
     
    5) You can use the Save Profile and  Load Profile buttons for saving/reloading a set of patches & input values, that you have selected (even if they are not applied) for future use.
     
    6) Whenever you apply patches to a client, NEMO updates the patchlist.log file (along with Inputlist.db) in the folder where NEMO.exe is. This file will contain the list of patches you have applied along with their IDs (do not tamper with either of them).
     
    Changes in 2.0:
    ----------------------
    1) I have made some obvious modifications to the interface (you can definitely see the change in case you have seen v1.0).
         i) Buttons have come downwards and is no longer strippable (toolbar has been fixed in position)
     
         ii) New status Label has been added which shows your currently loaded client date and how many patches are selected.
     
         iii) NEMO now has support for Addons - scripts that are meant to retrieve data from the client and do its own thing (not patch the client).
              All the Extract xDiff patches has been added here already. 1 extra addon will be coming soon once i can fix it.
     
         iv) New Filter box has been added which does live search (i.e. filter as you type) for filtering out only the patches u want to see.
               For e.g. if you type color, it will only show patches that have the string color in either it's name or the description.
              You can also use regular expression . Also you can sort the columns now
     
        v) An upcoming feature - Test Patches. this one you can use for testing a newly added patch for a variety of clients that you select.
     
    2) NEMO is no longer there in SVN. I have shifted it to GitHub . The rar file uploaded has the .git file so you should be able to directly pull to get updates. But just in case I have also provided the repository link below.
     
    Remember to pull for updates before using NEMO and let me know if you are facing any bugs or issues or if i have missed out on anything. Enjoy .
     
    Repository: https://github.com/MStr3am/NEMO.git
     
    Download Link: NEMO zip file 
  7. Upvote
    kyeme reacted to jaBote in Introducing rAthena to Hercules database converters.   
    * jaBote switches on @Ind mode *
     
    rAthena to Hercules database converters
     
    Hello~! What?!
    I've observed a big rise of rAthena to Hercules database conversion requests this week, so I've just revised again the converters I made before and will be releasing on the repository so that people can find them more easily. What does that do?
    We have two new .SQL files on our repository that make the conversion easy. One is for applying on the main ragnarok table (sql-files/rathena-main-upgrade.sql) and the other is for the logs one (sql-files/rathena-logs-upgrade.sql).Please remember to make a backup prior to converting the database, just in case something goes wrong. This is meant to convert a fully upgraded rAthena to a fully upgraded Hercules. If you have some uninstalled rAthena upgrades please install them first. Avoid using it if there has been an upgrade posted in rAthena newer than the date of the converter or, at least, you didn't apply it or know how to undo the changes (remember that main.sql is usually fully upgraded both in Hercules and in rAthena). Some data (especially the data we don't use here on Hercules may be lost on the conversion). We'll not be resposible for this. How does it work?
    Plain and simple: just load them on the respective databases you have in rAthena, as if they were the original main.sql or logs.sql. Obviously enough, they won't work if you don't have CREATE, ALTER, INDEX and DROP permissions (and maybe others too) for the user(s) you'll be running this. These converters will NOT work if you changed the table names. Special thanks
    rAthena staff for their database structure and upgrades. Hercules staff for the database structure and upgrades. All the users that requested the converters in their respective topics. for suggesting this to be committed to the repository. @Haru for last minute corrections. Disclaimer
    As I warned before, there may be some intended or unintended data loss. Please make a backup before applying. This may get outdated quite quicly without me noticing about that. If that's so, please make a pull request or ping me to update the converter when I have time. I've avoided to name the files as "upgrades" here on the topic, but I've named them like that to make them have the name structure as the eAthena upgrade. This is NOT an offense to rAthena staff by any means. People are requesting this, so I made the conversion process easy for them, much like rAthena made a converter from eAthena and nobody got offended. Just that. Links~u!
    Main database converter commit. Logs database converter commit. * jaBote switches off @Ind mode *
  8. Upvote
    kyeme got a reaction from Mumbles in @killmonster2 every five hours?   
    The command @killmonster2 <map name> is not working..
     
    Instead of using the command @killmonster2 <map name>, use killmonsterall instead.
     
     
    *killmonsterall "<map name>"{,<type>};This command will kill all monsters on a specified map name, regardless of how they were spawned or what they are without triggering any event label attached to them, unless you specify 1 for type parameter. In this case, mob death labels will be allowed totrigger when there is no player. Any other number for this parameter won't be recognized. 
  9. Upvote
    kyeme got a reaction from Jedzkie in Regarding the Character Deletion   
    If the character still has valuable  items in his inventory, he will not be able to delete his character. For special cases. Like for example: the character has a GODLY (Megingjard) item and he tried to delete his character, this is when the suggestion will act.   //Item ID, Group-Level Override2629,99 //Megingjard  
    What do you think?
     
     
    @edit:
    Example from char-server.conf:
    // Restrict character deletion by BaseLevel// 0: no restriction (players can delete characters of any level)// -X: you can't delete chars with BaseLevel <= X// Y: you can't delete chars with BaseLevel >= Y// e.g. char_del_level: 80 (players can't delete characters with 80+ BaseLevel)char_del_level: 0
  10. Upvote
    kyeme reacted to Judas in Regarding the Character Deletion   
    That would be pretty neat. I could see people deleting their characters by whim and saying they left valuable items on there.
  11. Upvote
    kyeme got a reaction from mrlongshen in @randomdisguise   
    From the script of Master Jabote, you will need to whisper "randomdisguise" in your chatbox.
  12. Upvote
    kyeme got a reaction from jaBote in @randomdisguise   
    From the script of Master Jabote, you will need to whisper "randomdisguise" in your chatbox.
  13. Upvote
    kyeme got a reaction from Mumbles in Autobuff   
    Yes
    - script autobuffs -1,{OnPCLoginEvent: addtimer 60000,"autobuffs::OnBuffs"; end;OnBuffs: sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; specialeffect2 EF_INCAGILITY; specialeffect2 EF_BLESSING; addtimer 60000,"autobuffs::OnBuffs"; end;}
  14. Upvote
    kyeme got a reaction from jaBote in Autobuff   
    Yes
    - script autobuffs -1,{OnPCLoginEvent: addtimer 60000,"autobuffs::OnBuffs"; end;OnBuffs: sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; specialeffect2 EF_INCAGILITY; specialeffect2 EF_BLESSING; addtimer 60000,"autobuffs::OnBuffs"; end;}
  15. Upvote
    kyeme got a reaction from karazu in Autobuff   
    Yes
    - script autobuffs -1,{OnPCLoginEvent: addtimer 60000,"autobuffs::OnBuffs"; end;OnBuffs: sc_start SC_INC_AGI,240000,10; sc_start SC_BLESSING,240000,10; specialeffect2 EF_INCAGILITY; specialeffect2 EF_BLESSING; addtimer 60000,"autobuffs::OnBuffs"; end;}
  16. Upvote
    kyeme got a reaction from kerbiii in help fix this script it wont start   
    Try to check the "mapflag nowarp" if you have this command, the warpparty will not work..
  17. Upvote
    kyeme reacted to jaBote in Move rAthena to Hercules   
    I've reached a very similar SQL to yours, please compare and remember to make a backup before applying (I haven't tested them but there shouldn't be problems):
     
    -- rAthena to Hercules main database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your main.sql-- Last revision: November 2, 2013-- Drop table `skillcooldown` since it's not used in HerculesDROP TABLE IF EXISTS `skillcooldown`;-- Upgrades for table `cart_inventory`ALTER TABLE `cart_inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `char`ALTER TABLE `char` DROP COLUMN `moves`, ADD `slotchange` SMALLINT(3) UNSIGNED NOT NULL default '0', ADD `char_opt` INT( 11 ) UNSIGNED NOT NULL default '0', ADD `font` TINYINT( 3 ) UNSIGNED NOT NULL DEFAULT '0';-- Upgrades for table `guild_storage`ALTER TABLE `guild_storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;-- Upgrades for table `inventory`ALTER TABLE `inventory` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `sql_updates`--CREATE TABLE IF NOT EXISTS `sql_updates` ( `timestamp` int(11) unsigned NOT NULL, `ignored` enum('Yes','No') NOT NULL DEFAULT 'No', PRIMARY KEY (`timestamp`)) ENGINE=MyISAM;-- Existent updates to enterINSERT INTO `sql_updates` (`timestamp`) VALUES (1360858500);INSERT INTO `sql_updates` (`timestamp`) VALUES (1360951560);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362445531);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362528000);INSERT INTO `sql_updates` (`timestamp`) VALUES (1362794218);INSERT INTO `sql_updates` (`timestamp`) VALUES (1364409316);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366075474);INSERT INTO `sql_updates` (`timestamp`) VALUES (1366078541);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381354728);INSERT INTO `sql_updates` (`timestamp`) VALUES (1381423003);INSERT INTO `sql_updates` (`timestamp`) VALUES (1382892428);INSERT INTO `sql_updates` (`timestamp`) VALUES (1383167577);-- Updates to table `storage`ALTER TABLE `storage` MODIFY `equip` INT(11) UNSIGNED NOT NULL default '0', DROP COLUMN `bound`;---- Table structure for table `account_data`--CREATE TABLE IF NOT EXISTS `account_data` ( `account_id` int(11) unsigned NOT NULL default '0', `bank_vault` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`account_id`)) ENGINE=MyISAM; uPaste.me mirror: http://upaste.me/7fbc8490ebb57a6a 
    Also, even if not needed, here's the log upgrade query:
    -- rAthena to Hercules log database upgrade query.-- Please don't use if too outdated.-- Remember to make a backup before applying.-- Apply in the same database you applied your logs.sql-- Last revision: November 2, 2013-- Upgrades to table `picklog`ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$') NOT NULL default 'P';-- Drop table `cashlog` since it's not used in HerculesDROP TABLE IF EXISTS `cashlog`;uPaste.me mirror: http://upaste.me/a011849121f6f38c 
    Hope it's useful.
  18. Upvote
    kyeme reacted to Uzieal in Hallow Ground Map   
    File Name: Hallow Ground Map 2.0
    File Submitter: Uzieal
    File Submitted: Oct 31, 2013
    File Category: Maps & Textures
    Preview: http://imageshack.us/a/img59/5090/7u4u.png
     
    Hallow Ground is a Large Hercules Inspired Haloween Themed Event Style Map that may also be used as a Town Map.
    Once the final version of this is released this will also include a Spawn Event with a custom mob, Indoor Maps for all the
    buildings, & other optimizations such as Custom Mp3 Audio, Effects & Mini-Map. This has over 4,000 hand placed models!

    Just Released:
    Hallow Ground Map 2.0 should contain the missing models and textures that were not included in version 1.0

    Click here to download Hallow Ground Map 2.0
  19. Upvote
    kyeme reacted to Mystery in Hercules: Changes, Adjustments, and Explanations!   
    Hello Hercules Community!   As you may have noticed, the staff has been working hard around Hercules whether it's through forum moderation, commit-a-ganzas, and even keeping the community updated as much as possible through staff's blogs. With that in mind, we would like to bring this topic to the community's attention to give the community a more 'insight' into behind the scenes of what staff has been discussing about.     Calling Developers! Do you have experience and knowledge when it comes to scripting or maybe within the source? Would you like to take part on helping Hercules? Then you've come to the right topic! Hercules is looking for well rounded knowledgeable script and core developers. You are required to have knowledge when it comes to scripting (i.e. script commands, its functions, etc.) and source structure (i.e. understanding the emulator's source structure, code, algorithm, etc.).   As a Script Developer, you'll be responsible for developing functioning scripts for the emulator as well as maintaining the Script Release & Support section of the boards. As for Core Developers, your sole purpose is to help develop functional source code and structure; with a side of browsing through the Source & Plugin Release & Support sections.   If you wish to take apart of Hercules' staff, please drop a Staff Application which then the rest of the staff get to critique. In the 'Message Subject' field, please indicate the position you wish to apply for: Script Developer or Core Developer.    Important: Please make sure you provide work you've done or created! You can simply do this by providing us link(s) to your work / creation. Keep in mind that this work can be valid through 'Pull Requests' you've put towards Hercules (They have to be actual scripting work/source code work; no simple database updates or small command changes, etc.).   If you have no work at all to show us, we will require you to do something by means of fixing a given number of bugs (or if it's a substantial one) through the bug tracker. By doing so we're able to validate your knowledge in the position in which you're applying for.     Development under the Panel Are you knowledgeable when it comes to knowing the inside and outs of a Flux Control Panel and know how to function with PHP, Javascript, CSS, etc.? Well, if you're saying yes to this, then we would like you to be a part of our team! Recently, Hercules released a Flux Control Panel catered only for Hercules' emulator with the help of Gepard! You can view the release information here.   This position will be titled 'Flux CP Developer' and you'll have a couple of responsibilities. With this position, you'll be in charge of maintaining our FluxCP branch by adding new code, features, and adjusting the database to match Hercules'. If you feel you can fit this description, please don't hesitate to drop us a Staff Application which then the rest of the staff get to critique. In the 'Message Subject' field, please indicate 'Flux CP Developer' as your position.   Important: Please make sure you provide work you've done or created! You can simply do this by providing us link(s) to your work / creation. Keep in mind that this work can be valid through 'Pull Requests' you've put towards Hercules' Flux CP Branch (The work can't be simple; has to be sufficient enough for us to judge your knowledge).   You can find our Hercules' FluxCP Repo here.     Septober Digest We realize that we did not release a digest for the Month of September. The reason behind this was that in September, we did not have enough 'worthwhile' activity. However, this doesn't mean we shouldn't have done statistics… though if we did, it wouldn't be much. This is why when November hits, we'll be releasing a 'Septober' Digest which will encompass all of September's activity and October's. Stay tuned~     Forum Descriptions Some of you may have noticed that our sub-forums have gotten new little 'descriptions' underneath them; with the help of Uzieal~   We've discussed that it was probably beneficial to have forum descriptions describing what the sub-forum is supposed to be about. Hopefully with the new descriptions, they will help give a better understanding to our members regarding a proper designation towards topics they wish to create - hopefully reducing the amount of topics that need to be moved around~ =P     Introducing 'Former' Staff Positions Behind the scenes of discussion, which hasn't been open to the public, the staff has discussed issues regarding staff activity. What we mean by this is that, normally when it came to eAthena and rAthena, we would simply move staff who have been inactive for quite some time into the CC (Community Contributor) group. However, doing this meant that the staff has lost their position and is no longer known for their previous role. In Hercules, we decided to setup a Staff Activity system (thanks for the concept Uzieal~) where that staff who are no longer active, will have a opacity image of their former role; their name will also change from <Role> to Former <Role> indicating that this certain member is no longer active with us, but we kept their identity.   For example: [Active Staff Member]   [Inactive Staff Member]   As well, they'll be changed from 'Forum Managers' to 'Former Forum Manager'.      We feel that this new system will help members of the community know who former staff members were, and their role.
  20. Upvote
    kyeme reacted to Mystery in Septober Digest 2013   
    As mentioned in my previous news, here is the Septober Digest that covers the month of September and October!

    Septober Digest 2013
    The following digest covers the month of September 1st - October 31st 2013.
     
    Team Changes
    [*]sevenzz23 has joined as a Community Contributor. [*]ossi0110 has joined as a Community Contributor. [*]kyeme has been moved from Community Contributor to High Council. [*]Uzieal joined the team as a Graphic Moderator.

    Development Highlights
    [*]Official Monster Transformation Support (9692bc0) [*]HPM: Hooking (a49787f) (Topic) [*]Changing 'tick' variables to 64 bit (44c33fd) [*]Addition of idletime options (e08c05a) [*]Official Font Support (4340bf7) [*]New ability to use NPC Constants instead of their Sprite IDs (124ab2a) [*]Shadow System implemented (baef78f, Topic) [*]Mapflag: 'nocashshop' has been added (8629562) [*]'Quest Bubbles' modified to work as Official (94b7b25) [*]Added support for missing or empty categories in cashshop_db.conf (448dce8) [*]Introduction of Bank Support (c5c3381) (Topic) [*]Support of Rebellion Class has made its way to Hercules! (7d8f83d) (Update: f8f073b) [*]A wide range of HPM Interface Updates: [*]Mob.c Interface [*]Unit.c Interface [*]Npc.c Interface [*]Pet.c Interface [*]Path.c Interface [*]Quest.c Interface [*]Itemdb.c Interface [*]Battleground.c Interface [*]npc_chat.c interface [*]Guild.c Interface [*]Storage.c Interface [*]Homunculus.c Interface [*]Instance.c Interface [*]Intif.c Interface [*]log.h Interface [*]Mercenary.c Interface [*]Party.c Interface [*]Trade.c Interface [*]Searchstore.c Interface [*]pc.c Interface [*]Script.c Interface [*]Status.c Interface



    Scripting Highlights
    [*]downrefitem command update (baa5c1f) [*]Addition of 'consumeitem' as an alias of 'itemeffect' (b703fbd) [*]Script commands that have been added: addmonsterdrop and delmonsterdrop (7ddcff9) [*]query_sql will now halt script execution when a invalid query is used (3a8837f)

    Server-Client Highlights
    [*]Fixed several packet errors with pre-renewal clients from 2006-2008 (df0a324) (Updated: 272ff45) [*]Fixed super novices' guardian angel prayer (ae850bd) [*]Job ranking display fixes (3738fc7) [*]Fixed Char Deletion Bug on 2013++ Clients (ca15680) [*]Fixed Client Login Packet 0x0825 (fad3040) [*]Attempting to add a item to a full storage will no longer render the item un-draggable (24556fb) [*]Movement of invisible units is no longer sent to foes (e587d71) [*]Storage list/packet size is no longer a problem (d080ed8)

    Skill Fixes
    [*]Guild Aura bug that'd disregard friend-or-foe data (eb53067) [*]Fixed skill unit bug that'd disregard friend-or-foe data (e2330c6) [*]Addition of 'WE_BABY' distance check (a879388) [*]Shadow Form and Multi-Hit Skills (9de926c)

    Build System Highlights
    [*]Added Makefile.in change detection (and auto-rebuild) capabilities (beaf3a2) [*]Makefiles have been improved to better serve concurrent jobs (-j) (babdf60) [*]Changed Makefiles to avoid rebuilding targets if nothing was modified (233453c) [*]Added 'buildclean' target to all makefiles (d6965a8)

    NPC & Database Highlights
    [*]Support of Moon Star and Super Star items (da1f16b) [*]Huge Instance Improvements/Updates (93f6104) [*]Support of Skill ID Constants Added (c87513d[/size]) [*]Moscovia Quest Update / Catalog Magician Move (f821e43) [*]Massive Merge on NPCs (418dd82) [*]Homun-S Quest Updated (a2e01e4) [*]Updated spawns for: iz_dun05, dic_dun, dewata and dew_dun (d8f102f)

    September Statistics
    [*]During the period there were 130 Commits. [*]Of these 130 commits, 20 included bug-fixes. [*]5 Commits from Pull Requests [*]In this month, there were 112,008 Additions and 22,003 Deletions.

    October Statistics
    [*]During the period there were 136 Commits. [*]Of these 136 commits, 31 included bug-fixes. [*]12 Commits from Pull Requests [*]In this month, there were 99,179 Additions and 82,893 Deletions.

  21. Upvote
    kyeme reacted to Yommy in PushCart Decoration   
    Maby Ind can attempt again with his awesome new client
  22. Upvote
    kyeme reacted to Mumbles in MAC IP Address   
    Yes, and Yommy was also saying that one-time use could easily be bypassed. I was saying that it could still be viable for dual-client checks, since the network connection is reset along with the MAC address. I'd say the safest bet would be to NOT tell your players that MAC address logging is enabled until someone comes up with hardware IDing.
  23. Upvote
    kyeme reacted to Jedzkie in Moonstar and World Star Item Script   
    https://github.com/HerculesWS/Hercules/pull/208
  24. Upvote
    kyeme reacted to Ryuuzaki in MAC IP Address   
    I really doubt it will help a lot, but maybe some newbies will fail at the mac check so here we go.
     
    Hercules Developers are free to implement this code snippet whenever they want.
     
    NOTE, do backups of your src folder AND your login mysql database, or wait till a developer implements mac to hercules.
     
    1. Download the file i attached.
    2. Place mac_check.patch into your hercules folder and apply the patch via GIT.
    3. Recompile the server, do NOT start the server yet!
    4. Open your mysql tool and select your ragnarok (server) database.
    5. Copy the below text into the query window
    ALTER TABLE `login` ADD COLUMN `last_mac` VARCHAR(18) NOT NULL DEFAULT ''  AFTER `pincode_change` ;  6. Click run / apply to add the new last_mac to your login database.
     
    You are set serverwise!!
     
    What do you need to send the mac?
     
    1. Your client must have the "SSO login" enabled. (i suggest R.O.L.e.X : http://herc.ws/b...opic/930-rolex/ as the login system of your choice)
    2. That's all.
    3. Enjoy!
    mac_check.patch
  25. Upvote
    kyeme reacted to Jedzkie in implant rytech so far 3ceam v2   
    Testing
     

×
×
  • Create New...

Important Information

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