Jump to content

malufett

Members
  • Posts

    554
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by malufett

  1. @http://svn.rathena.org/svn/rathena/trunk/conf/battle/player.conf

    // Max armor def/mdef
    // NOTE: This setting have no effect if server is run on Renewal Mode (RENEWAL)
    // NOTE: does not affects skills and status effects like Mental Strength
    // If weapon_defense_type is non-zero, it won't apply to max def.
    // If magic_defense_type is non-zero, it won't apply to max mdef.
    max_def: 99

    :meow:

  2. i just want to know if when my client have md5 hash, then a player tries to change some stuffs in my client, the server will ignore the modified client?

    if files like the grfs are modified the server can't tell or detect..but if the client itself has been tampered or injected with the dll that is the time the server will knows if the client is modified if just in case the modified client don't have the capabilities to lie to its hash..

    :meow:

  3. This would be a massive addition/change to battle.c. Lighta recommended a seperate branch/test server.

    I suggest we dissect each calculations in 'battle_calc_weapon_attack' for more efficient and to avoid redundancy specially if use in a macro(PRE/RE)...and as the RE formula shows it's a totally different from PRE's calculation flow...

    :meow:

  4. don't forget to include this one

    bonus bFixedCastrate,-100;

    id,Weapon,Weapon,4,20,,3500,200,,1,1,0x000xxx,2,2,34,4,55,1,3,{ if(readparam(bDex) == 140) bonus bVariableCastrate,-100;bonus bFixedCastrate,-100; },{},{}

    :meow:

  5. SC_ALL will trigger this one

    'status_change_clear(bl, 2);'

    oh..wait I forgot..type 2 in 'status_change_clear' means remove all buff regardless the settings..sorry.. :)

    ok go to status.c and look for 'status_change_clear' declaration then after

    	case SC_L_LIFEPOTION:
    case SC_PUSH_CART:
    	continue;
    
    }

    add this

    if( i == SC_PUSH_CART )
    
    	continue;
    
    

    so regardless the type it will not remove SC_PUSH_CART

    :meow:

  6. @status.c

    find this line

    case SC_ADORAMUS://Arch Bishop
     if (sd) tick>>=1; //Half duration for players.
    case SC_STONE:
    case SC_FREEZE:
     sc_def = 3 +status->mdef;
    break;
    case SC_CURSE:

    then add

    tick += 'your desired duration';

    after 'sc_def'

    this will add/subtract the global duration of SC_STONE

    and take note its in millisecond and don't forget to recompile

    :meow:

  7. this can be easily done in src..and I'll show you some easy way..

    make used of this variable in your npc

    set NEW_SKILL, skill_id;
    set NEW_SKILL_LV, skill_lv
    

    and force the character to relog..

    but after that add this line in pc.c under 'pc_reg_received' then recompile

     
    if ( (i = pc_readglobalreg(sd,"NEW_SKILL")) > 0 ) {
        int lv = pc_readglobalreg(sd,"NEW_SKILL_LV")
        sd->status.skill[i].id = sd->cloneskill_id; 
        if( lv > 0 )
             sd->status.skill[i].lv = lv;
        else
             sd->status.skill[i].lv = 1;
        sd->status.skill[i].flag = SKILL_FLAG_TEMPORARY;
    }

    enjoy.. :)

    NB. not yet tested..and please check what will happen if you equip an item with same skill cause I used 'SKILL_FLAG_TEMPORARY'

    :meow:

    • Upvote 1
×
×
  • Create New...