Jump to content

Panallox

Members
  • Posts

    117
  • Joined

  • Last visited

  • Days Won

    14

Posts posted by Panallox

  1. Well, except that cancelling all buffs is disabled by default..

    // Does Berserk/Frenzy cancel other self-buffs when used?
    berserk_cancels_buffs: no

    From conf/battle/skill.conf. Instead, assuming you're using renewal mode, find (in status.c):

    #ifdef RENEWAL
    else {
    status_change_end(bl, SC_TWOHANDQUICKEN, INVALID_TIMER);
    }
    #endif

    Replace with:

    #ifdef RENEWAL
    else {
    //status_change_end(bl, SC_TWOHANDQUICKEN, INVALID_TIMER);
    }
    #endif

  2. Update

    It's important to note that r15998 appears to fix a long-standing issue that appears to have been present in rAthena for an extended period of time. For whatever reason, the instance variable storage system was not being initialised (thus instance variables were not being saved or recorded.) If anyone has any reports prior to r15998 of instance variables not working, please let me know. It baffled our team temporarily as to why this was the case in the source.

    Thanks.

  3. You should keep the values returned by search_str("set"), search_str("callfunc") and search_str("getelementofarray") into global variables to avoid searching for them at every occurrence of assignment statements and user-defined function calls.

    Indeed, this was something I brought up in the staff channel on IRC. I've been trying to collect a list of additional changes that need committing, and this is on the list. You have a keen eye, great minds think alike :)

  4. I don't think this is a feature rAthena really needs. It'd be nice, sure, but it's not something that affects every day scripting. You can just as easily convert strings into integers, and then process them accordingly:

    set @type, ( getarg(0) == "mes" ? 1 : (getarg(0) == "next" ? 2 : 0) );

    Besides, this would mean converting the current labelling system and would require much more fiddling around with the source. This might decrease backwards compatibility, or may affect the behaviour of the scripting engine. So, for the most part, I'd have to say I reject this proposal.

    • Upvote 1
  5. After reviewing this topic, I dove into the source and had a poke around and support for direct function invocation was added in r15979 :o

    As such, the following should now work:

    function<tab>script<tab>helloworld<tab>{
           mes "Hello " + getarg(0);
           return 1;
    }
    
    prontera,150,150,4<tab>script<tab>Say Hello!<tab>811,{
           helloworld strcharinfo(0);
           close;
    }

    • Upvote 3
  6. I don't have a real issue with this. Something just needs addressing in the patch though:

    + (sd->class_&JOBL_THIRD) && !(b_class&JOBL_THIRD) || // changing back from 3rd class

    Should have brackets around it? That && is a segregate operator for the || operators before hand so this operation should really have brackets around it. As long as this has been tested and is confirmed working, +1 for implementation.

  7. Indeed, temporary skill is stored as (skill.flag - SKILL_FLAG_REPLACE_LV_0), as far as I know skills granted permanently through scripts are removed when the player skill tree is normalized. In regards to that bug-report, all issues can be resolved by appending the skill onto the player skill tree: thus not being lost upon tree normalization.

  8. Anyone please record that.

    1. Login
    2. Start recording
    3. Move to a monster so it appears on your screen
    4. Start hitting it so the HP bar will be displayed
    5. Stop recording and send me the record file

    I want to check how they send the HP information

    You're not going to get the official data from a screen recording :) you'd need packet captures of the HP bar updates.

×
×
  • Create New...