Jump to content
  • 0

how to bypass FCP w/Single Strip using rathena


Famous

Question


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

Link to comment
Share on other sites

16 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  46
  • Topics Per Day:  0.01
  • Content Count:  228
  • Reputation:   33
  • Joined:  11/15/12
  • Last Seen:  

thats working in rathena :P

change the pcdelitem to this

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  1702
  • Reputation:   238
  • Joined:  09/05/12
  • Last Seen:  

Refer to this link : http://rathena.org/board/topic/72687-soul-link-effects/

That's my problem also. Already work.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  46
  • Topics Per Day:  0.01
  • Content Count:  228
  • Reputation:   33
  • Joined:  11/15/12
  • Last Seen:  

Refer to this link : http://rathena.org/b...l-link-effects/

That's my problem also. Already work.

that is for full strip. he wants single strip :)

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

where can I find this pcdelitem

Index: skill.c

===================================================================

--- skill.c (revision 14826)

+++ skill.c (working copy)

@@ -4507,6 +4507,24 @@

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

{

+ if ( sd->sc.data[sC_SPIRIT] && sd->sc.data[sC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 30 ) {

+ int item_id = 501; // red potion

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

+ status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );

+ status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );

+ status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );

+ status_change_end( bl, SC_CP_HELM, INVALID_TIMER );

+ sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d );

+ sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d );

+ sc_start( bl, SC_STRIPARMOR, 100, skilllv, d );

+ sc_start( bl, SC_STRIPHELM, 100, skilllv, d );

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

+ break;

+ }

+ }

clif_gospel_info(sd, 0x28);

break;

}

should i just change this one

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

to

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

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

<--- i got this line error

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

bump

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  17
  • Topics Per Day:  0.00
  • Content Count:  754
  • Reputation:   186
  • Joined:  05/22/12
  • Last Seen:  

change to

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

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  134
  • Reputation:   35
  • Joined:  02/27/12
  • Last Seen:  


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

@MarkZD I'd tried to used and I failed.. it work's on compiling when testing on game

soul link + glistening are both working but when we tried to use single strip to enemy we cannot remove single armor,helm etc..

@cydelion your code is working thanks but still I have problem with the bypass of strip..

Edited by zhen
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  134
  • Reputation:   35
  • Joined:  02/27/12
  • Last Seen:  

Add a skill effect on rogue's soul link

Can bypass FCP with single strip(strip helm, shield, armor, weapon) while consuming 1 Glistening Coat every successful stripped.

thanks hope someone could grant my request.

I did it in the exact way you requested, you didn't say you want it to be 100% chance, the skill has a base chance so it of course will not remove every time.

If you want it to be 100%, remove this piece from the diff:

rnd()%100 < i &&

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

rnd()%100 < i && 

I already remove this part

when trying to strip its says skill has failed..

here's my skill.c

http://www.mediafire.com/?bcboaw2h7bzd7jo

Edited by zhen
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  134
  • Reputation:   35
  • Joined:  02/27/12
  • Last Seen:  

You didn't applied the diff correctly.

Look at your skill_strip_equip function, there is:

   if (rnd()%100 >= rate)
   if (rate > -1 && rnd()%100 >= rate)
	 return 0;

But it should be:

   if (rate > -1 && rnd()%100 >= rate)
	 return 0;

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  145
  • Topics Per Day:  0.03
  • Content Count:  455
  • Reputation:   3
  • Joined:  06/19/12
  • Last Seen:  

I already fix the diff hmm and try again but is steal cannot bypass do i need to include the eathena diff

//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] ) { if ( sd->sc.data[sC_SPIRIT] && sd->sc.data[sC_SPIRIT]->val2 == SL_ROGUE ) { int item_id = 501; // red potion 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); status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER ); status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER ); status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER ); status_change_end( bl, SC_CP_HELM, INVALID_TIMER ); sc_start( bl, SC_STRIPWEAPON, 100, skilllv, d ); sc_start( bl, SC_STRIPSHIELD, 100, skilllv, d ); sc_start( bl, SC_STRIPARMOR, 100, skilllv, d ); sc_start( bl, SC_STRIPHELM, 100, skilllv, d ); clif_skill_nodamage( src, bl, skillid, skilllv, i ); break; } } clif_gospel_info(sd, 0x28); break; }

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  81
  • Reputation:   14
  • Joined:  08/17/12
  • Last Seen:  

Ok let me help you with this

 

use MarkZD diff file

 

goto src>map>skill.c

 

find this

 

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skillid != ST_FULLSTRIP)

 

replace that with

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skill_id != ST_FULLSTRIP)

 

 

 

Tested and working , thanks

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  153
  • Topics Per Day:  0.04
  • Content Count:  2285
  • Reputation:   745
  • Joined:  06/16/12
  • Last Seen:  

find this

 

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skillid != ST_FULLSTRIP)
 

replace that with

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skill_id != ST_FULLSTRIP)

/hmm

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  81
  • Reputation:   14
  • Joined:  08/17/12
  • Last Seen:  

 

find this

 

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skillid != ST_FULLSTRIP)
 

replace that with

if(sd && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && skill_id != ST_FULLSTRIP)

/hmm

 

yes ?

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