Jump to content
  • 0

Single Strip bypass


Question

21 answers to this question

Recommended Posts

Posted

I mean the whole content of the file 

 

Try this :

if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15
             &&
            ( skillid == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
            skillid == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
            skillid == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
            skillid == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
            int item_id = 7139; // Glistening Coat
            int ii;
            ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );
            if ( ii < MAX_INVENTORY ) {
                pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
                switch ( skillid ) {
                    case RG_STRIPWEAPON:
                        status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
                        sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d );
                        break;
                    case RG_STRIPSHIELD:
                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
                        sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d );
                        break;
                    case RG_STRIPARMOR:
                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
                        sc_start( bl, SC_STRIPARMOR, 100, skilllv, d );
                        break;
                    case RG_STRIPHELM:
                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
                        sc_start( bl, SC_STRIPHELM, 100, skilllv, d );
                        break;
                }
                clif_skill_nodamage( src, bl, skillid, skilllv, i );
                break;
            }
        }
  • Upvote 1
  • 0
Posted
On 9/6/2013 at 12:16 AM, Patskie said:

I mean the whole content of the file 

 

Try this :


if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15
             &&
            ( skillid == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
            skillid == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
            skillid == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
            skillid == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
            int item_id = 7139; // Glistening Coat
            int ii;
            ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );
            if ( ii < MAX_INVENTORY ) {
                pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
                switch ( skillid ) {
                    case RG_STRIPWEAPON:
                        status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
                        sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d );
                        break;
                    case RG_STRIPSHIELD:
                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
                        sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d );
                        break;
                    case RG_STRIPARMOR:
                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
                        sc_start( bl, SC_STRIPARMOR, 100, skilllv, d );
                        break;
                    case RG_STRIPHELM:
                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
                        sc_start( bl, SC_STRIPHELM, 100, skilllv, d );
                        break;
                }
                clif_skill_nodamage( src, bl, skillid, skilllv, i );
                break;
            }
        }

Help with this script in latest rAthena =(

I get this error =(

Capture.PNG

  • 0
Posted
On 9/6/2013 at 12:16 AM, Patskie said:

I mean the whole content of the file 

 

Try this :


if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15
             &&
            ( skillid == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
            skillid == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
            skillid == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
            skillid == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
            int item_id = 7139; // Glistening Coat
            int ii;
            ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );
            if ( ii < MAX_INVENTORY ) {
                pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
                switch ( skillid ) {
                    case RG_STRIPWEAPON:
                        status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
                        sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d );
                        break;
                    case RG_STRIPSHIELD:
                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
                        sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d );
                        break;
                    case RG_STRIPARMOR:
                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
                        sc_start( bl, SC_STRIPARMOR, 100, skilllv, d );
                        break;
                    case RG_STRIPHELM:
                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
                        sc_start( bl, SC_STRIPHELM, 100, skilllv, d );
                        break;
                }
                clif_skill_nodamage( src, bl, skillid, skilllv, i );
                break;
            }
        }

sir @Patskie i hope you don't mind. . can u please tell me where i exactly put this script to make this work?? 

 

Posted (edited)

I already tried sir,  Here.

 

 

skill.c: In function âskill_castend_nodamage_idâ:
skill.c:4587: error: âskill_idâ undeclared (first use in this function)
skill.c:4587: error: (Each undeclared identifier is reported only once
skill.c:4587: error: for each function it appears in.)
skill.c:4599:78: error: macro "sc_start" passed 6 arguments, but takes just 5
skill.c:4599: error: âsc_startâ undeclared (first use in this function)
skill.c:4603:78: error: macro "sc_start" passed 6 arguments, but takes just 5
skill.c:4607:77: error: macro "sc_start" passed 6 arguments, but takes just 5
skill.c:4611:76: error: macro "sc_start" passed 6 arguments, but takes just 5
skill.c:4614: error: âskill_lvâ undeclared (first use in this function)
make[1]: *** [obj_sql/skill.o] Error 1
make[1]: Leaving directory `/root/server/src/map'
make: *** [map_sql] Error 2

 

Edited by Patskie
Change to code
Posted

Try this then :

if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15
             &&
            ( skill_id == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
            skill_id == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
            skill_id == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
            skill_id == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
            int item_id = 7139; // Glistening Coat
            int ii;
            ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );
            if ( ii < MAX_INVENTORY ) {
                pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
                switch ( skill_id ) {
                    case RG_STRIPWEAPON:
                        status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
                        sc_start( bl, SC_STRIPWEAPON, 100, skill_lv, d );
                        break;
                    case RG_STRIPSHIELD:
                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
                        sc_start( bl, SC_STRIPSHIELD, 100, skill_lv, d );
                        break;
                    case RG_STRIPARMOR:
                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
                        sc_start( bl, SC_STRIPARMOR, 100, skill_lv, d );
                        break;
                    case RG_STRIPHELM:
                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
                        sc_start( bl, SC_STRIPHELM, 100, skill_lv, d );
                        break;
                }
                clif_skill_nodamage( src, bl, skill_id, skill_lv, i );
                break;
            }
        }
Posted
 
skill.c: In function âskill_castend_nodamage_idâ:
skill.c:4587: error: âskill_idâ undeclared (first use in this function)
skill.c:4587: error: (Each undeclared identifier is reported only once
skill.c:4587: error: for each function it appears in.)
skill.c:4599: error: âskill_lvâ undeclared (first use in this function)
make[1]: *** [obj_sql/skill.o] Error 1
make[1]: Leaving directory `/root/server/src/map'

Here sir pat :((((


Guys please help meeeeeeee

Posted


//Special message when trying to use strip on FCP [Jobbie]

         if( sd && skillid == ST_FULLSTRIP && tsc && tsc->data[SC_CP_WEAPON] && tsc->data[SC_CP_HELM] && tsc->data[SC_CP_ARMOR] && tsc->data[SC_CP_SHIELD] )

         {

             clif_gospel_info(sd, 0x28);

             break;

         }

if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 15

             &&

            ( skill_id == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||

            skill_id == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||

            skill_id == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||

            skill_id == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {

            int item_id = 7139; // Glistening Coat

            int ii;

            ARR_FIND( 0, MAX_INVENTORY, ii, sd->status.inventory[ii].nameid == item_id );

            if ( ii < MAX_INVENTORY ) {

                pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);

                switch ( skill_id ) {

                    case RG_STRIPWEAPON:

                        status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );

                        sc_start( bl, SC_STRIPWEAPON, 100, skill_lv, d );

                        break;

                    case RG_STRIPSHIELD:

                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );

                        sc_start( bl, SC_STRIPSHIELD, 100, skill_lv, d );

                        break;

                    case RG_STRIPARMOR:

                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );

                        sc_start( bl, SC_STRIPARMOR, 100, skill_lv, d );

                        break;

                    case RG_STRIPHELM:

                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );

                        sc_start( bl, SC_STRIPHELM, 100, skill_lv, d );

                        break;

                }

                clif_skill_nodamage( src, bl, skill_id, skill_lv, i );

                break;

            }

        }

        //Attempts to strip at rate i and duration d

        if( (i = skill_strip_equip(bl, location, i, skilllv, d)) || skillid != ST_FULLSTRIP )

            clif_skill_nodamage(src,bl,skillid,skilllv,i); 

        //Nothing stripped.

        if( sd && !i )

            clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);

Posted

Btw sir patrick. When im using single strip, 

 

Example, 

 

Strip Armor = Remove chemical protection in armor 

 

i mean no single strip. only remove fcp

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...