Jump to content

Humble_Bee

Members
  • Posts

    112
  • Joined

  • Last visited

Posts posted by Humble_Bee

  1. On 11/19/2019 at 8:26 PM, Mabuhay said:

    Oh yah i forgot about that. 

    Anyways, this is how I understand the original code :
     

    
    	else //Default increase
    		return ((level+15) / 5);

    translate to :

    
    ((1 level up + 15) / 5) per level up

    Meaning, every level up would give player + 3 status points.

    supposedly it should be around 3.8 but since the emulator cannot read decimal, it automatically rounds down(?)

     

    if you want to add +217 status points, you may be looking at the wrong area.

    Im not sure because i havent tested but if you could, try looking for this part on pc.cpp 

    
    int pc_checkbaselevelup(struct map_session_data *sd)
    
    ....
    
    next = pc_gets_status_point(sd->status.base_level);
    sd->status.base_level++;
    sd->status.status_point += next;

    add this below

    
    if ( sd->status.base_level == 201 )
    	sd->status.status_point += 217;

     

    Tell me how is it.


    It didn't work either.

  2. 2 minutes ago, Mabuhay said:

    You can adjust stat points in rathena/db/pre(re)/statpoint.txt

    Go to the line (Line 201 for level 201) that you want to add stats points and manually add +217 to current value until you reach the max level.

     

    That only works if my game is reading stat point gains from the statpoint.txt file. My game is creating the stat points to give per level based on the formula I wrote (outside of that one extra amount I'm trying to add at the end). The reason I'm using a set formula is so that I don't have to edit level after level of stat point numbers. It saves me time.

  3. I altered the stat point formula for the game, and it is working like I wanted it to, except for one thing. When a player reaches max level (201 for me), I want the game to give them 217 extra stat points to play with. Can anyone see the error in my formula, or perhaps I'm missing a flag I need to create? Is there a way to make a separate command line that says "At this level, give all characters this many extra stat points to raise stats with"?

    Here's my coding, and the coding I based the formula off of (the stat cost formula, which is below my stat point gain formula, works with addressing different level ranges):

     

    Spoiler

    int pc_gets_status_point(int level)
    {
        if (battle_config.use_statpoint_table) //Use values from "db/statpoint.txt"
            return (statp[level+1] - statp[level]);
        else //Default increase
            return (((level) < 201) ? ((level / 10) + 5) : ((level / 10) + 217));
    }

    // The above is the "gain stat points" formula. The below is the game's Renewal stat point cost formula.

    #ifdef RENEWAL_STAT
    /// Renewal status point cost formula
    #define PC_STATUS_POINT_COST(low) (((low) < 100) ? (2 + ((low) - 1) / 10) : (16 + 4 * (((low) - 100) / 5)))

    I've tried adjusting the stat point gain to one level lower (200) and it still didn't give the extra (+217) stat points I was looking for. It keeps using just the ((level / 10) + 5).

    Thanks for any useful feedback. Also, I'm not looking to add that many stat points to lv. 1 characters or transcendents, as that would be too much of a boost in stat points for me for lower level characters, so those paths are not an option.

  4. From my understanding, statuses that damage, like poison and burn, don't give exp if they kill a monster. I'd like to make some character builds that take enemies out by using tons of status ailments. Does anyone nowhere to simply turn on the exp gain from death from status ailments (and damage from status ailments as well, if that is separate)?

  5. On 11/15/2019 at 4:44 PM, Naruto said:

    https://irowiki.org/wiki/Homunculus_System#See_Also

    http://www.drazzy.com/ro/ai/getaai.shtml

     

    just throw it in your client and adjust it, the built in one doesnt do that much 

     

    I know about Azzy AI. I use to use it all the time. I tried it on my diffed client with the homun fix, but it wasn't working. Are you saying that you are using a newer client (6/20/2018 or later) and it's working for you?

  6. So I'm using the 6/20/2018 client, and I have NEMO diffed to fix homun, but they are only attacking when I get attacked, and they aren't using skills at all. Has anyone gotten them into aggressive mode and using skills? Also, if this hasn't happened, I know Tokei and them over at NovaRO got the old functioning back for homuns, perhaps they would be willing to create a download that people could pay for *wink wink*? 

  7. I've gotten rid of skill pre-requirements server-side, but it looks like NeedSkillList is still holding on to the requirements client-side. Is there a way to bypass this for a certain class? Like a certain class doesn't get checked just for whether they have pre-skills or not (for every move)? I can see how I might do it for one or two moves, but doing it for every single move in the game would get tedious. Thanks! (I'm looking to make a super novice that can use any skill in the game without pre-requirements, but I already have it sorted to first tier classes and second teir classes, so having access to higher level skills at low levels would mess up my theme.)

  8. This is my intro and my thanks. I started off playing iRO a while back, but the server started to die, so I went to check out a private server that someone mentioned in their forum before the post got removed. I ended up enjoying that private server, but eventually wanted to see what other private servers had to offer. After checking out another one and not liking everything about it, I realized that these private servers had to start from somewhere, and that led me here. I'm really grateful to find here, because not only has it taught me how to get my own server up and running (that I plan to only play myself), but having long-term arm injuries, I can now program my server to work with my disabilities, so that I get to enjoy the game without the button mashing that is often required in video games. Being able to add my own classes and pets later is only a bonus. Thanks again!

  9. So Meteor Storm normally requires choosing a spot, but it doesn't when it autocasts from Shadow Spell or Lion Model Hat. I'm looking for coding to go one further than that. I have made Abracadabra autocast from a hat, but it keeps requesting me to target things for target skills. Is there a way to code so that all skills from abracadabra that target the ground will auto-select the spot directly below me and cast? In the same light, is there a way to make all buff skills auto-select me and autocast from it? I imagine it would be rather easy to do this for one skill that Abracadabra casts, because I could follow the coding that Meteor Storm or Heal follows, but doing it for every skill that Abra can cast would be very tedious. Thanks for any pointers!

    I imagine that this code from skill.c has some relation to what I'm looking for.

     

    Spoiler

    if ((type = skill_get_casttype(skill)) == CAST_GROUND) {
                    if (!skill_pos_maxcount_check(src, tbl->x, tbl->y, skill, autospl_skill_lv, BL_PC, false))
                        continue;
                }
                if (battle_config.autospell_check_range &&
                    !battle_check_range(bl, tbl, skill_get_range2(src, skill, autospl_skill_lv, true)))
                    continue;

            //    if (skill == AS_SONICBLOW)
                //    pc_stop_attack(sd); //Special case, Sonic Blow autospell should stop the player attacking.
                else if (skill == PF_SPIDERWEB) //Special case, due to its nature of coding.
                    type = CAST_GROUND;

                sd->state.autocast = 1;
                skill_consume_requirement(sd,skill,autospl_skill_lv,1);
                skill_toggle_magicpower(src, skill);
                switch (type) {
                    case CAST_GROUND:
                        skill_castend_pos2(src, tbl->x, tbl->y, skill, autospl_skill_lv, tick, 0);
                        break;
                    case CAST_NODAMAGE:
                        skill_castend_nodamage_id(src, tbl, skill, autospl_skill_lv, tick, 0);
                        break;
                    case CAST_DAMAGE:
                        skill_castend_damage_id(src, tbl, skill, autospl_skill_lv, tick, 0);
                        break;
                }

     

  10. I had the same problem. Part of the answer is to manually create a table, because that is what that small section of code is doing (Create table if none exists). To do this, right click on the Table tab on the left of the screen, and then click to create a new table. Make sure to have the main.sql file open already, as then you can look at how you need to set up the table. It appears there is a coding issue with the code that they had their where the "clanid int(11)" and "auto_increment" weren't allowed to exist at the same time. I haven't run my server yet to see which was the better option (leaving the (11) or leaving auto_increment), but once I get the rest of my install done, I'll update this. As a note, after you create the new table- save a backup copy of that section of the code in a Notepad++ document and then delete that section of code from main.sql. The rest of the code should loan fine for main.sql. Also, make sure to refresh your schema so you see the rest of the tables if they did not show up (like moving on to the login changing portion of the tutorial). The refresh button is on the top right of the section that lists the tables and ragnarok and whatnot. It's a real small two arrows in a circle pattern pointing to each other.

    EDIT 2: Instead of saving a backup of the code, you can just put "- -" (two dashes) next to it and it will treat it like the info writing that doesn't get read. ?

    EDIT 3: So after choosing auto_increment with just INT, it looks like you might be able to pick INT and then type a (11) right after and then pick auto_increment to make sure you have all your data. If not, then choose auto_increment and leave the (11) off, finish filling out your table, and save it and then open it again and try adding the (11) next to the INT. Also, when I was having issues running main again after the main worked the first time but I couldn't find my other tables (I hadn't hit refresh), I ended up having to "- -" next to the "Insert into...." clan and one other line of code, because it had already inserted those values when it successfully ran once for me, and it was failing when it tried to do it again because the task was already done. My server is successfully running host side now. Now on to figuring out how to make a client work. 

×
×
  • Create New...