miyakee Posted July 2, 2012 Group: Members Topic Count: 7 Topics Per Day: 0.00 Content Count: 25 Reputation: 0 Joined: 05/18/12 Last Seen: November 25, 2015 Share Posted July 2, 2012 Hi guys, Is there a code to remove all buffs on a character while entering the pvp room? THanks! Quote Link to comment Share on other sites More sharing options...
1 F0xxy Posted July 2, 2012 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 224 Reputation: 22 Joined: 03/23/12 Last Seen: April 21, 2020 Share Posted July 2, 2012 SC_end SC_ALL; Quote Link to comment Share on other sites More sharing options...
Emistry Posted July 2, 2012 Group: Forum Moderator Topic Count: 93 Topics Per Day: 0.02 Content Count: 10018 Reputation: 2369 Joined: 10/28/11 Last Seen: Sunday at 05:32 PM Share Posted July 2, 2012 sc_end sc_all; warp "mapname",x,y; Quote Link to comment Share on other sites More sharing options...
Euphy Posted July 2, 2012 Group: Members Topic Count: 72 Topics Per Day: 0.02 Content Count: 2997 Reputation: 1132 Joined: 05/27/12 Last Seen: June 1, 2017 Share Posted July 2, 2012 Note that the command will also end statuses like "Falcon Rental", etc. which you probably wouldn't want it to. In that case, you'll have to put together an "sc_end" list yourself: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/db/const.txt Quote Link to comment Share on other sites More sharing options...
miyakee Posted July 3, 2012 Group: Members Topic Count: 7 Topics Per Day: 0.00 Content Count: 25 Reputation: 0 Joined: 05/18/12 Last Seen: November 25, 2015 Author Share Posted July 3, 2012 Thanks Guys, ill try it. It worked! Thanks Euphy! Quote Link to comment Share on other sites More sharing options...
Fluffle Puff Posted July 3, 2012 Group: Members Topic Count: 29 Topics Per Day: 0.01 Content Count: 375 Reputation: 88 Joined: 12/30/11 Last Seen: May 3, 2016 Share Posted July 3, 2012 you will have problem when you use @mute command at an user. he may remove mute command using sc_end sc_all pvp2: callfunc("dispell"); warp "pvp_n_1-3",0,0; close; make another npc: function script dispell { while ( .@STATUS < 297 ) { if ( .@STATUS != SC_WEIGHT50 && .@STATUS != SC_WEIGHT90 && .@STATUS != SC_NOCHAT && .@STATUS != SC_XMAS && .@STATUS != SC_SUMMER && .@STATUS != SC_JAILED ) sc_end .@STATUS; set .@STATUS, .@STATUS+1; } return; } Quote Link to comment Share on other sites More sharing options...
miyakee Posted July 5, 2012 Group: Members Topic Count: 7 Topics Per Day: 0.00 Content Count: 25 Reputation: 0 Joined: 05/18/12 Last Seen: November 25, 2015 Author Share Posted July 5, 2012 ohh thanks Alexandia! That was awesome! Quote Link to comment Share on other sites More sharing options...
Mootie Posted November 19, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 815 Reputation: 86 Joined: 10/26/12 Last Seen: June 10, 2022 Share Posted November 19, 2012 you will have problem when you use @mute command at an user. he may remove mute command using sc_end sc_all pvp2: callfunc("dispell"); warp "pvp_n_1-3",0,0; close; make another npc: function script dispell { while ( .@STATUS < 297 ) { if ( .@STATUS != SC_WEIGHT50 && .@STATUS != SC_WEIGHT90 && .@STATUS != SC_NOCHAT && .@STATUS != SC_XMAS && .@STATUS != SC_SUMMER && .@STATUS != SC_JAILED ) sc_end .@STATUS; set .@STATUS, .@STATUS+1; } return; } is this function will work on my script? zhakastia,104,68,3 script PvP Warper 413,{ mes "[PvP Warper]"; mes "Which arena do you want to go to?"; next; switch(select("Normal PvP ["+getmapusers("guild_vs5")+"/100]:Dispel PvP ["+getmapusers("guild_vs3")+"/100]:No Healing Potions PvP ["+getmapusers("guild_vs2")+"/100]")) { case 1: // Normal PvP if (getmapusers("prt_are01") > 99) callsub S_full; warp "guild_vs5",0,0; end; Case 2: // Dispel PvP if (getmapusers("guild_vs3") > 99) callsub S_full; warp "guild_vs3",0,0; end; Case 3: // No Healing Potions PvP if (getmapusers("guild_vs2") > 99) callsub S_full; warp "guild_vs2",0,0; end; } S_full: mes " "; mes "I'm sorry, this arena is full. Please try again later..."; close; } prt_are01,150,130,4 script PvP Exit 868,{ warp "prontera",0,0; end; } //============= MAP FLAG =============== // Player guild_vs3 mapflag nosave guild_vs3 mapflag noteleport guild_vs3 mapflag nowarpto guild_vs3 mapflag nowarp guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall guild_vs3 mapflag noreturn guild_vs3 mapflag pvp_noguild guild_vs5 mapflag noteleport guild_vs5 mapflag nowarp guild_vs5 mapflag nosave guild_vs5 mapflag nopenalty guild_vs5 mapflag nobranch guild_vs5 mapflag noicewall guild_vs5 mapflag pvp_noguild guild_vs2 mapflag nopenalty guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nowarp guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag loadevent guild_vs2 mapflag noreturn guild_vs2 mapflag nobranch guild_vs2 mapflag pvp_noguild Quote Link to comment Share on other sites More sharing options...
Ryokem Posted November 19, 2012 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 205 Reputation: 19 Joined: 10/12/12 Last Seen: November 7, 2013 Share Posted November 19, 2012 (edited) EDIT: Updated at Post #11 Edited November 19, 2012 by Ryokem Quote Link to comment Share on other sites More sharing options...
Mootie Posted November 19, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 815 Reputation: 86 Joined: 10/26/12 Last Seen: June 10, 2022 Share Posted November 19, 2012 Try this zhakastia,104,68,3 script PvP Warper 413,{ mes "[PvP Warper]"; mes "Which arena do you want to go to?"; next; switch(select("Normal PvP ["+getmapusers("guild_vs5")+"/100]:Dispel PvP ["+getmapusers("guild_vs3")+"/100]:No Healing Potions PvP ["+getmapusers("guild_vs2")+"/100]")) { case 1: // Normal PvP if (getmapusers("prt_are01") > 99) callsub S_full; set .@map$, "guild_vs5"; break; Case 2: // Dispel PvP if (getmapusers("guild_vs3") > 99) callsub S_full; set .@map$, "guild_vs3"; break; Case 3: // No Healing Potions PvP if (getmapusers("guild_vs2") > 99) callsub S_full; set .@map$, "guild_vs2"; break; } for( .@i = 0; .@i < 308; .@i++ ) if( (.@i != 53) && (.@i != 54) && (.@i != 249) ) //Do not dispell SC_WEIGHT50, SC_WEIGHT90, SC_JAILED sc_end .@i; warp .@map$, 0, 0; end; S_full: mes " "; mes "I'm sorry, this arena is full. Please try again later..."; close; } prt_are01,150,130,4 script PvP Exit 868,{ warp "prontera",0,0; end; } //============= MAP FLAG =============== // Player guild_vs3 mapflag nosave guild_vs3 mapflag noteleport guild_vs3 mapflag nowarpto guild_vs3 mapflag nowarp guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall guild_vs3 mapflag noreturn guild_vs3 mapflag pvp_noguild guild_vs5 mapflag noteleport guild_vs5 mapflag nowarp guild_vs5 mapflag nosave guild_vs5 mapflag nopenalty guild_vs5 mapflag nobranch guild_vs5 mapflag noicewall guild_vs5 mapflag pvp_noguild guild_vs2 mapflag nopenalty guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nowarp guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag loadevent guild_vs2 mapflag noreturn guild_vs2 mapflag nobranch guild_vs2 mapflag pvp_noguild All room turn to dispell i want only 1 room that what listed on the rooms Case 2: // Dispel PvP if (getmapusers("guild_vs3") > 99) callsub S_full; set .@map$, "guild_vs3"; break; Quote Link to comment Share on other sites More sharing options...
Ryokem Posted November 19, 2012 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 205 Reputation: 19 Joined: 10/12/12 Last Seen: November 7, 2013 Share Posted November 19, 2012 (edited) All room turn to dispell i want only 1 room that what listed on the rooms My bad. zhakastia,104,68,3 script PvP Warper 413,{ function dispell__; mes "[PvP Warper]"; mes "Which arena do you want to go to?"; next; switch(select("Normal PvP ["+getmapusers("guild_vs5")+"/100]:Dispel PvP ["+getmapusers("guild_vs3")+"/100]:No Healing Potions PvP ["+getmapusers("guild_vs2")+"/100]")) { case 1: // Normal PvP if (getmapusers("prt_are01") > 99) callsub S_full; set .@map$, "guild_vs5"; break; Case 2: // Dispel PvP if (getmapusers("guild_vs3") > 99) callsub S_full; set .@map$, "guild_vs3"; dispell__(); break; Case 3: // No Healing Potions PvP if (getmapusers("guild_vs2") > 99) callsub S_full; set .@map$, "guild_vs2"; break; } warp .@map$, 0, 0; end; S_full: mes " "; mes "I'm sorry, this arena is full. Please try again later..."; close; function dispell__ { for( .@i = 0; .@i < 308; .@i++ ) if( (.@i != 53) && (.@i != 54) && (.@i != 249) && (.@i != 103) ) //Do not dispell SC_WEIGHT50, SC_WEIGHT90, SC_JAILED, SC_NOCHAT sc_end .@i; return; } } prt_are01,150,130,4 script PvP Exit 868,{ warp "prontera",0,0; end; } //============= MAP FLAG =============== // Player guild_vs3 mapflag nosave guild_vs3 mapflag noteleport guild_vs3 mapflag nowarpto guild_vs3 mapflag nowarp guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall guild_vs3 mapflag noreturn guild_vs3 mapflag pvp_noguild guild_vs5 mapflag noteleport guild_vs5 mapflag nowarp guild_vs5 mapflag nosave guild_vs5 mapflag nopenalty guild_vs5 mapflag nobranch guild_vs5 mapflag noicewall guild_vs5 mapflag pvp_noguild guild_vs2 mapflag nopenalty guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nowarp guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag loadevent guild_vs2 mapflag noreturn guild_vs2 mapflag nobranch guild_vs2 mapflag pvp_noguild Edited November 19, 2012 by Ryokem Quote Link to comment Share on other sites More sharing options...
Mootie Posted November 19, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 815 Reputation: 86 Joined: 10/26/12 Last Seen: June 10, 2022 Share Posted November 19, 2012 (edited) All room turn to dispell i want only 1 room that what listed on the rooms My bad. zhakastia,104,68,3 script PvP Warper 413,{ mes "[PvP Warper]"; mes "Which arena do you want to go to?"; next; switch(select("Normal PvP ["+getmapusers("guild_vs5")+"/100]:Dispel PvP ["+getmapusers("guild_vs3")+"/100]:No Healing Potions PvP ["+getmapusers("guild_vs2")+"/100]")) { case 1: // Normal PvP if (getmapusers("prt_are01") > 99) callsub S_full; set .@map$, "guild_vs5"; break; Case 2: // Dispel PvP if (getmapusers("guild_vs3") > 99) callsub S_full; set .@map$, "guild_vs3"; dispell__(); break; Case 3: // No Healing Potions PvP if (getmapusers("guild_vs2") > 99) callsub S_full; set .@map$, "guild_vs2"; break; } warp .@map$, 0, 0; end; S_full: mes " "; mes "I'm sorry, this arena is full. Please try again later..."; close; function dispell__ { for( .@i = 0; .@i < 308; .@i++ ) if( (.@i != 53) && (.@i != 54) && (.@i != 249) && (.@i != 103) ) //Do not dispell SC_WEIGHT50, SC_WEIGHT90, SC_JAILED, SC_NOCHAT sc_end .@i; return; } } prt_are01,150,130,4 script PvP Exit 868,{ warp "prontera",0,0; end; } //============= MAP FLAG =============== // Player guild_vs3 mapflag nosave guild_vs3 mapflag noteleport guild_vs3 mapflag nowarpto guild_vs3 mapflag nowarp guild_vs3 mapflag nomemo guild_vs3 mapflag nopenalty guild_vs3 mapflag nobranch guild_vs3 mapflag noicewall guild_vs3 mapflag noreturn guild_vs3 mapflag pvp_noguild guild_vs5 mapflag noteleport guild_vs5 mapflag nowarp guild_vs5 mapflag nosave guild_vs5 mapflag nopenalty guild_vs5 mapflag nobranch guild_vs5 mapflag noicewall guild_vs5 mapflag pvp_noguild guild_vs2 mapflag nopenalty guild_vs2 mapflag nosave SavePoint guild_vs2 mapflag nowarp guild_vs2 mapflag noteleport guild_vs2 mapflag nomemo guild_vs2 mapflag loadevent guild_vs2 mapflag noreturn guild_vs2 mapflag nobranch guild_vs2 mapflag pvp_noguild cant talk to the npc o.o because of this lol dispell__(); Edited November 19, 2012 by Mootie Quote Link to comment Share on other sites More sharing options...
Ryokem Posted November 19, 2012 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 205 Reputation: 19 Joined: 10/12/12 Last Seen: November 7, 2013 Share Posted November 19, 2012 Show errors O.o Are you using rA btw? Quote Link to comment Share on other sites More sharing options...
Mootie Posted November 19, 2012 Group: Members Topic Count: 43 Topics Per Day: 0.01 Content Count: 815 Reputation: 86 Joined: 10/26/12 Last Seen: June 10, 2022 Share Posted November 19, 2012 (edited) yeah i am using a rA 1 moment let me go to my dedicated and check for the error here i guess i fixed it using this callfunc("dispell"); Edited November 19, 2012 by Mootie Quote Link to comment Share on other sites More sharing options...
KeyWorld Posted November 19, 2012 Group: Members Topic Count: 9 Topics Per Day: 0.00 Content Count: 379 Reputation: 304 Joined: 11/10/11 Last Seen: December 2, 2014 Share Posted November 19, 2012 Add at the beginning of your script: function dispell__; Quote Link to comment Share on other sites More sharing options...
Ryokem Posted November 19, 2012 Group: Members Topic Count: 0 Topics Per Day: 0 Content Count: 205 Reputation: 19 Joined: 10/12/12 Last Seen: November 7, 2013 Share Posted November 19, 2012 Oh yeah, I forgot to initialize the function :< Quote Link to comment Share on other sites More sharing options...
ToastOfDoom Posted November 19, 2012 Group: Members Topic Count: 4 Topics Per Day: 0.00 Content Count: 44 Reputation: 49 Joined: 11/19/11 Last Seen: January 4, 2019 Share Posted November 19, 2012 Hmm...haven't done this for a while so lets see how it goes. (forgive any syntax errors, still setting up my server so I can't test =P) This one is abit different. During dispell only needs to loop as many times as needed without having to do any comparisons. Buff list was taken from the dispell skill inside source. - script dispeller -1,{ function DispellBuff; OnInit: freeloop(1); DispellBuff(SC_WEIGHT50); DispellBuff(SC_WEIGHT90); DispellBuff(SC_HALLUCINATION); DispellBuff(SC_STRIPWEAPON); DispellBuff(SC_STRIPSHIELD); DispellBuff(SC_STRIPARMOR); DispellBuff(SC_STRIPHELM); DispellBuff(SC_CP_WEAPON); DispellBuff(SC_CP_SHIELD); DispellBuff(SC_CP_ARMOR); DispellBuff(SC_CP_HELM); DispellBuff(SC_COMBO); DispellBuff(SC_STRFOOD); DispellBuff(SC_AGIFOOD); DispellBuff(SC_VITFOOD); DispellBuff(SC_INTFOOD); DispellBuff(SC_DEXFOOD); DispellBuff(SC_LUKFOOD); DispellBuff(SC_HITFOOD); DispellBuff(SC_FLEEFOOD); DispellBuff(SC_BATKFOOD); DispellBuff(SC_WATKFOOD); DispellBuff(SC_MATKFOOD); DispellBuff(SC_DANCING); DispellBuff(SC_EDP); DispellBuff(SC_AUTOBERSERK); DispellBuff(SC_CARTBOOST); DispellBuff(SC_MELTDOWN); DispellBuff(SC_SAFETYWALL); DispellBuff(SC_SMA); DispellBuff(SC_SPEEDUP0); DispellBuff(SC_NOCHAT); DispellBuff(SC_ANKLE); DispellBuff(SC_SPIDERWEB); DispellBuff(SC_JAILED); DispellBuff(SC_ITEMBOOST); DispellBuff(SC_EXPBOOST); DispellBuff(SC_LIFEINSURANCE); DispellBuff(SC_BOSSMAPINFO); DispellBuff(SC_PNEUMA); DispellBuff(SC_AUTOSPELL); DispellBuff(SC_INCHITRATE); DispellBuff(SC_INCATKRATE); DispellBuff(SC_NEN); DispellBuff(SC_READYSTORM); DispellBuff(SC_READYDOWN); DispellBuff(SC_READYTURN); DispellBuff(SC_READYCOUNTER); DispellBuff(SC_DODGE); DispellBuff(SC_WARM); DispellBuff(SC_SPEEDUP1); DispellBuff(SC_AUTOTRADE); DispellBuff(SC_CRITICALWOUND); DispellBuff(SC_JEXPBOOST); DispellBuff(SC_INVINCIBLE); DispellBuff(SC_INVINCIBLEOFF); DispellBuff(SC_HELLPOWER); DispellBuff(SC_MANU_ATK); DispellBuff(SC_MANU_DEF); DispellBuff(SC_SPL_ATK); DispellBuff(SC_SPL_DEF); DispellBuff(SC_MANU_MATK); DispellBuff(SC_SPL_MATK); DispellBuff(SC_RICHMANKIM); DispellBuff(SC_ETERNALCHAOS); DispellBuff(SC_DRUMBATTLE); DispellBuff(SC_NIBELUNGEN); DispellBuff(SC_ROKISWEIL); DispellBuff(SC_INTOABYSS); DispellBuff(SC_SIEGFRIED); DispellBuff(SC_FOOD_STR_CASH); DispellBuff(SC_FOOD_AGI_CASH); DispellBuff(SC_FOOD_VIT_CASH); DispellBuff(SC_FOOD_DEX_CASH); DispellBuff(SC_FOOD_INT_CASH); DispellBuff(SC_FOOD_LUK_CASH); DispellBuff(SC_SEVENWIND); DispellBuff(SC_MIRACLE); DispellBuff(SC_S_LIFEPOTION); DispellBuff(SC_L_LIFEPOTION); DispellBuff(SC_INCHEALRATE); DispellBuff(SC_ELECTRICSHOCKER); DispellBuff(SC__STRIPACCESSORY); DispellBuff(SC_COCKTAIL_WARG_BLOOD); DispellBuff(SC_MINOR_BBQ); DispellBuff(SC_DROCERA_HERB_STEAMED); DispellBuff(SC_PUTTI_TAILS_NOODLES); DispellBuff(SC_NEUTRALBARRIER_MASTER); DispellBuff(SC_NEUTRALBARRIER); DispellBuff(SC_STEALTHFIELD_MASTER); DispellBuff(SC_STEALTHFIELD); DispellBuff(SC_GIANTGROWTH); DispellBuff(SC_MILLENNIUMSHIELD); DispellBuff(SC_REFRESH); DispellBuff(SC_STONEHARDSKIN); DispellBuff(SC_VITALITYACTIVATION); DispellBuff(SC_FIGHTINGSPIRIT); DispellBuff(SC_ABUNDANCE); DispellBuff(SC__SHADOWFORM); DispellBuff(SC_LEADERSHIP); DispellBuff(SC_GLORYWOUNDS); DispellBuff(SC_SOULCOLD); DispellBuff(SC_HAWKEYES); DispellBuff(SC_GUILDAURA); DispellBuff(SC_PUSH_CART); DispellBuff(SC_RAISINGDRAGON); DispellBuff(SC_GT_ENERGYGAIN); DispellBuff(SC_GT_CHANGE); DispellBuff(SC_GT_REVITALIZE); DispellBuff(SC_REFLECTDAMAGE); DispellBuff(SC_INSPIRATION); DispellBuff(SC_EXEEDBREAK); DispellBuff(SC_FORCEOFVANGUARD); DispellBuff(SC_BANDING); DispellBuff(SC_DUPLELIGHT); DispellBuff(SC_EXPIATIO); DispellBuff(SC_LAUDAAGNUS); DispellBuff(SC_LAUDARAMUS); DispellBuff(SC_GATLINGFEVER); DispellBuff(SC_INCREASING); DispellBuff(SC_ADJUSTMENT); DispellBuff(SC_MADNESSCANCEL); DispellBuff(SC_ASSUMPTIO); DispellBuff(SC_BERSERK); DispellBuff(SC_SATURDAYNIGHTFEVER); freeloop(0); end; OnDispell: while(.@i < .buffCount) { sc_end getd(".buff_" + .@i); .@i += 1; } end; function DispellBuff { //<buff_id> setd(".buff_" + .buffCount, getarg(0)); .buffCount += 1; return; } } Run using doevent "dispeller::OnDispell"; 2 Quote Link to comment Share on other sites More sharing options...
Question
miyakee
Hi guys,
Is there a code to remove all buffs on a character while entering the pvp room?
THanks!
Link to comment
Share on other sites
16 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.