Jump to content

Ind

Retired Staff
  • Content Count

    1655
  • Joined

  • Last visited

  • Days Won

    131

Reputation Activity

  1. Upvote
    Ind got a reaction from REKT in problem on @go text   
    Thank you, fixed in https://github.com/HerculesWS/Hercules/commit/ac3caf50ec83838486e18294a2d1b68794439119
  2. Upvote
    Ind got a reaction from WireShark in Implement New Battleground queue system   
    I'm already working on it (thanks to Yommy <3~)
  3. Upvote
    Ind got a reaction from Xgear in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  4. Upvote
    Ind got a reaction from Kiel in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  5. Upvote
    Ind got a reaction from jTynne in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  6. Upvote
    Ind reacted to Beret in 3rd Class Effects : Update   
    Great job, glad to help the community.
  7. Upvote
    Ind got a reaction from icabit in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  8. Upvote
    Ind got a reaction from Beret in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  9. Upvote
    Ind got a reaction from jaBote in 3rd Class Effects : Update   
    3rd Class Effects : Update

    Hello~! What?!
    This is to let you know about a very prominent bug that Hercules just squashed. The prominent bug
    As brought up by Beret here, when a character possessing warlock spheres comes into another character's sight, the spheres are not displayed -- unless you were in the character's range when he created them. This bug was not exclusive to warlock spheres' effect: Camouflage Duplelight Oratio Freezing Venom Impress Hallucination Walk Rolling Cutter Banding Crystalize Deep Sleep Cursed Circle Blood Sucker Shadow Form Manhole This bug has now been fixed, as of today the visual effects of all the skills above should be working as they should.
    Special Thanks to
    Beret, for bringing this issue to light Yommy, for making it possible for me to understand how officials do this Rytech, for the list of statuses that use this came from his 3CeAM Link~u!
    Commit
  10. Upvote
    Ind reacted to jaBote in Making Pull Requests on Hercules   
    Frequently Asked Questions (FAQs):



    I thought splitting this section from the main post would be beneficial because it's easier to write it and to look in it in case you need an answer and I have it down there.



    I hope there are almost no questions because I think my guide is clear enough, though it's normal there will be some questions out here since my explanations aren't perfect. That's why this dedicated section exists.



    Questions will be marked with a big Q and answers will be marked with a A. Both will be big enough to easily tell them apart.



    Question list:
    Questions & Answers:



    Q: I get a warning message while trying to make a Pull Request on GitHub. What happens?

    A: You can't make a pull request if you get a warning message from GitHub. Those messages usually provide enough information to tell you what to do. Here are all warnings I've received from GitHub to date and its possible solutions – just remember to change HerculesUser to your GitHub username–:
    Oops! HerculesWS:master is already up-to-date with HerculesUser:master Try a different branch?You haven't pushed any changes to your remote repository or the changes you've pushed make it identical to the original Hercules repository. You can only make a pull request if your repository is not exactly the same as the original Hercules'. Oops! There's already a pull request for HerculesUser:master Try a different branch or view the pull request?You already have an active pull request on Hercules and you have to wait until it's approved or rejected. If you want to add changes to your pull request, you can push more changes to your repository if you want: they'll automatically be added to your active pull request. Q: How do I update my fork to Hercules' last version?

    A: This is quite simple but not as easy as updating an official Hercules repository as you can't just pull as you did when updating the original Hercules repository – if you try to pull on your fork you're pulling from your fork's repository, not Hercules' –. Doing this task also depends on your OS:
    On Windows: (I don't deem necessary to add a how-to picture for this)Right-click your Hercules fork folder and select Fetch... option from the TortoiseGit submenu. A new window will pop up. Select Arbitrary URL option and place original Hercules repository URL there (I mean this one: https://github.com/HerculesWS/Hercules.git). Then click OK (unless you want to change any of the available options, which is unfrequent) for making the fetch update to start. Another window will be opened and your fork will be updated to Hercules last revision. Close it once you're done. On Unix: You just have to run this command (it's actually two commands joint on a single shell statement): git fetch upstream && git merge upstream/master Just remember that if you want these changes to also be on your GitHub repository, you'll have to push them. Otherwise they'll just be available on your local repository, as always.



    Q: I always get an error message whenever I try to push my changes even though I make sure I put correct access credentials. What happens?

    A: I've just experienced this error when I tried to push to the wrong repository (i.e. the original Hercules repository, to which I don't have access and you surely don't). Make sure you're trying to push to a repository on which you have permission for this. Ah! Also make sure you have an active Internet connection since you'll be using it!



    Q: I can't commit anything to my local repository. What happens?

    A: Chances are you're trying to make a commit without changing any file, and that's not possible for Git. Maybe you actually changed some files but forgot to save them?
  11. Upvote
    Ind reacted to Yommy in Donate your Packet Len Extraction here!   
  12. Upvote
    Ind reacted to jaBote in Making Pull Requests on Hercules   
    Do you remember the many advantages Git has against Subversion (SVN)? One of those many advantages is the fact that in Git, you can send pull requests in order to directly collaborate with the community, without even the need of being an official Hercules dev, and if you contribute enough you can surely become a dev if you want. Well then, this is an – as detailed as possible – guide on how to make them.
     
    First of all: What is a pull request? It's a way of telling the original devs of a (commonly open-sourced) project what changes you've made yourself on their project supposedly for the better, and kindly ask them (request) to merge it (pull). In short, it's a way of collaborating to a project without the need of being related at all to it. Obviously, your pull request may be rejected if it doesn't meet some requirements, but this is another story.
     
    Git does also offer its own tools for pull requests (more info), but they're incompatible with the ones GitHub has. Moreover, GitHub pull request tools are easier to use than Git's.
     
    What steps are required in order to do a pull request? In abstract, you'll have to:
    Sign up for a GitHub account, if you don't have it already. Fork Hercules project in GitHub, if you haven't done this already. Clone your previous fork to a local repository in your computer, if you haven't done this already. Work on your fork. Commit your changes to your local repository. Push the changes you've previously committed to your remote repository on GitHub. Make the aforementioned pull request to the Hercules official repository. Steps 3 and 5 have already been shown on the Obtaining Hercules guide by @Ind (Obtaining Hercules through Git on *insert OS here* and Troubleshooting sections). These two steps will be slightly reviewed, but expect a fully detailed how-to in the others.
     
    By the way, GitHub also has its own (generic) guides on how to fork a repo and then make a pull request, which also explain the toughest parts of this guide (though they're not so tough) and cover steps 2-6 (supposing you have a Git console). You're encouraged to go and read them if you want.
     
    Well, here we go with the guide!
     
    Step 1: Sign up for a GitHub account



    Step 2: Fork Hercules project in GitHub



    Steps 3 to 6: Local computer work



    Step 7: (Finally) submitting the pull request


     
    Congratulations! You have successfully made your first pull request on Hercules! This is a reason to be proud of yourself, isnt it?
  13. Upvote
    Ind reacted to malufett in How to enable multiple hits for claymore trap?   
    for easy trick
     
    map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);if (sg->unit_id != UNT_FIREPILLAR_ACTIVE)  clif->changetraplook(&src->bl, sg->unit_id==UNT_LANDMINE?UNT_FIREPILLAR_ACTIVE:UNT_USED_TRAPS);sg->limit=DIFF_TICK(tick,sg->tick)+1500 +  (sg->unit_id== UNT_CLUSTERBOMB || sg->unit_id== UNT_ICEBOUNDTRAP?1000:0);// Cluster Bomb/Icebound has 1s to disappear once activated.if( sg->unit_id != UNT_CLAYMORETRAP ) sg->unit_id = UNT_USED_TRAPS; //Changed ID so it does not invoke a for each in area again. break; then change your skill_cast_db.txt

     
    so the total hit will be (duration1 left/1000)
     

  14. Upvote
    Ind got a reaction from Jey in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  15. Upvote
    Ind got a reaction from malufett in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  16. Upvote
    Ind got a reaction from mybitch in How to enable multiple hits for claymore trap?   
    find
    case UNT_FIREPILLAR_ACTIVE: map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);change to case UNT_FIREPILLAR_ACTIVE: if( sg->unit_id == UNT_CLAYMORETRAP ) { int spa = 0, spl = map_foreachinrange(skill->area_sub, &src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), BL_CHAR, &src->bl, sg->skill_id, sg->skill_lv, tick, BCT_ENEMY, skill->area_sub_count); if( spl <= 0 ) spl = 1; for( spa = 0; spa < spl; spa++ ) map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick); } else map_foreachinrange(skill->trap_splash,&src->bl, skill->get_splash(sg->skill_id, sg->skill_lv), sg->bl_flag, &src->bl,tick);again untested, and poorly written because im lazy #__# XD
  17. Upvote
    Ind got a reaction from Xgear in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  18. Upvote
    Ind got a reaction from mybitch in How to do this for archer?   
    in skill.cfind
    switch(skill_id) {//direction case MG_FIREWALL: case PR_SANCTUARY: case SC_TRIANGLESHOT: case LG_OVERBRAND: case SR_KNUCKLEARROW: case GN_WALLOFTHORN: case EL_FIRE_MANTLE: dir = unit_getdir(bl);// backwards break; // This ensures the storm randomly pushes instead of exactly a cell backwards per official mechanics. case WZ_STORMGUST: dir = rand()%8; break; case WL_CRIMSONROCK: dir = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]); break; }change to switch(skill_id) {//direction case MG_FIREWALL: case PR_SANCTUARY: case SC_TRIANGLESHOT: case LG_OVERBRAND: case SR_KNUCKLEARROW: case GN_WALLOFTHORN: case EL_FIRE_MANTLE: case AC_SHOWER: dir = unit_getdir(bl);// backwards break; // This ensures the storm randomly pushes instead of exactly a cell backwards per official mechanics. case WZ_STORMGUST: dir = rand()%8; break; case WL_CRIMSONROCK: dir = map_calc_dir(bl,skill_area_temp[4],skill_area_temp[5]); break; }
  19. Upvote
    Ind got a reaction from quesoph in Hercules Console Input Update   
    Hercules Console Input Update
    Hello~! What?
    Yet another super-mega-special update brought to you by Hercules Sometime ago we re-introduced "Console Input", and then I mentioned about changing the syntax (which was horrible), well thats what this is about. Changes
    Console Commands now make full use of the Hercules Renewal Phase One, there are global commands and there are per-server commands The new commands
    server server malloc_usage displays total memory (in MB) being used by the server's memory manager server ers_report displays the ERS (entry-reuse-system) report server exit shuts down the server (equivalent to @mapexit) server plugins lists all plugins being used by the server help lists all available commands and their subcommands, this is a special command and you can use it after a command section to list its specific subcommands e.g. "server help" Map-Server specific gm gm info changes the console's virtual character position (this data is used by @commands), e.g. "gm info 150 150 prontera" gm use uses a command in the game server, e.g. "gm use @broadcast HERCULES IS AWESOME" or "gm use #heal player" Hercules Plugin Mananger
    This update also makes console commands "HPM-FRIENDLY", it is incredibly easy to add new console commands, example: // Copyright (c) Hercules Dev Team, licensed under GNU GPL. // See the LICENSE file // Sample Hercules Plugin CPCMD(sample) {     ShowInfo("Hercules is awesome!n"); } CPCMD(sample2) {     ShowInfo("Hercules is incredible!n"); } CPCMD(sample2) {     ShowInfo("Hercules is efficient!n"); } HPExport void plugin_init (void) {     HPMi->addCPCommand("hercules:is:awesome",CPCMD_A(sample));     HPMi->addCPCommand("hercules:is:incredible",CPCMD_A(sample2));     HPMi->addCPCommand("hercules:is:efficient",CPCMD_A(sample3)); }The above creates 3 commands "hercules is awesome","hercules is incredible" and "hercules is efficient", you can do pretty much anything you want with them, it also makes use of the "help" key, for example "hercules help" or "hercules is help" will output all its respective subcommands. Links
    Hercules Plugin Mananger Commit
  20. Upvote
    Ind got a reaction from sketchyphoenix in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  21. Upvote
    Ind got a reaction from Napster in Hercules Console Input Update   
    Hercules Console Input Update
    Hello~! What?
    Yet another super-mega-special update brought to you by Hercules Sometime ago we re-introduced "Console Input", and then I mentioned about changing the syntax (which was horrible), well thats what this is about. Changes
    Console Commands now make full use of the Hercules Renewal Phase One, there are global commands and there are per-server commands The new commands
    server server malloc_usage displays total memory (in MB) being used by the server's memory manager server ers_report displays the ERS (entry-reuse-system) report server exit shuts down the server (equivalent to @mapexit) server plugins lists all plugins being used by the server help lists all available commands and their subcommands, this is a special command and you can use it after a command section to list its specific subcommands e.g. "server help" Map-Server specific gm gm info changes the console's virtual character position (this data is used by @commands), e.g. "gm info 150 150 prontera" gm use uses a command in the game server, e.g. "gm use @broadcast HERCULES IS AWESOME" or "gm use #heal player" Hercules Plugin Mananger
    This update also makes console commands "HPM-FRIENDLY", it is incredibly easy to add new console commands, example: // Copyright (c) Hercules Dev Team, licensed under GNU GPL. // See the LICENSE file // Sample Hercules Plugin CPCMD(sample) {     ShowInfo("Hercules is awesome!n"); } CPCMD(sample2) {     ShowInfo("Hercules is incredible!n"); } CPCMD(sample2) {     ShowInfo("Hercules is efficient!n"); } HPExport void plugin_init (void) {     HPMi->addCPCommand("hercules:is:awesome",CPCMD_A(sample));     HPMi->addCPCommand("hercules:is:incredible",CPCMD_A(sample2));     HPMi->addCPCommand("hercules:is:efficient",CPCMD_A(sample3)); }The above creates 3 commands "hercules is awesome","hercules is incredible" and "hercules is efficient", you can do pretty much anything you want with them, it also makes use of the "help" key, for example "hercules help" or "hercules is help" will output all its respective subcommands. Links
    Hercules Plugin Mananger Commit
  22. Upvote
    Ind got a reaction from Xantara in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  23. Upvote
    Ind reacted to jaBote in Hacer Pull Requests en Hercules   
    ¡Vaya! Parece que hay gente deseosa de colaborar directamente con Hercules pero que no sabe cómo. Me parece estupendo. Además, a petición de los administradores, esta guía también tendrá una versión en inglés porque nuestros compañeros anglosajones así lo necesitan.

    ¿Recuerdan cuando en mi guía de cómo obtener Hercules les comenté que una gran ventaja de usar Git frente a usar Subversion (SVN) es que existe la posibilidad de participar de forma activa en la comunidad enviando pull requests? Pues aquí les traigo una guía detallada para que puedan hacer cuantos pull request quieran sin problema.

    Ante todo, ¿qué es un pull request? Se trata de un envío de un cambio o mejora de un determinado proyecto a los desarrolladores del mismo, junto a la petición (request) de tal forma que ellos mismos puedan determinar y valorar si es conveniente para el proyecto y "tirar" (pull) de dicho cambio para que aparezca en el repositorio, o simplemente declinar la petición.

    Git ofrece sus propias herramientas para hacer pull requests (más información), pero no serán estas herramientas las que usaremos (porque tampoco son compatibles), sino las que nos ofrece GitHub, que sirven para algo parecido pero es más visual y puede hacerse también desde cualquier plataforma.

    ¿Qué pasos hay que realizar para hacer un pull request a Hercules? Pues, a grandes rasgos, son los siguientes:
    [*]Registrar un usuario en GitHub, si aún no tienes. [*]Hacer un fork (una "bifurcación" en la línea de desarrollo: generalmente se hacen para contribuir al proyecto original o decidir tomarlo como base para un futuro proyecto) de Hercules en GitHub, si aún no la hiciste. [*]Clonar el nuevo repositorio en nuestra máquina, si aún no lo tienes (no sirve trabajar en el repositorio original de HerculesWS). [*]Trabajar en el nuevo repositorio local. [*]"Enviar" (Commit) los cambios a nuestro repositorio local en el fork. [*]"Empujar" (Push) los cambios recién enviados a nuestro repositorio remoto en GitHub. [*]Hacer el propio pull request al repositorio original de Hercules, desde la web de GitHub.

    Los pasos 3 y 5 se han visto en mi anterior guía sobre la obtención de Hercules (el paso 5 en la sección Preguntas Frecuentes), y el resto de pasos son suficientemente sencillos aunque se detallará exhaustivamente su realización. Se juntarán algunos apartados de la guía bajo un mismo epígrafe (3, 4, 5 y 6) para trabajar más cómodamente.

    GitHub también provee sus propias guías paso a paso (en inglés) para casos generales sobre cómo hacer un fork y posteriormente hacer un pull request, aunque en la presente guía nos centraremos en hacer todo paso a paso para poder hacer pull requests a Hercules.

    Para esta guía se usará la interfaz de TortoiseGit en inglés. Ya comenté en mi anterior guía lo poco adecuada que era la traducción de la interfaz al español, y además podré reutilizar las imágenes para la traducción de la presente guía al idioma anglosajón.

    Bueno, comencemos ya con la propia guía. He decidido cubrir con spoilers cada paso de la guía, dado que además de su explicación vienen con sus buenas imágenes informativas.

    Paso 1: Registrar un usuario en GitHub



    Paso 2: Hacer un fork de Hercules



    Pasos 3 a 6: Trabajo en la máquina local



    Paso 7: Hacer (por fin) el pull request


     
     
    Y ya está. No es tan complicado todo, ¿verdad? Esta pregunta parece irónica, pero es un proceso realmente simple. Una vez hayas hecho un par de pull requests verás que es un proceso increíblemente simple.
  24. Upvote
    Ind got a reaction from Lanz in Introducing Hercules Plugin Manager   
    Introducing Hercules Plugin Manager
    Hello~! What?!
    I can't express how awesome this is. It's awesome, so awesome. ...Incredibly awesome, yet another awesome feature brought to you by Hercules Thoughtfully Designed
    This features' design began long ago, a precursor to this feature, which demonstrates for how long we've been planning it, is the Hercules Renewal Phase One Usage Example
    Can be used to create @commands Can be used to create script commands Can be used to create console commands Can be used to replace core functions with your ownA example of how handy this can be: when any RO emu updates a section of the code that is used by a user's modifications, e.g. Harmony, no matter how silly the edit is (e.g. a tab alignment update) the user has to wait for his modification's developer to update his patch (unless he manages to update it on his own), if the developer in question starts to use the HPM for his hercules users instead of a patch file, his users using hercules will no longer have to wait for updates unless the way the code works changes on hercules' end. All About It - Documentation
    Its being done, most of it is already available in our wiki Hercules Plugin Mananger Building HPM Plugin for MSVC Building HPM Plugin for GCC Links~!
    Hercules Console Input Update (HPM Friendly) Commit Visual Studio 2010 2 Notes
    The plugin "sample" is currently missing projects for msvc2010 and msvc2012, thats because I dont have them, this will be solved asap, once one of our developers who possesses them logs in. Login/Char server plugin support is currently disabled, it should be enabled by the next release, which will also include Hooks support (as an alternative to overloading)
  25. Upvote
    Ind got a reaction from kyeme in Hercules Console Input Update   
    Hercules Console Input Update
    Hello~! What?
    Yet another super-mega-special update brought to you by Hercules Sometime ago we re-introduced "Console Input", and then I mentioned about changing the syntax (which was horrible), well thats what this is about. Changes
    Console Commands now make full use of the Hercules Renewal Phase One, there are global commands and there are per-server commands The new commands
    server server malloc_usage displays total memory (in MB) being used by the server's memory manager server ers_report displays the ERS (entry-reuse-system) report server exit shuts down the server (equivalent to @mapexit) server plugins lists all plugins being used by the server help lists all available commands and their subcommands, this is a special command and you can use it after a command section to list its specific subcommands e.g. "server help" Map-Server specific gm gm info changes the console's virtual character position (this data is used by @commands), e.g. "gm info 150 150 prontera" gm use uses a command in the game server, e.g. "gm use @broadcast HERCULES IS AWESOME" or "gm use #heal player" Hercules Plugin Mananger
    This update also makes console commands "HPM-FRIENDLY", it is incredibly easy to add new console commands, example: // Copyright (c) Hercules Dev Team, licensed under GNU GPL. // See the LICENSE file // Sample Hercules Plugin CPCMD(sample) {     ShowInfo("Hercules is awesome!n"); } CPCMD(sample2) {     ShowInfo("Hercules is incredible!n"); } CPCMD(sample2) {     ShowInfo("Hercules is efficient!n"); } HPExport void plugin_init (void) {     HPMi->addCPCommand("hercules:is:awesome",CPCMD_A(sample));     HPMi->addCPCommand("hercules:is:incredible",CPCMD_A(sample2));     HPMi->addCPCommand("hercules:is:efficient",CPCMD_A(sample3)); }The above creates 3 commands "hercules is awesome","hercules is incredible" and "hercules is efficient", you can do pretty much anything you want with them, it also makes use of the "help" key, for example "hercules help" or "hercules is help" will output all its respective subcommands. Links
    Hercules Plugin Mananger Commit
×
×
  • Create New...

Important Information

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