Jump to content
  • 0
iankirk

Single Strip bypass

Question

21 answers to this question

Recommended Posts

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
Link to comment
Share on other sites

  • 0
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

Link to comment
Share on other sites

  • 0
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?? 

 

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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;
            }
        }
Link to comment
Share on other sites

 
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

Link to comment
Share on other sites


//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);

Link to comment
Share on other sites

Btw sir patrick. When im using single strip, 

 

Example, 

 

Strip Armor = Remove chemical protection in armor 

 

i mean no single strip. only remove fcp

Link to comment
Share on other sites

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.



×
×
  • Create New...

Important Information

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