Jump to content

hemagx

Core Developers
  • Content Count

    248
  • Joined

  • Days Won

    10

Posts posted by hemagx


  1. Well I've done few changes to this, I used same method as @AnnieRuru but as a plugin, first hercules provides us with the amazing status->pc_calc_additional which is meant for plugins, it's placed right after Equipment parse so it would not overwrite the value the plugin set, and then the plugin set the matk rate to 0, and tada!

    I've also changed map check to check the id of the map instead, this is simpler, faster and also allowed a run time check for if you accidentally put a wrong map name (check server_online function), and it's tested :3 works as charm!

    /**
     * This file is part of Hercules.
     * http://herc.ws - http://github.com/HerculesWS/Hercules
     *
     * Copyright (C) 2013-2019  Hercules Dev Team
     * Copyright (C) Hemagx <brahem@aotsw.com>
     *
     * Hercules is free software: you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     */
    
    /// Zero Matk Hercules Plugin
    
    #include "common/hercules.h" /* Should always be the first Hercules file included! (if you don't make it first, you won't be able to use interfaces) */
    #include "common/core.h"
    #include "common/mapindex.h"
    #include "map/map.h"
    #include "map/pc.h"
    #include "map/status.h"
    
    #include "plugins/HPMHooking.h"
    #include "common/HPMDataCheck.h" /* should always be the last Hercules file included! (if you don't make it last, it'll intentionally break compile time) */
    
    HPExport struct hplugin_info pinfo = {
    	"Zero MATK",    // Plugin name
    	SERVER_TYPE_MAP,// Which server types this plugin works with?
    	"0.1",       // Plugin version
    	HPM_VERSION, // HPM Version (don't change, macro is automatically updated)
    };
    
    const char *map_name = "prontera";
    int16 map_id = -1; // init it with invalid value to make sure on failure it would always cause our check to fail.
    
    static void status_calc_pc_additional_post(struct map_session_data *sd, enum e_status_calc_opt opt)
    {
    	if (sd == NULL) // I don'r prefer usage of nullpo in hooks, unless we're replacing a function multiaple nullpo reports can turn confusing.
    		return;
    
    	if (sd->bl.m != map_id)
    		return;
    
    	sd->matk_rate = 0;
    	return;
    }
    
    /* run when server starts */
    HPExport void plugin_init (void) {
    	addHookPost(status, calc_pc_additional, status_calc_pc_additional_post);
    }
    
    HPExport void server_online (void)
    {
    	unsigned short map_index;
    
    	if ((map_index = mapindex->name2id(map_name)) == 0) {
    		ShowError("%s:plugin_init: Failed to get map index for map %s the plugin would now fail to start\n", pinfo.name, map_name);
    		core->runflag = CORE_ST_STOP;
    	}
    
    	if ((map_id = map->mapindex2mapid(map_index)) == -1) {
    		ShowError("%s:plugin_init: Failed to get map id for map %s the plugin would now fail to start\n", pinfo.name, map_name);
    		core->runflag = CORE_ST_STOP;
    	}
    }

     


  2. Greetings,

    After a long break I'm returning back to the freelancing scene, I've been in the RO private servers scene since 2012, with over 9 years of programming experience and 6 years of software development choosing me will ensure you would be getting an excellent quality of code/changes.

     

    Status: Available

     

    What do i work on?

    • Core Development (Source, C)
    • Scripting and database editing
    • Database Management
    • System Administration (Linux only)
    • I can also work on applications written in PHP, Node.js, Python, C++.

     

    Pricing

    • Hercules source editing starting from 10$ per request.
    • Hercules scripting starting from 10$ per request.
    • Hercules database editing from 5$ per request.
    • Any other requests pricing would be calculated with 8$ per hour of work.
    • For rush requests you will be charged a flat fee of 8USD per hour of work, a detailed bill of how many hours will be spent, the final sum and expected delivery date will be given before payment for any rush requests, and all rush requests are prepaid and can never be post paid.

     

    Contact methods

    • Discord: Ema#8360

     

    Payment methods

    • Paypal
    • Crypto (BTC/Ether only)
    • Western Union/Money Gram
    • Bank Wire

     

    Terms of Service

    • With every requests you get a guaranteed Hercules compatibility for 1 year, In-case any of Hercules update during this period breaks my code you will be given an update upon request free of charge.
    • After first year of the guaranteed compatibility period you will be charged a small fee for any updates, very simple updated may be still done for free and it's up to my judgement.
    • In-case of paying with any other services than Crypto currency you're sole responsible of any fees the used service asks for, and that the net amount is at least equivalent to what i asked for.
    • For medium/large projects a 50% deposit shall be paid, and it's nonrefundable as soon as i start working on it, rest being paid after project is done and delivered.

     

    Pre-made (Coming soon)

    • Client web settings saving/emblem/adventurer agency support (Soon)

  3. There's no point at all of doing that, it was designed this way to save memory that would happen due to any waste in IDs (which is an usual act from Gravity), not only it saves memory it also reduce the time spent in looping the status changes.


  4. 10 hours ago, Haikenz said:

    Where can I find this?

    Keep watching the topic to know when It's available.

    On 8/18/2017 at 6:47 AM, Hirist said:

    Link from NovaRO: https://novaragnarok.com/download/maps_gray.rar

    I readed another server, client can use /command to toggle gray map.

    Or... my memory is mistaken.

    I was kinda busy, but I kinda "made my own" messy version of this command. will update the topic after i finish re-write the whole thing.


  5. On 8/12/2017 at 4:18 AM, Hirist said:

    Wait for it.

    That is what i need. Hope will be released soon

    Reduce your waiting time by suggesting new features :) the modification will be released as whole and one paid pack, so we need more things to put it inside!

     

    * NEW UPDATE *

    I'm little bit slow in adding new features because I'm re-writing the core of my system, however we have two new things.

    1. Item Name Coloring
    2. Messages Timestamp "inspired by Project Chaos RO (nachtwolke.ai4rei.com)"

     

    screen_Hercules016.jpg

    screen_Hercules018.jpg

     


  6. Hello! ~

    * Introduction

    RO Hooks is a paid project, which will allow a set of custom abilities to your client, such as player name coloring, server side GM sprite and such; It is is meant to be a way to edit this old dead game client to add things either improving player's experience or giving the ability to have new of content or to give your players something special.

     

    * What do we have currently

    1. GM Clothes and Robot Clothes controller server side (Robot Clothes is a Special Event Sprite)
    2. Player Name coloring (Server-side)
    3. Item Name Coloring (Client-Side)
    4. Messages Timestamp "inspired by Project Chaos RO (nachtwolke.ai4rei.com)"
    5. More to come

     

    * Pictures

    - GM and Robot Clothes

    screen_Hercules007.jpg

    screen_Hercules008.jpg

    - Name Coloring

    screen_Hercules009.jpg

    screen_Hercules010.jpg

    screen_Hercules011.jpg

    screen_Hercules013.jpg

    - Colorizing Item Names (Configure client side, could be applied to any kind of items)

    screen_Hercules016.jpg

    - Messages Timestamp
    screen_Hercules018.jpg

    * Which Clients are supported?

    Pretty much anything 2012-04 and onward, older clients are also supported upon request.

    * Is there anything more? when is this supposed to be release? And can we suggest something?

    There's still other futures which will be announced soon, I'm pretty much working everyday to find something newer.

    It will be released as soon as we have enough set of custom futures, also any suggestions for features is more than welcome, as soon as anything new finished i will announce it here. Also as soon as it's ready for sell I will get a Paid Service topic.

     


  7.  

    Small update, i actually delayed it and not fully dropped ;)

    i should be working on it again as soon as my next PR is ready (in 2 ~ 3 day)

    Duh, s'bout time! I asked you 3 weeks ago for it and you said you'd "work on it" :/ 

     

     

    >... No promise here, but we also try to make the clan quests included in the initial commit. As said, these are plans we have and hopefully reach soon :)

    +1 I'm looking forward for this

     

     

    Yea so ? uhm


  8. Comparing Hercules Formula against Aegis they both gives same results

     

     

     

    ------------ Aegis ------------
    Stat: 1, needed points: 2
    Stat: 2, needed points: 2
    Stat: 3, needed points: 2
    Stat: 4, needed points: 2
    Stat: 5, needed points: 2
    Stat: 6, needed points: 2
    Stat: 7, needed points: 2
    Stat: 8, needed points: 2
    Stat: 9, needed points: 2
    Stat: 10, needed points: 2
    Stat: 11, needed points: 3
    Stat: 12, needed points: 3
    Stat: 13, needed points: 3
    Stat: 14, needed points: 3
    Stat: 15, needed points: 3
    Stat: 16, needed points: 3
    Stat: 17, needed points: 3
    Stat: 18, needed points: 3
    Stat: 19, needed points: 3
    Stat: 20, needed points: 3
    Stat: 21, needed points: 4
    Stat: 22, needed points: 4
    Stat: 23, needed points: 4
    Stat: 24, needed points: 4
    Stat: 25, needed points: 4
    Stat: 26, needed points: 4
    Stat: 27, needed points: 4
    Stat: 28, needed points: 4
    Stat: 29, needed points: 4
    Stat: 30, needed points: 4
    Stat: 31, needed points: 5
    Stat: 32, needed points: 5
    Stat: 33, needed points: 5
    Stat: 34, needed points: 5
    Stat: 35, needed points: 5
    Stat: 36, needed points: 5
    Stat: 37, needed points: 5
    Stat: 38, needed points: 5
    Stat: 39, needed points: 5
    Stat: 40, needed points: 5
    Stat: 41, needed points: 6
    Stat: 42, needed points: 6
    Stat: 43, needed points: 6
    Stat: 44, needed points: 6
    Stat: 45, needed points: 6
    Stat: 46, needed points: 6
    Stat: 47, needed points: 6
    Stat: 48, needed points: 6
    Stat: 49, needed points: 6
    Stat: 50, needed points: 6
    Stat: 51, needed points: 7
    Stat: 52, needed points: 7
    Stat: 53, needed points: 7
    Stat: 54, needed points: 7
    Stat: 55, needed points: 7
    Stat: 56, needed points: 7
    Stat: 57, needed points: 7
    Stat: 58, needed points: 7
    Stat: 59, needed points: 7
    Stat: 60, needed points: 7
    Stat: 61, needed points: 8
    Stat: 62, needed points: 8
    Stat: 63, needed points: 8
    Stat: 64, needed points: 8
    Stat: 65, needed points: 8
    Stat: 66, needed points: 8
    Stat: 67, needed points: 8
    Stat: 68, needed points: 8
    Stat: 69, needed points: 8
    Stat: 70, needed points: 8
    Stat: 71, needed points: 9
    Stat: 72, needed points: 9
    Stat: 73, needed points: 9
    Stat: 74, needed points: 9
    Stat: 75, needed points: 9
    Stat: 76, needed points: 9
    Stat: 77, needed points: 9
    Stat: 78, needed points: 9
    Stat: 79, needed points: 9
    Stat: 80, needed points: 9
    Stat: 81, needed points: 10
    Stat: 82, needed points: 10
    Stat: 83, needed points: 10
    Stat: 84, needed points: 10
    Stat: 85, needed points: 10
    Stat: 86, needed points: 10
    Stat: 87, needed points: 10
    Stat: 88, needed points: 10
    Stat: 89, needed points: 10
    Stat: 90, needed points: 10
    Stat: 91, needed points: 11
    Stat: 92, needed points: 11
    Stat: 93, needed points: 11
    Stat: 94, needed points: 11
    Stat: 95, needed points: 11
    Stat: 96, needed points: 11
    Stat: 97, needed points: 11
    Stat: 98, needed points: 11
    Stat: 99, needed points: 11
    Stat: 100, needed points: 16
    Stat: 101, needed points: 16
    Stat: 102, needed points: 16
    Stat: 103, needed points: 16
    Stat: 104, needed points: 16
    Stat: 105, needed points: 20
    Stat: 106, needed points: 20
    Stat: 107, needed points: 20
    Stat: 108, needed points: 20
    Stat: 109, needed points: 20
    Stat: 110, needed points: 24
    Stat: 111, needed points: 24
    Stat: 112, needed points: 24
    Stat: 113, needed points: 24
    Stat: 114, needed points: 24
    Stat: 115, needed points: 28
    Stat: 116, needed points: 28
    Stat: 117, needed points: 28
    Stat: 118, needed points: 28
    Stat: 119, needed points: 28
    Stat: 120, needed points: 32
    Stat: 121, needed points: 32
    Stat: 122, needed points: 32
    Stat: 123, needed points: 32
    Stat: 124, needed points: 32
    Stat: 125, needed points: 36
    Stat: 126, needed points: 36
    Stat: 127, needed points: 36
    Stat: 128, needed points: 36
    Stat: 129, needed points: 36
    ----------- Hercules -----------
    Stat: 1, needed points: 2
    Stat: 2, needed points: 2
    Stat: 3, needed points: 2
    Stat: 4, needed points: 2
    Stat: 5, needed points: 2
    Stat: 6, needed points: 2
    Stat: 7, needed points: 2
    Stat: 8, needed points: 2
    Stat: 9, needed points: 2
    Stat: 10, needed points: 2
    Stat: 11, needed points: 3
    Stat: 12, needed points: 3
    Stat: 13, needed points: 3
    Stat: 14, needed points: 3
    Stat: 15, needed points: 3
    Stat: 16, needed points: 3
    Stat: 17, needed points: 3
    Stat: 18, needed points: 3
    Stat: 19, needed points: 3
    Stat: 20, needed points: 3
    Stat: 21, needed points: 4
    Stat: 22, needed points: 4
    Stat: 23, needed points: 4
    Stat: 24, needed points: 4
    Stat: 25, needed points: 4
    Stat: 26, needed points: 4
    Stat: 27, needed points: 4
    Stat: 28, needed points: 4
    Stat: 29, needed points: 4
    Stat: 30, needed points: 4
    Stat: 31, needed points: 5
    Stat: 32, needed points: 5
    Stat: 33, needed points: 5
    Stat: 34, needed points: 5
    Stat: 35, needed points: 5
    Stat: 36, needed points: 5
    Stat: 37, needed points: 5
    Stat: 38, needed points: 5
    Stat: 39, needed points: 5
    Stat: 40, needed points: 5
    Stat: 41, needed points: 6
    Stat: 42, needed points: 6
    Stat: 43, needed points: 6
    Stat: 44, needed points: 6
    Stat: 45, needed points: 6
    Stat: 46, needed points: 6
    Stat: 47, needed points: 6
    Stat: 48, needed points: 6
    Stat: 49, needed points: 6
    Stat: 50, needed points: 6
    Stat: 51, needed points: 7
    Stat: 52, needed points: 7
    Stat: 53, needed points: 7
    Stat: 54, needed points: 7
    Stat: 55, needed points: 7
    Stat: 56, needed points: 7
    Stat: 57, needed points: 7
    Stat: 58, needed points: 7
    Stat: 59, needed points: 7
    Stat: 60, needed points: 7
    Stat: 61, needed points: 8
    Stat: 62, needed points: 8
    Stat: 63, needed points: 8
    Stat: 64, needed points: 8
    Stat: 65, needed points: 8
    Stat: 66, needed points: 8
    Stat: 67, needed points: 8
    Stat: 68, needed points: 8
    Stat: 69, needed points: 8
    Stat: 70, needed points: 8
    Stat: 71, needed points: 9
    Stat: 72, needed points: 9
    Stat: 73, needed points: 9
    Stat: 74, needed points: 9
    Stat: 75, needed points: 9
    Stat: 76, needed points: 9
    Stat: 77, needed points: 9
    Stat: 78, needed points: 9
    Stat: 79, needed points: 9
    Stat: 80, needed points: 9
    Stat: 81, needed points: 10
    Stat: 82, needed points: 10
    Stat: 83, needed points: 10
    Stat: 84, needed points: 10
    Stat: 85, needed points: 10
    Stat: 86, needed points: 10
    Stat: 87, needed points: 10
    Stat: 88, needed points: 10
    Stat: 89, needed points: 10
    Stat: 90, needed points: 10
    Stat: 91, needed points: 11
    Stat: 92, needed points: 11
    Stat: 93, needed points: 11
    Stat: 94, needed points: 11
    Stat: 95, needed points: 11
    Stat: 96, needed points: 11
    Stat: 97, needed points: 11
    Stat: 98, needed points: 11
    Stat: 99, needed points: 11
    Stat: 100, needed points: 16
    Stat: 101, needed points: 16
    Stat: 102, needed points: 16
    Stat: 103, needed points: 16
    Stat: 104, needed points: 16
    Stat: 105, needed points: 20
    Stat: 106, needed points: 20
    Stat: 107, needed points: 20
    Stat: 108, needed points: 20
    Stat: 109, needed points: 20
    Stat: 110, needed points: 24
    Stat: 111, needed points: 24
    Stat: 112, needed points: 24
    Stat: 113, needed points: 24
    Stat: 114, needed points: 24
    Stat: 115, needed points: 28
    Stat: 116, needed points: 28
    Stat: 117, needed points: 28
    Stat: 118, needed points: 28
    Stat: 119, needed points: 28
    Stat: 120, needed points: 32
    Stat: 121, needed points: 32
    Stat: 122, needed points: 32
    Stat: 123, needed points: 32
    Stat: 124, needed points: 32
    Stat: 125, needed points: 36
    Stat: 126, needed points: 36
    Stat: 127, needed points: 36
    Stat: 128, needed points: 36
    Stat: 129, needed points: 36

     

     


  9.  

     

    I tried to fix it by myself but no success :( this plugin is so awesome

     

    You're lucky that i'm facing serious issue right now and i can't continue what i'm working on.

    Gonna work on this plugin now :)

     

    glad to hear that <3

     

    got few issue, gonna delay it...(hears someone crying in the corner)..

×
×
  • Create New...

Important Information

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