iankirk Posted September 5, 2013 Posted September 5, 2013 I know i have a wrong section but please help me. I have eamod svn and many script i already tried Quote
Patskie Posted September 5, 2013 Posted September 5, 2013 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; } } 1 Quote
0 kyleanthonydizon Posted May 13, 2017 Posted May 13, 2017 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 =( Quote
0 GGG2020 Posted April 12, 2020 Posted April 12, 2020 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?? Quote
iankirk Posted September 5, 2013 Author Posted September 5, 2013 Sorry sir pat, I hope someone help me Quote
Patskie Posted September 5, 2013 Posted September 5, 2013 http://rathena.org/board/topic/86906-stalker-bypass-fcp/?p=220215. Why not give a try? Quote
iankirk Posted September 5, 2013 Author Posted September 5, 2013 (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 September 5, 2013 by Patskie Change to code Quote
Patskie Posted September 5, 2013 Posted September 5, 2013 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; } } Quote
iankirk Posted September 5, 2013 Author Posted September 5, 2013 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 Quote
iankirk Posted September 5, 2013 Author Posted September 5, 2013 //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); Quote
Patskie Posted September 5, 2013 Posted September 5, 2013 The skill.c file? Edited my previous post Quote
iankirk Posted September 5, 2013 Author Posted September 5, 2013 Now its work! Thank you so much sir patskie!! Thank you thank you Quote
Patskie Posted September 5, 2013 Posted September 5, 2013 Additional Note : rand()%100 < 15 // 15% chance Change 15 to whatever you want. Quote
iankirk Posted September 6, 2013 Author Posted September 6, 2013 Btw sir patrick. When im using single strip, Example, Strip Armor = Remove chemical protection in armor i mean no single strip. only remove fcp Quote
iankirk Posted September 6, 2013 Author Posted September 6, 2013 Yes sir, once the fcp remove the glistening coat has gone Quote
iankirk Posted September 6, 2013 Author Posted September 6, 2013 I mean, No single strip happen. Just only remove the fcp by part bump Quote
demonz Posted April 28, 2014 Posted April 28, 2014 how to Enable single strip??? eathena svn iam using thx!! more power!! Quote
Question
iankirk
I know i have a wrong section but please help me. I have eamod svn and many script i already tried
21 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.