Jump to content
  • 0

Single Strip(Soul Linked Rogue/Stalker Update


Question

Posted

I got this source code here,

 

https://rathena.org/board/topic/97707-soul-link-strip/

 

but i getting errors.

 

error.jpg

 

Need help. thanks!


Nevermind, I found this and working (ctto).

 

https://rathena.org/board/topic/86906-stalker-bypass-fcp/#entry220215

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( NULL, bl, SC_STRIPWEAPON, 100, skill_lv, d );
                        break;
                    case RG_STRIPSHIELD:
                        status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
                        sc_start( NULL, bl, SC_STRIPSHIELD, 100, skill_lv, d );
                        break;
                    case RG_STRIPARMOR:
                        status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
                        sc_start( NULL, bl, SC_STRIPARMOR, 100, skill_lv, d );
                        break;
                    case RG_STRIPHELM:
                        status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
                        sc_start( NULL, bl, SC_STRIPHELM, 100, skill_lv, d );
                        break;
                }
                clif_skill_nodamage( src, bl, skill_id, skill_lv, i );
                break;
            }
        }

But still got 1 problem, i need it to consume 1 Glist every attempt. This code only consume when successful strip.

 

Thanks in advance!

8 answers to this question

Recommended Posts

  • 1
Posted

if your pre
add this to your db/import/skill_require_db.txt
 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM

and if your re add this instead

 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM
  • Upvote 1
  • 0
Posted (edited)

Try this.

In skill.c

search
case SC_STRIPACCESSARY: {
unsigned short location = 0;
		int d = 0;

Add after that:
unsigned char ii = 0;

Search:

//Attempts to strip at rate i and duration d
		if( (i = skill_strip_equip(src,bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) )
			clif_skill_nodamage(src,bl,skill_id,skill_lv,i);

after that, add:


if (!i && (skill_id == RG_STRIPWEAPON || skill_id == RG_STRIPSHIELD || skill_id == RG_STRIPARMOR || skill_id == RG_STRIPHELM))
			 {
			int idx = sd ? pc_search_inventory(sd, 7139) : -1;
			if (idx >= 0)
				 {
				struct status_change *sc_ = status_get_sc(src);
				if (sc_->data[SC_SPIRIT])
					 {
					if (sc_->data[SC_SPIRIT]->val2 == SL_ROGUE)
						 {
						if (rnd() % 100 >= ii)
							 {
						enum sc_type sc_atk;
							if (skill_id == RG_STRIPWEAPON)
								 sc_atk = SC_STRIPWEAPON;
							else if (skill_id == RG_STRIPSHIELD)
								 sc_atk = SC_STRIPSHIELD;
							else if (skill_id == RG_STRIPARMOR)
								 sc_atk = SC_STRIPARMOR;
							else if (skill_id == RG_STRIPHELM)
								 sc_atk = SC_STRIPHELM;
							else
								 sc_atk = SC_NONE;
							if (sc_atk != SC_NONE)
								 {
								sc_start(src,bl, sc_atk, 100, skill_lv, d);
								clif_skill_nodamage(src, bl, skill_id, skill_lv, i);
								i = 1;
								}
							}
						pc_delitem(sd, idx, 1, 0, 1, LOG_TYPE_NONE);
						}
					}
				}
Edited by fictionx
  • 0
Posted (edited)

 

if your pre

add this to your db/import/skill_require_db.txt

 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM

and if your re add this instead

 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM

I did not able to use this method but does the single strip consume glist in this method of yours? Many thanks Oppressive Overlord :)

 

 

Try this.

In skill.c

search
case SC_STRIPACCESSARY: {
unsigned short location = 0;
		int d = 0;

Add after that:
unsigned char ii = 0;

Search:

//Attempts to strip at rate i and duration d
		if( (i = skill_strip_equip(src,bl, location, i, skill_lv, d)) || (skill_id != ST_FULLSTRIP && skill_id != GC_WEAPONCRUSH ) )
			clif_skill_nodamage(src,bl,skill_id,skill_lv,i);

after that, add:


if (!i && (skill_id == RG_STRIPWEAPON || skill_id == RG_STRIPSHIELD || skill_id == RG_STRIPARMOR || skill_id == RG_STRIPHELM))
			 {
			int idx = sd ? pc_search_inventory(sd, 7139) : -1;
			if (idx >= 0)
				 {
				struct status_change *sc_ = status_get_sc(src);
				if (sc_->data[SC_SPIRIT])
					 {
					if (sc_->data[SC_SPIRIT]->val2 == SL_ROGUE)
						 {
						if (rnd() % 100 >= ii)
							 {
						enum sc_type sc_atk;
							if (skill_id == RG_STRIPWEAPON)
								 sc_atk = SC_STRIPWEAPON;
							else if (skill_id == RG_STRIPSHIELD)
								 sc_atk = SC_STRIPSHIELD;
							else if (skill_id == RG_STRIPARMOR)
								 sc_atk = SC_STRIPARMOR;
							else if (skill_id == RG_STRIPHELM)
								 sc_atk = SC_STRIPHELM;
							else
								 sc_atk = SC_NONE;
							if (sc_atk != SC_NONE)
								 {
								sc_start(src,bl, sc_atk, 100, skill_lv, d);
								clif_skill_nodamage(src, bl, skill_id, skill_lv, i);
								i = 1;
								}
							}
						pc_delitem(sd, idx, 1, 0, 1, LOG_TYPE_NONE);
						}
					}
				}

 

Hello, i have tried this and it does not remove a single Chemical Protect status on your right screen when you succesfully bypass the FCP. And the strip success is almost 100%? How can I change it to default 15%?

 

 

Where did you get that script? Try this: https://rathena.org/board/topic/87197-single-strip-bypass/

It works fine with me.

 

However, in this code referred by Paroxysm, it works fine no problem, it removes the single chemical protect every successful single strip bypass. But there is one thing I want... How can I make it consume a glist every attempt like the code from fictionx? It only consume when you successfully used a single strip? Im not that good in codes. Can you help me guys? Many thanks!

Edited by mauiboy
  • 0
Posted

 

BUMP

Don't bump without providing additional information.

 

 

How can I make it consume a glist every attempt like the code from fictionx?

 

 

 

he already stated it. the source consume glistening coat every succesful strip, he wants it on every attempt.

  • 0
Posted

ad·di·tion·al

əˈdiSH(ə)n(ə)l/

adjective

added, extra, or supplementary to what is already present or available.

"we require additional information"

BUMP

Don't bump without providing additional information.

 

How can I make it consume a glist every attempt like the code from fictionx?

 

he already stated it. the source consume glistening coat every succesful strip, he wants it on every attempt.

thanks vBrenth
  • 0
Posted (edited)

 

if your pre

add this to your db/import/skill_require_db.txt

 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM

and if your re add this instead

 

215,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPWEAPON
216,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPSHIELD
217,0,0,17:19:21:23:25,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPARMOR
218,0,0,12:14:16:18:20,0,0,0,99,0,0,none,0,0,7139,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0					//RG_STRIPHELM

Sorry for the super late update. It's 100% working, however it consumes glist even WITHOUT soul link.

 

And still got this problem, for example. 1 player(with FCP) got stripped by a linked stalker(example, shield is stripped). The enemy player cant use FCP to remove to strip status. Is there a way that I can FCP myself once I got stripped by a Linked Stalker?

Edited by mauiboy

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...