minx123
Members-
Content Count
283 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by minx123
-
thank you.. very useful..
-
For 1st link i think its not work anymore. 2nd link u gv i already have it.. Not i not sure if its still work or not.. Because got player report it still can bypass.. AFAIK, 2nd one is server sided (wondering how player bypass it) ya u right its server side. maybe adelays not work anymore?
-
For 1st link i think its not work anymore. 2nd link u gv i already have it.. Not i not sure if its still work or not.. Because got player report it still can bypass..
-
Still work or not??
-
this topic already open. but i cant get any way to solve it.. right now i using hashield but kamishi still not answering my pm. how about adelays? but i dont if this adelays still on work or not? if any one know how to block 0 delay? or any security its good like hashield and adelays?
-
PVP Ghost script buildin_rid2name: invalid RID
minx123 replied to minx123's question in Script Support
Bump -
PVP Ghost script buildin_rid2name: invalid RID
minx123 replied to minx123's question in Script Support
bump.. help me -
//Title: Ghost's PvP System (Multi-announcer + Ladder) //Version: 1.3 //Author: Ghost //Created: 12/27/2011 //Released: 01/31/2012 //Last Modified: 06/06/2013 //Compatibility: rAthena | eAthena //Support: TXT & SQL /*SQL Table for Ghost's PvP System CREATE TABLE IF NOT EXISTS `pvp_rank` ( `char_id` int(11) NOT NULL, `account_id` int(11) NOT NULL, `char` varchar(30) NOT NULL, `kill` int(11) NOT NULL, `death` int(11) NOT NULL, `kdr` varchar(30) NOT NULL, `killingstreak` int(11) NOT NULL, `multikill` int(11) NOT NULL, `killingspree` int(11) NOT NULL, `dominating` int(11) NOT NULL, `megakill` int(11) NOT NULL, `unstoppable` int(11) NOT NULL, `wickedsick` int(11) NOT NULL, `monsterkill` int(11) NOT NULL, `godlike` int(11) NOT NULL, `beyondgodlike` int(11) NOT NULL, `doublekill` int(11) NOT NULL, `triplekill` int(11) NOT NULL, `ultrakill` int(11) NOT NULL, `rampage` int(11) NOT NULL, `ownage` int(11) NOT NULL, `nemesiskill` int(11) NOT NULL, `feedcount` int(11) NOT NULL, PRIMARY KEY (`char_id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; */ //rAthena Topic: http://rathena.org/board/topic/58222-ghosts-scripts/ //Required File: // SQL Table: http://pastebin.com/dEqrkczy // Wav Files: http://www.mediafire.com/?i3uutvdp00jw4r8 //References: // http://www.wowwiki.com/Defense_of_the_Ancients:_Allstars // http://honwiki.net/wiki/Kill_Streak // http://honwiki.net/wiki/Multi_Kill // http://honwiki.net/wiki/Patch_2.0.0#Nemesis_and_Payback // http://igamepros.com/viewtopic.php?f=62&t=4342 //Additional Note: // Multiple kill timer is set to Heroes of Newerth's 18 seconds. // KDR Algorithm is originally written by me, Ghost. // If you like this PvP System, say thanks at my rAthena topic. //Glossary: // KDR: Kill Death Ratio // SK: Streak Kill // MK: Multi Kill //Credits: // Thank you to the Athena community. //Changelog: // v1.3 = Fixed .PvPMap$[0] settings [Ghost] // = Added .GMLevel at configuration [Ghost] // = Change SK Hex Color to ^00FF00 for visibility [Ghost] // = Fixed Streak Kill ended broadcast [Ghost] // = Typographical error (Ms. Pudding to Flamboyant) on Announcer Setting corrected [Ghost] // = Changed Top 10 Players ranking from KDR to Kills [Ghost] // v1.2 = Fixed obfuscation at PvP Statistics [Ghost] // v1.1 = KDR Algorithm update for undefined calculation check [Lighta] // = Fixed obfuscation at Nemesis Kill [Lighta] // v1.0 = Initial release //©2011-2012 Ghost //======================================================================================== - script Versus -1,{ OnInit: //CONFIGURATION set .System, 1; //Toggle PvP System (0:Disable|1:Enable) set .ServerType, 1; //Are you using TXT or SQL? (0:TXT|1:SQL) set .gmlevel, 100; //GM levels above or equal this level will be ignored by the system //setarray .PvPMap$[0],"All"; //List all pvp maps here (Index 0:"All" to enable all maps) setarray .PvPMap$[0], "guild_vs3","payg_cast01","gefg_Cast01","prtg_cas01","guild_vs1","guild_v5","artz_pvp","pvp_y_8-2"; set .Gfx, 1; //Enable Cutin count graphics features? (0:Disable|1:Enable) set .Dcnt,1; //Death count enabled? (0:Disable|1:Enable) //======================================================================================== //PVP LADDER set .Top, 10; //What is the length of the list? set .Reset, 1; //Allow players to reset their PvP statistics? (0:Disable|1:Zeny|2:Cashpoint|3:Skull) set .ZenyFee, 10000000; //How much zeny you want to charge to reset their pvp stat? set .CashFee, 0; //How much cashpoint you want to charge to reset their pvp stat? set .SkullFee, 0; //How much skull you want to charge to reset their pvp stat? set .AnnouncerFee, 100000000; //How much cashpoint per announcer? (DotA announcer is set as default) //======================================================================================== //REWARD SETTING (Every Kill) set .MaxZeny, 1000000000; //What is the max zeny of the server? set .Zeny, 0; //Earn zeny each kill? (0:Disable) set .Cash, 0; //How much #CASHPOINT every kill? (0:Disable) set .Skull, 1; //Collect player's skull each kill? (0:Disable|1:Enable) setarray .ItemID[0], 0,0; //Get items each kill? (0:Disable) setarray .Amount[0], 0,0; //How many items per kill? set .Exp, 0; //Gain Exp each kill? (0:Disable|1:Enable) set .Bexp, 3; //How much % base Exp gain each kill? set .Jexp, 3; //How much % job Exp gain each kill? set .Reqkill,0; //Qualified number of kills before getting a chance for grand prize? (0:Disable) set .Gprize, 0; //Grand Prize Percent? (0:Disable|1:Enable) //======================================================================================== //PENALTY SETTING set .Feed,10; //How many kills before feeding is called? (10:Recommended) set .Penalty,1; //What is the penalty for the feedee? (0:Disable|1:Kill Rollback|2:Server Kick|3:Server Block|4:Server Ban|5:Server Prison) set .Kick,2; //Who to punish? (0:Feedee|1:Feeder|2:Both) set .Rollback,10; //How many times should the kill count rollback when feeding is called? (10:Recommended) //======================================================================================== //ANNOUNCER SETTING set .Broadcast, 1; //Where do you want to broadcast? (0:bc_all|1:bc_map) set .Streak, 1; //Show number of killing streak in broadcast? e.g. Ghost is Beyond Godlike(8) set .Multiple, 1; //Show number of multiple kill in broadcast? e.g. Makizushi just got an Ownage(5) set .Nemesis, 1; //Show number of nemesis in broadcast? e.g. Epoque is owning Jguy(9) set .Feeder, 1; //Show number of feed in broadcast? e.g. Cookies is feeding `KeiKun(10) set .RandomKillWord, 1; //Randomize the kill words? e.g. Arcenciel "Kill Word" jTynne (0:Disable|Default:"pwned") setarray .KillWord$[0], "pawned", "smashed", "disintegrated", "neutralized","took","cut","obliterated","thrashed","pulverized"; //Enable above setting for this to work //Broadcast Color | See HexTable: http://johncfish.com/bggallery/otherchart/hextable.gif set .KColor$, "0xFFFFCC"; //Kill Broadcast Color | e.g. Jguy pwned Mercurial set .KSColor$, "0xFFFFCC"; //Killing Streak Broadcast Color | e.g. jTynne is on a Killing Spree set .MKColor$, "0x33FF00"; //Multiple Kill Broadcast Color | e.g. Mercurial just got a Double Kill set .ESColor$, "0xFF0000"; //End Streak Broadcast Color | e.g. BrianL just ended Jguy's Killing Spree set .NMColor$, "0x0099FF"; //Nemesis Broadcast Color | e.g. Xazax is owning Cookies set .PBColor$, "0xFF0000"; //Payback Broadcast Color | e.g. Makizushi just have a payback againts lilcooldude69 set .FDColor$, "0xFF00CC"; //Feeder Broadcast Color | e.g. Cookies is feeding Z3R0 //--Warning: Critical Setting | Killing Streaks and Multiple Kills Announcer setarray .KSDotA$[0], "is on a Killing Spree", "is Dominating", "has a Mega-Kill", "is Unstoppable", "is Wicked Sick", "has a M-m-m-m....Monster Kill", "is Godlike", "is Beyond Godlike"; setarray .MKDotA$[0], "just got a Double Kill", "just got a Triple Kill", "just got an Ultra Kill", "is on a Rampage", "is Owning his/her enemies"; setarray .ESDotA$[0], "Killing Spree", "Dominating", "Mega-Kill", "Unstoppable", "Wicked Sick", "Monster Kill", "Godlike", "Beyond Godlike"; setarray .EMDotA$[0], "Double Kill", "Triple Kill", "Ultra Kill", "Rampage", "Ownage"; setarray .KSHoN$[0], "is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKHoN$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESHoN$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMHoN$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSFLAM$[0],"is Homicidal","is Big Bear","is Diva","is Macho","is Savage Ohh","is on Domination","is Homewrecker","is Superstar","is Scary"; setarray .MKFLAM$[0], "is Fabulous","is on a Three Way","is on a Unicorn Stampede","is a Rainbow Warrior","Yey","is like O-M-G"; setarray .ESFLAM$[0],"Homicidal","Big Bear","Diva","Macho","Savage Ohh","Domination","Homewrecker","Superstar","Scary"; setarray .EMFLAM$[0], "Fabulous","Three Way","Unicorn Stampede","Rainbow Warrior","Yey","O-M-G"; setarray .KSENG$[0],"is on a Killing Spree", "is Dominating", "has a Mega-Kill", "is Unstoppable", "is Wicked Sick", "has a M-m-m-m....Monster Kill", "is Godlike", "is Beyond Godlike"; setarray .MKENG$[0], "is Splendid","is Absolutely Spiffing","is Marvelous","is Conquering The Game","is on Royal Thrashing","just got a Genocide"; setarray .ESENG$[0], "Killing Spree", "Dominating", "Mega-Kill", "Unstoppable", "Wicked Sick", "Monster Kill", "Godlike", "Beyond Godlike"; setarray .EMENG$[0], "Splendid","Absolutely Spiffing","Marvelous","Conquering The Game","Royal Thrashing","Genocide"; setarray .KSBALL$[0],"doesn't taking it Seriously","is on a Rush","has a Mega-Kill","is Unstoppable","is Bonafied Badass","has a M-m-m-m....Monster Kill","is Damn Good","is Unbelievable","is Beyond Godlike"; setarray .MKBALL$[0], "is Making it too Easy","isn't giving any Chance","is Ready for another kill","annihilated his/her enemies","just got a Genocide","made a Huge Mess"; setarray .ESBALL$[0], "Killing Spree", "Dominating", "Mega-Kill", "Unstoppable", "Bonafied Badass", "Monster Kill", "Damn Good", "Unbelievable"; setarray .EMBALL$[0], "Too Easy","No Chance","Ready for another kill","Annihilation","Genocide","Huge Mess"; setarray .KSBRKY$[0],"is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKBRKY$[0],"just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESBRKY$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMBRKY$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSSDCT$[0],"is on a Hot Streak", "is an Ultimate Warrior", "is Too Hot", "is on an Onslaught!", "is Savage Sick", "is Dominating", "is on The Climax", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKSDCT$[0],"just got a Double Tap", "just got a Triple Kill", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide","made a Huge Mess"; setarray .ESSDCT$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; setarray .EMSDCT$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSDUKE$[0],"is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKDUKE$[0],"just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESDUKE$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; setarray .EMDUKE$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSVRZO$[0], "is on a Killing Spree", "is a Destoyer", "is on High 5", "is on Touch Down", "is a Killing Machine", "has a M-m-m-m....Monster Kill", "is Godlike", "is Beyond Godlike"; setarray .MKVRZO$[0], "just got a Double Kill", "just got a Triple Kill", "just got an Ultra Kill", "is on a Rampage", "is Owning his/her enemies"; setarray .ESVRZO$[0], "Killing Spree", "Destoyer", "High 5", "Touch Down", "Killing Machine", "Monster Kill", "Godlike", "Beyond Godlike"; setarray .EMVRZO$[0], "Double Kill", "Triple Kill", "Ultra Kill", "Rampage", "Ownage"; setarray .KSCCA$[0], "is Sweet", "is Tasty", "is Delicious", "is Divine", "is on Sugar Crush", "is on Sugar Crush", "is on Sugar Crush", "is on Sugar Crush"; setarray .MKCCA$[0], "is Sweet", "is Tasty", "is Delicious", "is Divine", "is on Sugar Crush"; setarray .ESCCA$[0], "Sweetness", "Tastiness", "Delicious", "Divine", "Sugar Crush", "Sugar Crush", "Sugar Crush", "Sugar Crush"; setarray .EMCCA$[0], "Sweetness", "Tastiness", "Delicious", "Divine", "Sugar Crush"; setarray .KSPMP$[0], "is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKPMP$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESPMP$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMPMP$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSSAM$[0], "is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKSAM$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESSAM$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMSAM$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; setarray .KSSPT$[0], "is a Serial Killer", "is an Ultimate Warrior", "is Legendary", "is on an Onslaught!", "is Savage Sick", "is Dominating", "has a Bloodbath", "is Immortal"; //Took out #9. Champion of Newearth setarray .MKSPT$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his/her enemies", "just got a Genocide"; setarray .ESSPT$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth setarray .EMSPT$[0], "Double Tap", "Hat Trick", "Quad Kill", "Annihilation", "Genocide"; //--Warning: Fail Safe | Do Not Touch if(.System > 1){ set .System, 1; } if(.System < 0){ set .System, 0; } if(.ServerType > 1){ set .ServerType, 1; } if(.ServerType < 0){ set .ServerType, 0; } if(.GMLevel > 99){ set .GMLevel, 99; } if(.GMLevel < 0){ set .GMLevel, 0; } if((.PvPMap$[0] == "all")||(.PvPMap$[0] == "ALL")||(.PvPMap$[0] == "All")||(.PvPMap$[0] == "aLl")||(.PvPMap$[0] == "alL") || (.PvPMap$[0] == "ALl") || (.PvPMap$[0] == "aLL")|| (.PvPMap$[0] == "AlL")){ setarray .PvPMap$[0], "All"; } if(.Ladder > 1){ set .Ladder, 1; } if(.Ladder < 0){ set .Ladder, 0; } if(.Top < 0){ set .Top, 0; } if(.Reset > 3){ set .Reset, 0; } if(.Reset < 0){ set .Reset, 0; } if((.Reset == 1)&&(.ZenyFee <= 0)){ set .Reset, 0; } if((.Reset == 1)&&(.ZenyFee >= .MaxZeny)){ set .Reset, 0; } if((.Reset == 2)&&(.CashFee <= 0)){ set .Reset, 0; } if((.Reset == 3)&&(.SkullFee <= 0)){ set .Reset, 0; } if(.Zeny > .MaxZeny){ set .Zeny, 0; } if(.Zeny < 0){ set .Zeny, 0; } if(.Cash < 0){ set .Cash, 0; } if(.Broadcast > 1){ set .Broadcast, 1; } if(.Broadcast < 0){ set .Broadcast, 0; } if(.Feed < 1){ set .Feed, 0; } if(.Penalty > 5){ set .Penalty, 5; } if(.Penalty < 1){ set .Penalty, 0; } if(.Rollback < 1){ set .Rollback, 0; } if(.Streak > 1){ set .Streak, 1; } if(.Streak < 1){ set .Streak, 0; } if(.Multiple > 1){ set .Multiple, 1; } if(.Multiple < 1){ set .Multiple, 0; } if(.Nemesis > 1){ set .Nemesis, 1; } if(.Nemesis < 0){ set .Nemesis, 0; } if(.Feeder > 1){ set .Feeder, 1; } if(.Feeder < 1){ set .Feeder, 0; } if(.RandomKillWord > 1){ set .RandomKillWord, 1; } if(.RandomKillWord < 0){ set .RandomKillWord, 0; } end; OnPCKillEvent: if(.System==1) { .@killedrid = killedrid; for(set .@i, 0; .@i <getarraysize(.PvPMap$); set .@i, .@i + 1) if((strcharinfo(3) == .PvPMap$[.@i]) | (.PvPMap$[0] =="All")) { set Kill, Kill + 1; if(.Gfx == 1){ specialeffect2 EF_SPELLBREAKER,AREA,rid2name(.@killedrid); specialeffect2 EF_WARP,AREA,rid2name(.@killedrid); } if((@nm == .Feed) && (.Penalty)){ callsub OnClearData; switch(.Penalty){ case 0: break; case 1: callsub OnRollback; break; case 2: if(.Kick == 0){ atcommand "@kick "+strcharinfo(0); announce strcharinfo(0)+" has been kicked out from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 1){ atcommand "@kick "+rid2name(.@killedrid); announce rid2name(.@killedrid)+" has been kicked out from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 2){ atcommand "@kick "+strcharinfo(0); atcommand "@kick "+rid2name(.@killedrid); announce strcharinfo(0)+" has been kicked out from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; announce rid2name(.@killedrid)+" has been kicked out from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; soundeffectall ""+#Announcer+"_Ragequit.wav", 0,strcharinfo(3); } callsub OnRollback; break; case 3: if(.Kick == 0){ atcommand "@block "+strcharinfo(0); announce strcharinfo(0)+" has been blocked from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 1){ atcommand "@block "+rid2name(.@killedrid); announce rid2name(.@killedrid)+" has been blocked from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 2){ atcommand "@block "+strcharinfo(0); atcommand "@block "+rid2name(.@killedrid); announce strcharinfo(0)+" has been blocked from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; announce rid2name(.@killedrid)+" has been blocked from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; soundeffectall ""+#Announcer+"_Ragequit.wav", 0,strcharinfo(3); } callsub OnRollback; break; case 4: if(.Kick == 0){ atcommand "@ban 1yr "+strcharinfo(0); announce strcharinfo(0)+" has been banned from the server!!! (PVP Feeding)", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 1){ atcommand "@ban 1yr "+rid2name(.@killedrid); announce rid2name(.@killedrid)+" has been banned from the server!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 2){ atcommand "@ban 1yr "+strcharinfo(0); atcommand "@ban 1yr "+rid2name(.@killedrid); announce strcharinfo(0)+" has been banned from the server!!! (PVP Feeding)", ((.Broadcast)?bc_all:bc_map), .PBColor$; announce rid2name(.@killedrid)+" has been banned from the server!!! (PVP Feeding)", ((.Broadcast)?bc_all:bc_map), .PBColor$; soundeffectall ""+#Announcer+"_Ragequit.wav", 0,strcharinfo(3); } callsub OnRollback; break; case 5: if(.Kick == 0){ atcommand "#warp "+strcharinfo(0)+" sec_pri"; announce strcharinfo(0)+" has been prisoned!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 1){ atcommand "#warp "+rid2name(.@killedrid)+" sec_pri"; announce rid2name(.@killedrid)+" has been prisoned!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } if(.Kick == 2){ atcommand "@warp sec_pri"; atcommand "@recall "+(rid2name(.@killedrid)); announce strcharinfo(0)+" has been prisoned!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; announce rid2name(.@killedrid)+" has been prisoned!!!", ((.Broadcast)?bc_all:bc_map), .PBColor$; } callsub OnRollback; break; default: break; } } if(@nm < .Feed && rid2name(.@killedrid) != strcharinfo(0)){ if(strcharinfo(3) == "guild_vs1") { if(.Zeny && ((Zeny + .Zeny) < .MaxZeny)){ set Zeny, Zeny + .Zeny; } if(.Cash){ dispbottom "[Point System] +1 Kill Point"; set #CASHPOINT, #CASHPOINT + .Cash; } if(.Skull){ getnameditem 7420, rid2name(.@killedrid); } if(.Exp){ getexp ((NextBaseExp)/(100/.Bexp)),((NextJobExp)/(100/.Jexp)); } for(set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1){ if(.ItemID){ getitem .ItemID[.@i], .Amount[.@i]; }} if(.Gprize) { if( rand(100) <= .Gprize && Kill >= .Reqkill ){ setarray $@gprize[0],25500,25501; specialeffect2 248; getitem ($@gprize[rand(0,getarraysize($@gprize)-1)]),1; announce strcharinfo(0)+" received a grand prize!!!", ((.Broadcast)?bc_all:bc_map), .KSColor$; soundeffectall ""+#Announcer+"_Victory.wav", 0,strcharinfo(3); } } } } if(.RandomKillWord && rid2name(.@killedrid) != strcharinfo(0)){ announce strcharinfo(0)+" "+.KillWord$[rand(0, getarraysize(.KillWord$) - 1)]+" "+rid2name(.@killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; } else if( rid2name(.@killedrid) == strcharinfo(0) && .RandomKillWord){ announce strcharinfo(0)+" "+.KillWord$[rand(0, getarraysize(.KillWord$) - 1)]+" "+((Sex)?"his":"her")+" own head", ((.Broadcast)?bc_all:bc_map), .KColor$; } else if( rid2name(.@killedrid) == strcharinfo(0)) { announce strcharinfo(0)+" pwned "+((Sex)?"his":"her")+" own head", ((.Broadcast)?bc_all:bc_map), .KColor$; } else { announce strcharinfo(0)+" pwned "+rid2name(.@killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; } if(@ks < 10){ set @ks, @ks + 1; } if(@mk < 7){ set @mk, @mk + 1; } if(!NemesisKilled){ set NemesisKilled, .@killedrid; } if(NemesisKilled == .@killedrid){ set @nm, @nm + 1; } else { set NemesisKilled, .@killedrid; set @nm,1; } deltimer "Versus::OnMKReset"; addtimer 18000, "Versus::OnMKReset"; callsub OnRecordStreak; callsub OnAnnounce; callsub OnDeath; end; } } else { end; } OnPCDieEvent: if(.System==1) { .@killerrid = killerrid; if ( strcharinfo(3) == "guild_vs2" ) { dispbottom "You will respawn in 3 seconds"; sleep2 3000; warp "guild_vs2", 0,0; percentheal 100,100; skilleffect AL_BLESSING,0; sc_start SC_BLESSING,240000,10; if(Hp>15) { skilleffect AL_INCAGI,0; sc_start SC_INC_AGI,240000,10; heal -15,0; } atcommand "@speed 50"; } for(set .@i, 0; .@i <getarraysize(.PvPMap$); set .@i, .@i + 1) if((strcharinfo(3) == .PvPMap$[.@i]) | (.PvPMap$[0] =="All")) { if ( .@killerrid > 3000000 ){ end; } @killer_name$ = ( .@killerrid < 3000000 ? rid2name( .@killerrid ) : "" ); if (.Dcnt) { set Death, Death + 1; } //set @pb$,rid2name(.@killerrid); if(!NemesisKiller){ set NemesisKiller, .@killerrid; } if(NemesisKiller == .@killerrid){ set @nmk, @nmk + 1; } else { set NemesisKiller, .@killerrid; set @nmk,1; } if(@ks > 2 && rid2name(killedrid) != strcharinfo(0)){ if(#Announcer == 0){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESDotA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 1){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 2){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 3){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESFLAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 4){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESENG$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 5){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESBALL$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 6){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESBRKY$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 7){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESSDCT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 8){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESDUKE$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 9){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESVRZO$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 10){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESCCA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 11){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESPMP$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 12){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESSAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 13){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.ESSPT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } } if(@ks > 2 && rid2name(killedrid) == strcharinfo(0)){ if(#Announcer == 0){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESDotA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 1){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 2){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 3){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESFLAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 4){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESENG$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 5){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESBALL$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 6){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESBRKY$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 7){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESSDCT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 8){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESDUKE$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 9){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESVRZO$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 10){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESCCA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 11){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESPMP$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 12){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESSAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 13){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.ESSPT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } } if(@mk >1 && rid2name(killedrid) != strcharinfo(0)){ if(#Announcer == 0){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMDotA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 1){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 2){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 3){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMFLAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 4){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMENG$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 5){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMBALL$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 6){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMBRKY$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 7){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMSDCT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 8){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMDUKE$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 9){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMVRZO$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 10){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMCCA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 11){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMPMP$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 12){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMSAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 13){ announce rid2name(.@killerrid)+" just ended "+strcharinfo(0)+"'s "+.EMSPT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } } if(@mk >1 && rid2name(killedrid) == strcharinfo(0)){ if(#Announcer == 0){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMDotA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 1){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 2){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 3){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMFLAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 4){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMENG$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 5){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMBALL$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 6){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMBRKY$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 7){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMSDCT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 8){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMDUKE$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 9){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMVRZO$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 10){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMCCA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 11){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMPMP$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 12){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMSAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } if(#Announcer == 13){ announce strcharinfo(0)+" just ended "+((Sex)?"his":"her")+" "+.EMSPT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .ESColor$; if(.Gfx){ cutin "streakbreak.bmp",0; sleep2 1000; cutin "",255; } else { } } } } } end; OnPCLogoutEvent: if(.System){ if(strcharinfo(3) == "guild_vs2") { sc_end SC_ALL; } if((.ServerType) && (Kill)){ query_sql("REPLACE INTO `pvp_rank` (`char_id`, `account_id`, `char`, `kill`, `death`, `kdr`, `killingstreak`, `multikill`, `nemesiskill`, `feedcount`,`killingspree`, `dominating`, `megakill`, `unstoppable`, `wickedsick`, `monsterkill`, `godlike`, `beyondgodlike`, `doublekill`, `triplekill`, `ultrakill`, `rampage`, `ownage`) VALUES ("+getcharid(0)+","+getcharid(3)+", '"+rid2name(getcharid(3))+"', "+Kill+", "+Death+", '"+callfunc("KDR_Calc", Kill, Death)+"', "+KillingStreak+", "+MultiKill+", "+NemesisKill+", "+FeedCount+", "+KillingSpree+", "+Dominating+", "+MegaKill+", "+Unstoppable+", "+WickedSick+", "+MonsterKill+", "+Godlike+", "+BeyondGodlike+", "+DoubleKill+", "+TripleKill+", "+UltraKill+", "+Rampage+", "+Ownage+")"); } if(.PvPMap$[0] != "All"){ for(set .@i, 0; .@i < getarraysize(.PvPMap$); set .@i, .@i + 1){ if(strcharinfo(3) != .PvPMap$[.@i]){ end; } } } callsub OnClearData; deltimer "Versus::OnMKReset"; } end; OnRecordStreak: if(@ks > 2){ set KillingStreak, KillingStreak + 1; switch(@ks){ case 0: case 1: case 2: break; case 3: set KillingSpree, KillingSpree + 1; break; case 4: set Dominating, Dominating + 1; break; case 5: set MegaKill, MegaKill + 1; break; case 6: set Unstoppable, Unstoppable + 1; break; case 7: set WickedSick, WickedSick + 1; break; case 8: set MonsterKill, MonsterKill + 1; break; case 9: set Godlike, Godlike + 1; break; case 10: set BeyondGodlike, BeyondGodlike + 1; break; default: break; } } if(@mk > 1){ set MultiKill, MultiKill + 1; switch(@mk){ case 0: case 1: break; case 2: set DoubleKill, DoubleKill + 1; break; case 3: set TripleKill, TripleKill + 1; break; case 4: set UltraKill, UltraKill + 1; break; case 5: set Rampage, Rampage + 1; break; case 6: set Ownage, Ownage + 1; break; default: break; } } if((@nm > 2) && (@nm < .Feed)){ set NemesisKill, NemesisKill + 1; } if(@nm >= .Feed){ set FeedCount, FeedCount + 1; return; } OnAnnounce: if(@ks < 2 && @ks > 0 && rid2name(killedrid) != strcharinfo(0)){ if(#Announcer == 0){ announce strcharinfo(0)+" drew first blood!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 1){ announce strcharinfo(0)+" got bloodlust!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 2){ announce strcharinfo(0)+" got bloodlust!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 3){ announce strcharinfo(0)+" is a cherry popper!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 4){ announce strcharinfo(0)+" is dedicating "+((Sex)?"his":"her")+" first kill for the queen and "+((Sex)?"his":"her")+" country!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 5){ announce strcharinfo(0)+" just got "+((Sex)?"his":"her")+" first victim!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 6){ announce strcharinfo(0)+" is showing up!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 7){ announce strcharinfo(0)+" just had "+((Sex)?"his":"her")+" first $%!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 8){ announce strcharinfo(0)+" is starting to shed some blood!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 9){ announce strcharinfo(0)+" got bloodlust!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 10){ announce strcharinfo(0)+" is Sweet!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 11){ announce strcharinfo(0)+" is a first timer!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 12){ announce strcharinfo(0)+" got bloodlust!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } if(#Announcer == 13){ announce strcharinfo(0)+" got bloodlust!", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks1.bmp",0; } else { } } sleep2 1000; soundeffectall ""+#Announcer+"_KS"+1+".wav", 0, strcharinfo(3); cutin "",255; } if(@ks == 2 && .Gfx){ cutin "ks2.bmp",0; sleep2 1000; cutin "",255; } else { } if(@ks > 2){ if(#Announcer == 0){ announce strcharinfo(0)+" "+.KSDotA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==1){ announce strcharinfo(0)+" "+.KSHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==2){ announce strcharinfo(0)+" "+.KSHoN$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==3){ announce strcharinfo(0)+" "+.KSFLAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==4){ announce strcharinfo(0)+" "+.KSENG$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==5){ announce strcharinfo(0)+" "+.KSBALL$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==6){ announce strcharinfo(0)+" "+.KSBRKY$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==7){ announce strcharinfo(0)+" "+.KSSDCT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==8){ announce strcharinfo(0)+" "+.KSDUKE$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==9){ announce strcharinfo(0)+" "+.KSVRZO$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==10){ announce strcharinfo(0)+" "+.KSCCA$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==11){ announce strcharinfo(0)+" "+.KSPMP$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==12){ announce strcharinfo(0)+" "+.KSSAM$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } if(#Announcer ==13){ announce strcharinfo(0)+" "+.KSSPT$[@ks - 3]+" "+((.Streak)?"("+@ks+")":"")+"", ((.Broadcast)?bc_all:bc_map), .KSColor$; if(.Gfx){ cutin "ks"+@ks+".bmp",0; } else { } } sleep2 1500; soundeffectall ""+#Announcer+"_KS"+@ks+".wav", 0, strcharinfo(3); cutin "",255; } if(@mk > 1){ if(#Announcer == 0){ announce strcharinfo(0)+" "+.MKDotA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==1){ announce strcharinfo(0)+" "+.MKHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==2){ announce strcharinfo(0)+" "+.MKHoN$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==3){ announce strcharinfo(0)+" "+.MKFLAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==4){ announce strcharinfo(0)+" "+.MKENG$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==5){ announce strcharinfo(0)+" "+.MKBALL$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==6){ announce strcharinfo(0)+" "+.MKBRKY$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==7){ announce strcharinfo(0)+" "+.MKSDCT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==8){ announce strcharinfo(0)+" "+.MKDUKE$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==9){ announce strcharinfo(0)+" "+.MKVRZO$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==10){ announce strcharinfo(0)+" "+.MKCCA$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==11){ announce strcharinfo(0)+" "+.MKPMP$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==12){ announce strcharinfo(0)+" "+.MKSAM$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } if(#Announcer ==13){ announce strcharinfo(0)+" "+.MKSPT$[@mk - 2]+" "+((.Multiple)?"("+@mk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .MKColor$; if(.Gfx){ cutin "mk"+@mk+".bmp",0; } else { } } sleep2 2000; soundeffectall ""+#Announcer+"_MK"+@mk+".wav", 0, strcharinfo(3); cutin "",255; } if((@nm > 2) && (@nm < .Feed)){ announce strcharinfo(0)+" is owning "+rid2name(NemesisKilled)+" "+((.Nemesis)?"("+@nm+")":"")+"", ((.Broadcast)?bc_all:bc_map), .NMColor$; sleep2 2000; if(#Announcer > 0){ soundeffectall #Announcer+"_Nemesis.wav", 0, strcharinfo(3); } else { soundeffectall "1_Nemesis.wav", 0;} } if(@nm >= .Feed){ announce rid2name(NemesisKilled)+" is Feeding "+strcharinfo(0)+" "+((.Feeder)?"("+@nm+")":"")+"", ((.Broadcast)?bc_all:bc_map), .FDColor$; sleep2 1500; soundeffectall "Feeder.wav", 0, strcharinfo(3); } return; OnDeath: if(killedrid==NemesisKiller && @nmk > 2 ){ announce strcharinfo(0)+" just have a payback againts "+rid2name(killedrid)+" "+((.Nemesis)?"("+@nmk+")":"")+"", ((.Broadcast)?bc_all:bc_map), .PBColor$; if(.Gfx){ cutin "payback.bmp",4; } else { } sleep2 2500; soundeffectall ""+#Announcer+"_Payback.wav", 0,strcharinfo(3); cutin "",255; } attachrid(killedrid); callsub OnClearData; return; OnMKReset: set @mk, 0; end; OnClearData: sleep2 3000; set NemesisKilled, 0; set @ks, 0; set @mk, 0; set @nm, 0; return; OnRollback: if(.Zeny){ set Zeny, Zeny - (.Zeny * .Rollback); } if(.Cash){ dispbottom "[Point System] -"+(.Cash * .Rollback)+" Kill Point"; set #CASHPOINT, #CASHPOINT - (.Cash * .Rollback); } if(.Skull){ delitem 7420,min( countitem( 7420 ), .Rollback ); } for(set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1){ if(.ItemID){ delitem .ItemID[.@i], min( countitem( .ItemID[.@i] ),(.Amount[.@i] * .Rollback) ); }} if((Kill - .Rollback) > 0){ set Kill, Kill - .Rollback; } else { set Kill, 0; } if((KillingSpree - 1) > 0){ set KillingSpree, KillingSpree - 1; } else { set KillingSpree, 0; } if((Dominating - 1) > 0){ set Dominating, Dominating - 1; } else { set Dominating, 0; } if((MegaKill - 1) > 0){ set MegaKill, MegaKill - 1; } else { set MegaKill, 0; } if((Unstoppable - 1) > 0){ set Unstoppable, Unstoppable - 1; } else { set Unstoppable, 0; } if((WickedSick - 1) > 0){ set WickedSick, WickedSick - 1; } else { set WickedSick, 0; } if((MonsterKill - 1) > 0){ set MonsterKill, MonsterKill - 1; } else { set MonsterKill, 0; } if((Godlike - 1) > 0){ set Godlike, Godlike - 1; } else { set Godlike, 0; } if((BeyondGodlike - 1) > 0){ set BeyondGodlike, BeyondGodlike - 1; } else { set BeyondGodlike, 0; } if((DoubleKill - 1) > 0){ set DoubleKill, DoubleKill - 1; } else { set DoubleKill, 0; } if((TripleKill - 1) > 0){ set TripleKill, TripleKill - 1; } else { set TripleKill, 0; } if((UltraKill - 1) > 0){ set UltraKill, UltraKill - 1; } else { set UltraKill, 0; } if((Rampage - 1) > 0){ set Rampage, Rampage - 1; } else { set Rampage, 0; } if((Ownage - 1) > 0){ set Ownage, Ownage - 1; } else { set Ownage, 0; } if((NemesisKill - (.Rollback - 3)) > 0){ set NemesisKill, NemesisKill - (.Rollback - 3); } else { set NemesisKill, 0; } announce "[Anti-Feed] Your kill count has been rollbacked "+.Rollback+" times.",bc_self,0xFF0000; return; } florian,121,160,5 script PVP Top Ranks 4_M_CRU_SOLD,{ mes "[Top Ranking]"; mes "What can I do for you today?"; switch(select("PVP Ranking:MvP Ranking:PvP Statistic:Announcer Setting")){ case 1: //Player Ranking next; if(getvariableofnpc(.ServerType, "Versus")){ mes "[Top "+getvariableofnpc(.Top, "Versus")+" PvP Players]"; mes "^0000FFKill^000000 | ^FF0000Death^000000 | ^FF22FFKDR^000000 | ^00FF00SK^000000 | ^666666MK^000000"; query_sql "SELECT `char`, `kill`, `death`, `kdr`, `killingstreak`, `multikill` FROM `pvp_rank` ORDER BY `pvp_rank`.`kill` DESC LIMIT "+getvariableofnpc(.Top, "Versus")+"", .@char$, .@kill, .@[member=Death], .@kdr$, .@sk, .@mk; for(set .@i, 0; .@i < getarraysize(.@char$); set .@i, .@i + 1){ mes .@i+1+". "+.@char$[.@i]+" ^0000FF"+.@kill[.@i]+"^000000 ^FF0000"+.@[member=Death][.@i]+"^000000 ^FF22FF"+.@kdr$[.@i]+"^000000 ^00FF00"+.@sk[.@i]+"^000000 ^666666"+.@mk[.@i]+"^000000 "; } close; } else { mes "Top "+getvariableofnpc(.Top, "Versus")+" ranking is not yet implemented for this server type."; } case 2: //MvP Ranking next; if(getvariableofnpc(.ServerType, "Versus")){ mes "[Top "+getvariableofnpc(.Top, "Versus")+" MvP Ranking]"; mes "^0000FFPlayer^000000 | ^FF0000Kills^000000"; query_sql "SELECT `name`, `kills` FROM `mvp` ORDER BY `mvp`.`kills` DESC LIMIT "+getvariableofnpc(.Top, "Versus")+"", .@name$, .@kills; for(set .@i, 0; .@i < getarraysize(.@name$); set .@i, .@i + 1){ mes .@i+1+". "+.@name$[.@i]+" ^0000FF"+.@kills[.@i]+"^000000"; } close; } else { mes "Top "+getvariableofnpc(.Top, "Versus")+" ranking is not yet implemented for this server type."; } case 3: //PvP Statistic next; mes strcharinfo(0)+"'s PvP Statistic"; mes "^666666Kill:^000000 "+Kill+" ^666666Death:^000000 "+Death+" ^666666KDR:^000000 "+callfunc("KDR_Calc", Kill, Death)+"^000000"; mes "^666666Killing Streak:^000000 "+KillingStreak+" ^666666Multi-Kills:^000000 "+MultiKill+""; switch(select("Killing Streak:Multi-Kill Streak:Nemesis Streak:"+(getvariableofnpc(.Reset, "Versus")?"Reset":"")+"")){ case 1: //Killing Streak next; setarray .LSDotA$[0], ""+KillingSpree+"", ""+Dominating+"", ""+MegaKill+"", ""+Unstoppable+"", ""+WickedSick+"", ""+MonsterKill+"", ""+Godlike+"", ""+BeyondGodlike+""; mes "Killing Streak Stats"; switch(#Announcer){ case 0: for(set .@i, 0; .@i < getarraysize(.LSDotA$); set .@i, .@i + 1){ mes "^666666"+getvariableofnpc(.ESDotA$[.@i], "Versus")+"^000000: "+ .LSDotA$[.@i]; } close; default: for(set .@i, 0; .@i < getarraysize(.LSDotA$); set .@i, .@i + 1){ mes "^666666"+getvariableofnpc(.ESHoN$[.@i], "Versus")+"^000000: "+ .LSDotA$[.@i]; } close; } close; case 2: //Multi-Kill next; setarray .LMDotA$[0], ""+DoubleKill+"", ""+TripleKill+"", ""+UltraKill+"", ""+Rampage+"", ""+Ownage+""; mes "Multi-Kill Stats"; switch(#Announcer){ case 0: for(set .@i, 0; .@i < getarraysize(.LMDotA$); set .@i, .@i + 1){ mes "^666666"+getvariableofnpc(.EMDotA$[.@i], "Versus")+"^000000: "+ .LMDotA$[.@i]; } close; default: for(set .@i, 0; .@i < getarraysize(.LMDotA$); set .@i, .@i + 1){ mes "^666666"+getvariableofnpc(.EMHoN$[.@i], "Versus")+"^000000: "+ .LMDotA$[.@i]; } close; } case 3: //Nemesis next; mes "Nemesis Stat"; mes "^666666Nemesis Kill^000000: "+NemesisKill; mes "^666666Feed Count^000000: "+FeedCount; close; case 4: //Reset Stat next; set .Reset, getvariableofnpc(.Reset, "Versus"); set .ZenyFee, getvariableofnpc(.ZenyFee, "Versus"); set .CashFee, getvariableofnpc(.CashFee, "Versus"); set .SkullFee, getvariableofnpc(.SkullFee, "Versus"); mes "[PVP Top10]"; mes "Are you sure you want to reset your PvP Statistics?"; if(.Reset == 1){ mes "^FF0000Reset Fee:^000000 "+.ZenyFee+" Zeny"; } if(.Reset == 2){ mes "^FF0000Reset Fee:^000000 "+.CashFee+" Kill Point"; } if(.Reset == 3){ mes "^FF0000Reset Fee:^000000 "+.SkullFee+" Skull"; } switch(select("No:Yes")){ case 1: close; case 2: switch(.Reset){ case 0: break; case 1: if(Zeny < .ZenyFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .ZenyFee; break; case 2: if(#CASHPOINTS < .CashFee){ next; mes "[PVP Top10]"; mes "You don't have enough Kill Point."; close; } set #CASHPOINTS, #CASHPOINTS - .CashFee; break; case 3: if(countitem(7420) < .SkullFee){ next; mes "[PVP Top10]"; mes "You don't have enough Skull."; close; } delitem 7420, .SkullFee; break; default: break; } if(getvariableofnpc(.ServerType, "Versus")){ query_sql "DELETE FROM `pvp_rank` WHERE `pvp_rank`.`char_id` = "+getcharid(0)+""; } callsub OnPvPReset; announce "[PVP Top10] Your PvP Statistic has been reset.",bc_self,0xFF0000; close; } close; } close; case 4: //Announcer Setting next; mes "[PVP Top10]"; mes "What kind of announcer you want to use?"; if(getvariableofnpc(.AnnouncerFee, "Versus")){ set .AnnouncerFee, getvariableofnpc(.AnnouncerFee, "Versus"); } L_Announce: // switch(select(""+((#Announcer == 0)?"^FF0000DotA^000000":"DotA")+":"+((#Announcer == 1)?"^FF0000HoN^000000":"HoN")+":"+((#Announcer == 2)?"^FF0000Ms. Pudding^000000":"Ms. Pudding")+":"+((#Announcer == 3)?"^FF0000Flamboyant^000000":"Flamboyant")+":"+((#Announcer == 4)?"^FF0000English^000000":"English")+":"+((#Announcer == 5)?"^FF0000Balls of Steel^000000":"Balls of Steel")+":"+((#Announcer == 6)?"^FF0000BreakyCPK^000000":"BreakyCPK")+":"+((#Announcer == 7)?"^FF0000Seductive Announcer^000000":"Seductive Announcer")+":"+((#Announcer == 8)?"^FF0000Duke Nukem^000000":"Duke Nukem")+":"+((#Announcer == 9)?"^FF0000VRZO^000000":"VRZO")+":"+((#Announcer == 10)?"^FF0000Candy Crush^000000":"Candy Crush")+":"+((#Announcer == 11)?"^FF0000Pimp^000000":"Pimp")+":"+((#Announcer == 12)?"^FF0000Samuel Jackson^000000":"Samuel Jackson")+":"+((#Announcer == 13)?"^FF0000Scurvy Pirate^000000":"Scurvy Pirate")+"")){ switch(select(""+((#Announcer == 0)?"^FF0000DotA^000000":"DotA")+":"+((#Announcer == 1)?"^FF0000HoN^000000":"HoN")+":"+((#Announcer == 2)?"^FF0000Ms. Pudding^000000":"Ms. Pudding")+":"+((#Announcer == 3)?"^FF0000Flamboyant^000000":"Flamboyant")+":"+((#Announcer == 4)?"^FF0000English^000000":"English")+":"+((#Announcer == 5)?"^FF0000Balls of Steel^000000":"Balls of Steel")+":"+((#Announcer == 6)?"^FF0000BreakyCPK^000000":"BreakyCPK")+":"+((#Announcer == 7)?"^FF0000Seductive Announcer^000000":"Seductive Announcer")+"")){ case 1: //DotA if(#Announcer == 0){ goto L_Announce; } soundeffect "0_KS1.wav", 0; set #Announcer, 0; announce "[PVP Top10] DotA announcer has been configured to your account.",bc_self,0xFF0000; close; case 2: //HoN if(#Announcer == 1){ goto L_Announce; } if((.AnnouncerFee) && (!#Hon)){ next; mes "[PVP Top10]"; mes "Do you want to purchase HoN announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #Hon, 1; } } soundeffect "1_KS1.wav", 0; set #Announcer, 1; announce "[PVP Top10] HoN announcer has been configured to your account.",bc_self,0xFF0000; close; case 3: //Ms. Pudding if(#Announcer == 2){ goto L_Announce; } if((.AnnouncerFee) && (!#MsPudding)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Ms. Pudding announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #MsPudding, 1; } } soundeffect "2_KS1.wav", 0; set #Announcer, 2; announce "[PVP Top10] Ms. Pudding announcer has been configured to your account.",bc_self,0xFF0000; close; case 4: //Flamboyant if(#Announcer == 3){ goto L_Announce; } if((.AnnouncerFee) && (!#Flamboyant)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Flamboyant announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #Flamboyant, 1; } } soundeffect "3_KS1.wav", 0; set #Announcer, 3; announce "[PVP Top10] Flamboyant announcer has been configured to your account.",bc_self,0xFF0000; close; case 5: //English if(#Announcer == 4){ goto L_Announce; } if((.AnnouncerFee) && (!#English)){ next; mes "[PVP Top10]"; mes "Do you want to purchase English announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #English, 1; } } soundeffect "4_KS1.wav", 0; set #Announcer, 4; announce "[PVP Top10] English announcer has been configured to your account.",bc_self,0xFF0000; close; case 6: //Balls of Steel if(#Announcer == 5){ goto L_Announce; } if((.AnnouncerFee) && (!#BallsofSteel)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Balls of Steel announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #BallsofSteel, 1; } } soundeffect "5_KS1.wav", 0; set #Announcer, 5; announce "[PVP Top10] Balls of Steel announcer has been configured to your account.",bc_self,0xFF0000; close; case 7: //BreakyCPK if(#Announcer == 6){ goto L_Announce; } if((.AnnouncerFee) && (!#BreakyCPK)){ next; mes "[PVP Top10]"; mes "Do you want to purchase BreakyCPK announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #BreakyCPK, 1; } } soundeffect "6_KS1.wav", 0; set #Announcer, 6; announce "[PVP Top10] BreakyCPK announcer has been configured to your account.",bc_self,0xFF0000; close; case 8: //Seductive if(#Announcer == 7){ goto L_Announce; } if((.AnnouncerFee) && (!#HoN2)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Seductive Announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #HoN2, 1; } } soundeffect "7_KS1.wav", 0; set #Announcer, 7; announce "[PVP Top10] Seductive announcer has been configured to your account.",bc_self,0xFF0000; close; /* case 9: //Duke Nukem if(#Announcer == 8){ goto L_Announce; } if((.AnnouncerFee) && (!#DKNK)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Duke Nukem announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #DKNK, 1; } } soundeffect "8_KS1.wav", 0; set #Announcer, 8; announce "[PVP Top10] Duke Nukem announcer has been configured to your account.",bc_self,0xFF0000; close; case 10: //VRZO if(#Announcer == 9){ goto L_Announce; } if((.AnnouncerFee) && (!#VRZO)){ next; mes "[PVP Top10]"; mes "Do you want to purchase VRZO announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #VRZO, 1; } } soundeffect "9_KS1.wav", 0; set #Announcer, 9; announce "[PVP Top10] VRZO announcer has been configured to your account.",bc_self,0xFF0000; close; case 11: //Candy Crush if(#Announcer == 10){ goto L_Announce; } if((.AnnouncerFee) && (!#CCA)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Candy Crush announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #CCA, 1; } } soundeffect "10_KS1.wav", 0; set #Announcer, 10; announce "[PVP Top10] Candy Crush announcer has been configured to your account.",bc_self,0xFF0000; close; case 12: //PIMP if(#Announcer == 11){ goto L_Announce; } if((.AnnouncerFee) && (!#PIMP)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Pimp announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #PIMP, 1; } } soundeffect "11_KS1.wav", 0; set #Announcer,11; announce "[PVP Top10] Pimp announcer has been configured to your account.",bc_self,0xFF0000; close; case 13: //Samuel Jackson if(#Announcer == 12){ goto L_Announce; } if((.AnnouncerFee) && (!#SAM)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Samuel Jackson announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #SAM, 1; } } soundeffect "12_KS1.wav", 0; set #Announcer, 12; announce "[PVP Top10] Samuel Jackson announcer has been configured to your account.",bc_self,0xFF0000; close; case 14: //Scurvy Pirate if(#Announcer == 13){ goto L_Announce; } if((.AnnouncerFee) && (!#SPRT)){ next; mes "[PVP Top10]"; mes "Do you want to purchase Scurvy Pirate announcer for "+callfunc("F_InsertComma",.AnnouncerFee)+" Zeny?"; switch(select("No:Yes")){ case 1: close; case 2: if(Zeny < .AnnouncerFee){ next; mes "[PVP Top10]"; mes "You don't have enough Zeny."; close; } set Zeny, Zeny - .AnnouncerFee; set #SPRT, 1; } } soundeffect "13_KS1.wav", 0; set #Announcer,13; announce "[PVP Top10] Scurvy Pirate announcer has been configured to your account.",bc_self,0xFF0000; close; */ default: close; } end; OnInit: waitingroom "Top 10 PVP/MVP",0; end; } close; OnPvPReset: set Kill, 0; set Death, 0; set KillingStreak, 0; set MultiKill, 0; set KillingSpree, 0; set Dominating, 0; set MegaKill, 0; set Unstoppable, 0; set WickedSick, 0; set MonsterKill, 0; set Godlike, 0; set BeyondGodlike, 0; set DoubleKill, 0; set TripleKill, 0; set UltraKill, 0; set Rampage, 0; set Ownage, 0; set NemesisKill, 0; set FeedCount, 0; return; } //Ghost's KDR Algorithm function script KDR_Calc { if(!getarg(1)) { debugmes "Error in KDR function, getarg(1) invalid value"; return 0; } // [Lighta] if(getarg(0) >= getarg(1)){ if(getarg(1)){ set .@i, getarg(0)/getarg(1); if((getarg(0)%getarg(1)) == 0){ return .@i+".00"; } set .@j, (getarg(0)%getarg(1))*100/getarg(1); return .@i+"."+.@j; } else { return getarg(0)+".00"; } } if(getarg(0) < getarg(1)){ if(getarg(0)){ set .@i, (getarg(0)*10)/getarg(1); set .@j, ((getarg(0)*10)%getarg(1))*10/getarg(1); return "0."+.@i +.@j; } else { return "0.00"; } } } Can Some help me fix this problem?
-
can i change by my self? right now i cant contact my hosting. my ticket still no answering until now.
-
hello.. i need some help.. my website always show my server offline. but my server online. how to fix this problem?
-
bump
-
bump.. no one can help?
-
thank you so much. its work but there are problem. when i reload script. npc will reset back. so i need to set it back.. @@Ridley
-
prontera,155,143,4 script Guild Base 722,{ set .npcname$,"[ ^0000FF Guild Base ^000000 ]"; set .mapname$,"guild_vs1"; Menu: mes .npcname$; mes "How may i help you sir ?"; mes "^FF0000_____________________________^000000"; mes "Guild Base Owner :"; if ( $@RoomOwner$ == "0" ){ mes "It is ^0000FFNOT Assigned^000000 yet."; } if ( $@RoomOwner$ != "0" ){ mes "^0000FF"+$@RoomOwner$+"^000000 Guild"; } mes "^FF0000_____________________________^000000"; next; switch(select("^4EEE94Guild Base Information^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFReturn To Base^000000", ( getgmlevel() < 80 || $@RoomOwner$ != "0" )?"":"^0000FFAssign Guild Base Owner^000000", ( getgmlevel() < 80 || $@RoomOwner$ == "0" )?"":"^FF0000Remove Guild Base Owner^000000")) { Case 1: mes .npcname$; mes "To get into this Guild Base, The guild leader of your guild must talk with GM Team who incharge of assigning the Guild Base. "; next; mes .npcname$; mes "Inside the Guild Base have alot of facilities to help the Guild who owned the Guild Base."; close; Case 2: warp .mapname$,50,48; flagemblem getcharid(2); end; Case 3: mes .npcname$; mes "Please input the ^FF0000Name of the Guild^000000, So that the member of that guild can go into the Base."; mes "^FF0000_____________________________^000000"; mes "The name is ^FF0000VERY SENSITIVE^000000, please write it ^0000FFCorrectly^000000..."; input $@RoomOwner$; next; mes .npcname$; mes "The room has been assigned to ^FF0000"+$@RoomOwner$+"^000000 Guild."; mes "The member for this guild will be warped here by now."; atcommand "@guildrecall "+$@RoomOwner$+""; message strcharinfo(0),"Emblem of Guild Base Holder will be displayed upon the members get into the Base."; next; goto Menu; Case 4: mes .npcname$; mes "Guild base ownership has been removed."; set $@RoomOwner$,"0"; mapannounce .mapname$,"The Guild Base Ownership has been WIPE Off/Changed.",bc_blue; mapwarp .mapname$,"prontera",155,185; next; goto Menu; } OnInit: set $@RoomOwner$,"0"; end; } guild_vs1,50,50,5 script Guild Base Manager 1907,{ set .npcname$,"[ ^0000FF Guild Base Manager ^000000 ]"; set .BuffDuration,3600000; Menu: mes .npcname$; mes "How can i help you here ?"; next; switch(select( ( getguildname(getcharid(2)) != $@RoomOwner$ || getcharid(0) != getguildmasterid(getcharid(2)) )?"":"^4EEE94Guild Members Recalling^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFHeal / Buffs^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFEquipment Repairing^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFPVP Room Warp^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFWOE Castle Warp^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFMall Room Warp^000000", ( getguildname(getcharid(2)) != $@RoomOwner$ )?"":"^0000FFRefiner^000000", "^FF0000Close^000000")) { Case 1: goto Guild_Recall; Case 2: goto Healing; Case 3: goto Repairing; Case 4: goto PVP_Warp; Case 5: goto WOE_Warp; Case 6: goto Mall_Room; Case 7: goto Refiner; Case 8: close; } Guild_Recall: mes .npcname$; mes "Your guild members has been recalled. They shall arrive here within couple of time."; atcommand "@guildrecall "+$@RoomOwner$+""; close; Healing: mes .npcname$; mes "Thank you for using our services."; close2; percentheal 100,100; sc_start SC_SPIRIT,.BuffDuration,5; specialeffect2 503,SELF,strcharinfo(0); skilleffect 34,0; sc_start SC_BLESSING,.BuffDuration,10; skilleffect 29,0; sc_start SC_INCREASEAGI,.BuffDuration,10; skilleffect 66,0; sc_start SC_IMPOSITIO,.BuffDuration,5; skilleffect 67,0; sc_start SC_SUFFRAGIUM,.BuffDuration,3; skilleffect 74,0; sc_start SC_MAGNIFICAT,.BuffDuration,5; skilleffect 361,0; sc_start SC_ASSUMPTIO,.BuffDuration,5; skilleffect 383,0; sc_start SC_WINDWALK,.BuffDuration,10; skilleffect 543,0; sc_start SC_NEN,.BuffDuration,5; skilleffect 357,0; sc_start SC_CONCENTRATION,.BuffDuration,10; skilleffect 380,0; sc_start SC_TRUESIGHT,.BuffDuration,5; skilleffect 114,0; sc_start SC_MAXIMIZEPOWER,.BuffDuration,100; skilleffect 234,0;sc_start SC_CP_WEAPON,.BuffDuration,5; skilleffect 235,0;sc_start SC_CP_SHIELD,.BuffDuration,5; skilleffect 236,0;sc_start SC_CP_ARMOR,.BuffDuration,5; skilleffect 237,0;sc_start SC_CP_HELM,.BuffDuration,5; skilleffect 355,0; sc_start SC_AURABLADE,.BuffDuration,5; skilleffect 384,0; sc_start SC_MELTDOWN,.BuffDuration,10; skilleffect 378,0; sc_start SC_EDP,.BuffDuration,5; sc_start SC_ASPDPOTION2,.BuffDuration,0; sc_start SC_STRFood,.BuffDuration,10; sc_start SC_AGIFood,.BuffDuration,10; sc_start SC_VITFood,.BuffDuration,10; sc_start SC_INTFood,.BuffDuration,10; sc_start SC_DEXFood,.BuffDuration,10; sc_start SC_LUKFood,.BuffDuration,10; sc_start SC_HitFood,.BuffDuration,10; sc_start SC_FleeFood,.BuffDuration,10; sc_start SC_BATKFood,.BuffDuration,10; sc_start SC_MATKFood,.BuffDuration,10; sc_start SC_ASPDPOTION2,.BuffDuration,5; sc_start SC_SpeedUp1,.BuffDuration,0; sc_start SC_EXPBOOST,.BuffDuration,150; sc_end sc_stone; sc_end sc_slowdown; sc_end sc_freeze; sc_end sc_sleep; sc_end sc_curse; sc_end sc_silence; sc_end sc_confusion; sc_end sc_blind; sc_end sc_bleeding; sc_end sc_decreaseagi; sc_end sc_poison; sc_end sc_hallucination; sc_end sc_stripweapon; sc_end sc_striparmor; sc_end sc_striphelm; sc_end sc_stripshield; sc_end sc_changeundead; sc_end sc_orcish; sc_end sc_berserk; sc_end sc_ske; sc_end sc_swoo; sc_end sc_ska; end; Repairing: mes .npcname$; if ( getbrokenid(1) == 0 ){ mes "You have nothing cant be repair by now."; close; } atcommand "@repairall"; mes "All the broken equipments has been repaired."; close; PVP_Warp: warp "prontera",151,181; end; Mall_Room: warp "prontera",151,181; end; WOE_Warp: mes .npcname$; mes "Please choose your destination..."; next; switch(select("^4EEE94Prontera WOE Castle^000000", "^4EEE94Geffen WOE Castle^000000", "^4EEE94Payon WOE Castle^000000", "^4EEE94Yuno WOE Castle^000000", "^4EEE94Aldebaran WOE Castle^000000", "^4EEE94Rachel WOE Castle^000000", "^FF000Close^000000")) { Case 1: callsub CastleWarp,"prt_gld",159,94; Case 2: callsub CastleWarp,"gef_fild13",164,243; Case 3: callsub CastleWarp,"pay_gld",200,173; Case 4: callsub CastleWarp,"sch_gld",137,79; Case 5: callsub CastleWarp,"alde_gld",186,155; Case 6: callsub CastleWarp,"aru_gld",219,219; Case 7: callsub CastleWarp,"prt_gld",159,94; Case 8: callsub CastleWarp,"prt_gld",159,94; Case 9: close; } CastleWarp: warp getarg(0),getarg(1),getarg(2); end; Refiner: mes .npcname$; mes "I am a great refiner.. i can refine all your equipments into +8."; next; switch(select( ( getequipisequiped(EQI_HEAD_TOP) == 0 || getequiprefinerycnt(EQI_HEAD_TOP) > 7 )?"":"Headgear [ ^4EEE94"+getequipname(EQI_HEAD_TOP)+"^000000 ]", ( getequipisequiped(EQI_ARMOR) == 0 || getequiprefinerycnt(EQI_ARMOR) > 7 )?"":"Armor [ ^4EEE94"+getequipname(EQI_ARMOR)+"^000000 ]", ( getequipisequiped(EQI_HAND_L) == 0 || getequiprefinerycnt(EQI_HAND_L) > 7 )?"":"Left Hand [ ^4EEE94"+getequipname(EQI_HAND_L)+"^000000 ]", ( getequipisequiped(EQI_HAND_R) == 0 || getequiprefinerycnt(EQI_HAND_R) > 7 )?"":"Right Hand [ ^4EEE94"+getequipname(EQI_HAND_R)+"^000000 ]", ( getequipisequiped(EQI_GARMENT) == 0 || getequiprefinerycnt(EQI_GARMENT) > 7 )?"":"Garment [ ^4EEE94"+getequipname(EQI_GARMENT)+"^000000 ]", ( getequipisequiped(EQI_SHOES) == 0 || getequiprefinerycnt(EQI_SHOES) > 7 )?"":"Shoes [ ^4EEE94"+getequipname(EQI_SHOES)+"^000000 ]", "^FF0000Close^000000")) { Case 1: callsub EquipRefine,256,8-getequiprefinerycnt(EQI_HEAD_TOP); Case 2: callsub EquipRefine,16,8-getequiprefinerycnt(EQI_ARMOR); Case 3: callsub EquipRefine,32,8-getequiprefinerycnt(EQI_HAND_L); Case 4: callsub EquipRefine,2,8-getequiprefinerycnt(EQI_HAND_R); Case 5: callsub EquipRefine,4,8-getequiprefinerycnt(EQI_GARMENT); Case 6: callsub EquipRefine,64,8-getequiprefinerycnt(EQI_SHOES); Case 7: close; } EquipRefine: mes .npcname$; mes "Your equipment has been refined."; atcommand "@refine "+getarg(0)+" "+getarg(1)+""; next; goto Refiner; } if get someone to fix this script?
-
Hello.. i need some help to fix this script. 1-when player try to talk the npc and take the skill.. player will stuck cant move. 2-when player get skill enter other map. the skill gone. florian,102,158,4 script Stalker 909,{ if ( StalkerSkill != 0 )goto Remove_Skill; if ( getskilllv(225) == 0 ) goto End_Talk; if ( getskilllv(225) > 0 ) goto Start_Talk; Remove_Skill: skill StalkerSkill,0,0; set StalkerSkill,0; dispbottom "[ Stalker NPC ] : Previous Skills has been Removed.."; dispbottom "[ Stalker NPC ] : Even Skills Icons remained. But [ Un-Useable ]"; end; End_Talk: mes "[ ^FF0000Stalker NPC^000000 ]"; mes "Please make sure you have the skills required to copy a skills."; close; // -- Edit Format : "<Skill Name>", for each case at a new line in order for a Better viewing.. Start_Talk: switch(select("Jupiter Thuner", // Case 1: "Heal", // Case 2: "Napalm Beat", // Case 3: "Soul Strike", // Case 4: "Cold Bolt", // Case 5: "Frost Diver", // Case 6: "Fire Ball", // Case 7: "Fire Wall", // Case 8: "Fire Bolt", // Case 9: "Lightning Bolt", // Case 10: "Thunderstorm", // Case 11: "Mammonite", // Case 12: "Bowling Bash", // Case 13: "Fire Pillar", // Case 14: "Meteor Storm", // Case 15: "Lord of Vermilion", // Case 16: "Storm Gust", // Case 17: "Heaven's Drive", // Case 18: "Earth Spike", // Case 19: "Bomb", // Case 20: "Acid Terror", // Case 21: "Grand Cross", // Case 22: "Triple Attack", // Case 23: "Pressure", // Case 24: "Crimson Fire Blossom", // Case 25: "Dragon Fire Formation", // Case 26: "Lightning Spear of Ice", // Case 27: "Falling Ice Pillar", // Case 28: "Wind Blade", // Case 29: "North Wind")){ // Case 30: // -- Edit Format : callsub S_CopySkill,<Skill ID>,<Skill Level 10>,<Skill Cost>; // -- Leave the Level as 10 better.because after they relog ..they will auto get level 10 Skills. // -- I think can add up to 128 Case. Which is 128 Skills choose-able~ // -- If you want it to announce then add "announce" at the back of <skill cost> like Case 10. case 1: callsub S_CopySkill,84,10,0; // Jupiter Thuner case 2: callsub S_CopySkill,28,10,0; // Heal case 3: callsub S_CopySkill,11,10,0; // Napalm Beat case 4: callsub S_CopySkill,13,10,0; // Soul Strike case 5: callsub S_CopySkill,14,10,0; // Cold Bolt case 6: callsub S_CopySkill,15,10,0; // Frost Diver case 7: callsub S_CopySkill,17,10,0; // Fire Ball case 8: callsub S_CopySkill,18,10,0; // Fire Wall case 9: callsub S_CopySkill,19,10,0; // Fire Bolt case 10: callsub S_CopySkill,20,10,0; // Lightning Bolt case 11: callsub S_CopySkill,21,10,0; // Thunderstorm case 12: callsub S_CopySkill,42,10,0; // Mammonite case 13: callsub S_CopySkill,62,10,0; // Bowling Bash case 14: callsub S_CopySkill,80,10,0; // Fire Pillar case 15: callsub S_CopySkill,83,10,0; // Meteor Storm case 16: callsub S_CopySkill,85,10,0; // Lord of Vermilion case 17: callsub S_CopySkill,89,10,0; // Storm Gust case 18: callsub S_CopySkill,91,10,0; // Heaven's Drive case 19: callsub S_CopySkill,90,10,0; // Earth Spike case 20: callsub S_CopySkill,229,5,0; // Bomb case 21: callsub S_CopySkill,230,5,0; // Acid Terror case 22: callsub S_CopySkill,254,10,0; // Grand Cross case 23: callsub S_CopySkill,263,10,0; // Triple Attack case 24: callsub S_CopySkill,367,5,0; // Pressure case 25: callsub S_CopySkill,534,10,0; // Crimson Fire Blossom case 26: callsub S_CopySkill,536,5,0; // Dragon Fire Formation case 27: callsub S_CopySkill, 537,10,0; // Lightning Spear of Ice case 28: callsub S_CopySkill,539,5,0; // Falling Ice Pillar case 29: callsub S_CopySkill,540,10,0; // Wind Blade case 30: callsub S_CopySkill,542,5,0; // North Wind end; } S_CopySkill: if ( Zeny < getarg(2)){ mes "[ ^FF0000Stalker NPC^000000 ]"; mes "You must have at least "+getarg(2)+" Zeny to get the Skill."; close; } skill getarg(0),getarg(1),0; set Zeny,Zeny-getarg(2); set StalkerSkill,getarg(0); dispbottom "[ Stalker NPC ] : New Skill fee is [ "+getarg(2)+" Zeny ]."; dispbottom "[ Stalker NPC ] : Check Your Skill Tree Now..for the New Skill."; if (compare(getarg(3),"announce")) announce strcharinfo(0) + " has just obtained a new skill !!",bc_map; close; OnPCLoginEvent: if ( StalkerSkill != 0 ){ skill StalkerSkill,getskilllv(225),0; } end; }
-
http://herc.ws/wiki/Custom_weapons http://herc.ws/wiki/Custom_jobs http://herc.ws/wiki/Adding_new_skills
-
hello.. i need some help.. how to disable npc BG when Woe/Koe start? - script wow_domi#main -1,{OnInit: .eventlasting = 25*60; // how long will the event last or it auto-reset. 25*60 = 25 mins .minplayer2start = 2; // how many players require to start ? if 3vs3, set to 3 .score2win = 100; // score will start at 0, and end at this value .time2capture = 3; // when capture a flag, how long does it takes to turn to your side .distance = 3; // how far does the player allow to capture a flag ? example, if set to 15, will allow archers to capture the flag using bows .tick[1] = 12000; // when capture 1 flag ... .point[1] = 1; // 12 seconds to gain 1 point .tick[2] = 9000; // when capture 2 flags ... .point[2] = 1; // 9 seconds to gain 1 point .tick[3] = 6000; // when capture 3 flags ... .point[3] = 1; // 6 seconds to gain 1 point .tick[4] = 3000; // when capture 4 flags ... .point[4] = 1; // 3 seconds to gain 1 point .tick[5] = 1000; // when capture ALL flags ... .point[5] = 3; // gain 3 points every second ! .color[0] = 0xFFFFFF; // white color for uncaptured flag .color[1] = 0x0099FF; // blue color for Alliance .color[2] = 0xFF0000; // red color for Horde setarray .rewardwin, 670,2, 7620,2, 7619,2; // reward to winning team setarray .rewardlose, 670,1, 7620,1, 7619,1; // reward to losing team .back2map$ = "florian"; // after event ends, they will warp back to this location .back2x = 111; .back2y = 150;// for those who want to translate this script ... .team1name$ = "Alliance"; .team2name$ = "Horde"; .team1base$ = "Alliance Base"; .team2base$ = "Horde Base"; .flagname$[1] = "Stable"; .flagname$[2] = "Gold Mine"; .flagname$[3] = "Blacksmith"; .flagname$[4] = "Lumber Mill"; .flagname$[5] = "Farm"; .ann$[0] = "[WoW Battleground] Alliance : %d/%d. Horde : %d/%d"; .ann$[1] = "[WoW Battleground] Battleground has started"; .ann$[2] = "[WoW Battleground] %s has captured %s !"; // Alliance has captured Stable ! .ann$[3] = "[WoW Battleground] All %s members has quit !"; .ann$[4] = "[WoW Battleground] %s has won !"; .ann$[5] = "[WoW Battleground] Time out ! Aborting the match."; .msg$[0] = "Get out"; // not a battleground member .msg$[1] = "Event has ended"; .msg$[2] = "Your team has captured this flag"; .msg$[3] = "You can't capture a flag while hiding"; .msg$[4] = "You have to stand nearer to the flag";// ---- END of Config --- .tick = .eventlasting * 1000; .rewardwinsize = getarraysize( .rewardwin ); .rewardlosesize = getarraysize( .rewardlose ); setnpcdisplay "wow_domi_base#1", .team1base$; setnpcdisplay "wow_domi_base#2", .team2base$; mapwarp "guild_vs2", .back2map$, .back2x, .back2y; for ( .@i = 1; .@i <= 5; .@i++ ) setnpcdisplay "wow_domi_flag#"+ .@i, .flagname$[.@i] +"#"+ .@i; end;OnStart: if ( getwaitingroomstate( 0, .alliance$ ) < .minplayer2start || getwaitingroomstate( 0, .horde$ ) < .minplayer2start ) { announce sprintf( .ann$[0], getwaitingroomstate( 0, .alliance$ ), .minplayer2start, getwaitingroomstate( 0, .horde$ ), .minplayer2start ), bc_all, 0x00CED1; end; } .start = 1; announce .ann$[1], bc_all, 0x00CED1; .alliance = waitingroom2bg( "guild_vs2", 49, 91, strnpcinfo(0)+"::OnAllianceQuit", strnpcinfo(0)+"::OnAllianceDied", .alliance$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .horde = waitingroom2bg( "guild_vs2", 49, 8, strnpcinfo(0)+"::OnHordeQuit", strnpcinfo(0)+"::OnHordeDied", .horde$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team1count = .team2count = .minplayer2start; donpcevent "wow_domi_score_team#1::OnStart"; donpcevent "wow_domi_score_team#2::OnStart"; bg_warp .alliance, "guild_vs2", 50,92; bg_warp .horde, "guild_vs2", 50,7; delwaitingroom .alliance$; delwaitingroom .horde$; disablenpc .alliance$; disablenpc .horde$; donpcevent "wow_domi_viewpoint::OnStart"; sleep .eventlasting * 1000; .start = 2; awake "wow_domi_score_team#1"; awake "wow_domi_score_team#2"; if ( .winside ) { mapannounce "guild_vs2", sprintf( .ann$[4], getd( ".team"+ .winside +"name$" ) ), bc_map, 0x00CED1; callsub L_reward, .winside, .rewardwin, .rewardwinsize; callsub L_reward, ( .winside == 1 )? 2:1, .rewardlose, .rewardlosesize; sleep 5000; } else mapannounce "guild_vs2", .ann$[5], bc_map, 0x00CED1; donpcevent "wow_domi_viewpoint::OnEnd"; mapwarp "guild_vs2", .back2map$, .back2x, .back2y; bg_destroy .alliance; bg_destroy .horde; enablenpc .alliance$; enablenpc .horde$; donpcevent .alliance$ +"::OnStart"; donpcevent .horde$ +"::OnStart"; for ( .@i = 1; .@i <= 5; .@i++ ) setnpcdisplay .flagname$[.@i], 722; cleararray .flag[1], 0, 5; deletearray .team1capture; deletearray .team2capture; .start = .score[1] = .score[2] = .alliance = .horde = .winside = .team1capturesize = .team2capturesize = 0; end;L_reward: for ( .@i = 0; .@i < getd(".team"+ getarg(0) +"count"); .@i++ ) for ( .@j = 0; .@j < getarg(2); .@j += 2 ) getitem getelementofarray( getarg(1), .@j ), getelementofarray( getarg(1), .@j +1 ), getd(".team"+ getarg(0) +"aid["+ .@i +"]" ); return;OnAllianceDied: callsub L_died, 1;OnHordeDied: callsub L_died, 2;L_died: sleep2 1250; percentheal 100,100; if ( getcharid(4) ) for ( .@i = 1; .@i <= 5; .@i++ ) viewpoint 1, .flagx[.@i], .flagy[.@i], .@i, .color[ .flag[.@i] ]; end;OnAllianceQuit: callsub L_quit, 1, 2;OnHordeQuit: callsub L_quit, 2, 1;L_quit: while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( bg_get_data( getarg(0), 0) ) end; announce sprintf( .ann$[3], getd( ".team"+ getarg(0) +"name$" ) ), bc_map, 0xFF0000; .winside = getarg(1); awake strnpcinfo(0); end;OnDebug: announce "Alliance", 0; for ( .@i = 0; .@i < .team1capturesize; .@i++ ) announce ( .@i +1 )+". "+ .flagname$[ .team1capture[.@i] ], 0; announce "Horde", 0; for ( .@i = 0; .@i < .team2capturesize; .@i++ ) announce ( .@i +1 )+". "+ .flagname$[ .team2capture[.@i] ], 0; end;}- script wow_domi_viewpoint -1,{OnStart: sleep 7000; // long enough I guess ?OnCapture: callsub L_display, 1; end;OnEnd: callsub L_display, 2; end;L_display: .@main$ = "wow_domi#main"; for ( .@j = 1; .@j <= 2; .@j++ ) { for ( .@i = 0; .@i < getvariableofnpc( getd(".team"+ .@j +"count"), .@main$ ); .@i++ ) { attachrid getvariableofnpc( getd(".team"+ .@j +"aid["+ .@i +"]"), .@main$ ); for ( .@k = 1; .@k <= 5; .@k++ ) viewpoint getarg(0), getvariableofnpc( .flagx[.@k], .@main$ ), getvariableofnpc( .flagy[.@k], .@main$ ), .@k, getvariableofnpc( getelementofarray( .color, getvariableofnpc( .flag[.@k], .@main$ ) ), .@main$ ); } } end;}- script wow_domi_score_team -1,{OnStart: .@team = atoi( strnpcinfo(2) ); .@main$ = "wow_domi#main"; while ( getvariableofnpc( .start, .@main$ ) == 1 ) { .@catched = getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ); .@tick = getvariableofnpc( .tick[ .@catched ], .@main$ ); set getvariableofnpc( .score[.@team], .@main$ ), getvariableofnpc( .score[.@team], .@main$ ) + getvariableofnpc( .point[ .@catched ], .@main$ ); if ( getvariableofnpc( .score[.@team], .@main$ ) >= getvariableofnpc( .score2win, .@main$ ) ) { set getvariableofnpc( .winside, .@main$ ), .@team; awake .@main$; if ( .@team == 1 ) bg_updatescore "guild_vs2", 100, getvariableofnpc( .score[2], .@main$ ); else bg_updatescore "guild_vs2", getvariableofnpc( .score[1], .@main$ ), 100; break; } bg_updatescore "guild_vs2", getvariableofnpc( .score[1], .@main$ ), getvariableofnpc( .score[2], .@main$ ); sleep .@tick; } end;}- duplicate(wow_domi_score_team) wow_domi_score_team#1 -1- duplicate(wow_domi_score_team) wow_domi_score_team#2 -1- script wow_domi_flag -1,{ .@id = atoi( strnpcinfo(2) ); .@main$ = "wow_domi#main"; .@alliance = getvariableofnpc( .alliance, .@main$ ); .@horde = getvariableofnpc( .horde, .@main$ ); .@flag = getvariableofnpc( .flag[.@id], .@main$ ); if ( !getcharid(4) || ( getcharid(4) != .@alliance && getcharid(4) != .@horde ) ) { message strcharinfo(0), getvariableofnpc( .msg$[0], .@main$ ); end; } if ( getvariableofnpc( .start, .@main$ ) != 1 ) { message strcharinfo(0), getvariableofnpc( .msg$[1], .@main$ ); end; } if ( getcharid(4) == .@alliance && .@flag == 1 || getcharid(4) == .@horde && .@flag == 2 ) { message strcharinfo(0), getvariableofnpc( .msg$[2], .@main$ ); end; } if ( checkoption(0x4046) ) { message strcharinfo(0), getvariableofnpc( .msg$[3], .@main$ ); end; } getmapxy .@map$, .@x, .@y, 0; getmapxy .@map$, .@x1, .@y1, 1; if ( distance( .@x, .@y, .@x1, .@y1 ) > getvariableofnpc( .distance, .@main$ ) ) { message strcharinfo(0), getvariableofnpc( .msg$[4], .@main$ ); end; } progressbar "", getvariableofnpc( .time2capture, .@main$ ); if ( getvariableofnpc( .start, .@main$ ) != 1 ) { message strcharinfo(0), getvariableofnpc( .msg$[1], .@main$ ); end; } .@flag = getvariableofnpc( .flag[.@id], .@main$ ); if ( getcharid(4) == .@alliance && .@flag == 1 || getcharid(4) == .@horde && .@flag == 2 ) { message strcharinfo(0), getvariableofnpc( .msg$[2], .@main$ ); end; } .@team = ( getcharid(4) == .@alliance )? 1 : 2; set getvariableofnpc( .flag[.@id], .@main$ ), .@team; setnpcdisplay "wow_domi_flag#"+ .@id, ( .@team == 1 )? 1_FLAG_LION : 1_FLAG_EAGLE; announce sprintf( getvariableofnpc( .ann$[2], .@main$ ), getvariableofnpc( getd( ".team"+ .@team +"name$" ), .@main$ ), getvariableofnpc( .flagname$[.@id], .@main$ ) ), bc_map, 0x00CED1; bg_team_setxy getcharid(4), getvariableofnpc( .flagx[.@id], .@main$ ), getvariableofnpc( .flagy[.@id], .@main$ ); set getvariableofnpc( getd( ".team"+ .@team +"capture["+ getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) +"]" ), .@main$ ), .@id; set getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ), getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) +1; awake "wow_domi_score_team#"+ .@team; .@team = ( .@team == 1 )? 2 : 1; while ( getvariableofnpc( getd( ".team"+ .@team +"capture["+ .@i +"]" ), .@main$ ) != .@id && .@i < getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) ) .@i++; if ( .@i < getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) ) { copyarray getelementofarray( getvariableofnpc( getd( ".team"+ .@team +"capture" ), .@main$ ), .@i ), getelementofarray( getvariableofnpc( getd( ".team"+ .@team +"capture" ), .@main$ ), .@i +1 ), getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ); set getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ), getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) -1; .@teamid = ( getcharid(4) == .@alliance )? .@horde : .@alliance; if ( getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) ) { .@id = getelementofarray( getvariableofnpc( getd( ".team"+ .@team +"capture" ), .@main$ ), getvariableofnpc( getd( ".team"+ .@team +"capturesize" ), .@main$ ) -1 );// announce ".@id = "+ .@id +" means "+ getvariableofnpc( getd(".team"+ .@team +"name$"), .@main$ ) +" last id is "+ getelementofarray( getvariableofnpc( .flagname$, .@main$ ), .@id ) , 0; bg_team_setxy .@teamid, getvariableofnpc( .flagx[.@id], .@main$ ), getvariableofnpc( .flagy[.@id], .@main$ ); } else if ( .@teamid == .@alliance ) bg_team_setxy .@teamid, 49, 91; else bg_team_setxy .@teamid, 49, 8; } donpcevent "wow_domi_viewpoint::OnCapture";// donpcevent .@main$+"::OnDebug"; end;OnInit: sleep 1; .@id = atoi( strnpcinfo(2) ); .@main$ = "wow_domi#main"; getmapxy .@map$, getvariableofnpc( .flagx[.@id], .@main$ ), getvariableofnpc( .flagy[.@id], .@main$ ), 1; set getvariableofnpc( .flagx[.@id], .@main$ ), getvariableofnpc( .flagx[.@id], .@main$ )+1; end;}guild_vs2,49,69,4 duplicate(wow_domi_flag) wow_domi_flag#1 722guild_vs2,72,50,4 duplicate(wow_domi_flag) wow_domi_flag#2 722guild_vs2,49,49,4 duplicate(wow_domi_flag) wow_domi_flag#3 722guild_vs2,26,49,4 duplicate(wow_domi_flag) wow_domi_flag#4 722guild_vs2,49,28,4 duplicate(wow_domi_flag) wow_domi_flag#5 722- script wow_domi_base -1,{ end;}guild_vs2,50,92,5 duplicate(wow_domi_base) wow_domi_base#1 973guild_vs2,50,7,5 duplicate(wow_domi_base) wow_domi_base#2 974florian,142,120,5 script Alliance 100,{ end;OnInit: sleep 1; set getvariableofnpc( .alliance$, "wow_domi#main" ), strnpcinfo(0);OnStart: waitingroom strnpcinfo(1), getvariableofnpc( .minplayer2start, "wow_domi#main" ) +1, "wow_domi#main::OnStart", 1; end;}florian,134,120,5 script Horde 100,{ end;OnInit: sleep 1; set getvariableofnpc( .horde$, "wow_domi#main" ), strnpcinfo(0);OnStart: waitingroom strnpcinfo(1), getvariableofnpc( .minplayer2start, "wow_domi#main" ) +1, "wow_domi#main::OnStart", 1; end;}guild_vs2 mapflag battleground 2guild_vs2 mapflag nosave SavePointguild_vs2 mapflag nowarpguild_vs2 mapflag nowarptoguild_vs2 mapflag noteleportguild_vs2 mapflag nomemoguild_vs2 mapflag nopenaltyguild_vs2 mapflag nobranchguild_vs2 mapflag noicewall
-
i follow this guide until what step? http://herc.ws/wiki/Custom_jobs i just need view sprite to player..
-
bump
-
bump
-
Hello.. i need some help.. how to make player when equip item it will change their cloth to Bleach Sprite? Example like this. { Id: 30337 AegisName: "Xmas_Suit" Name: "Xmas Suit" Type: 5 Buy: 20 Weight: 100 Loc: 136 Refine: false OnEquipScript: <" sc_start SC_XMAS,-1,0;"> OnUnequipScript: <" sc_end SC_XMAS;">}, for sprite on this. https://eathena.ws/board/index.php?showtopic=264313
-
this one right?
-
i need some help.. can some make a script to give a log? example player will change how much they have item 607 to same quantity item 607 to item 608. when they change item. it will be has log so i will know how much player change for that item.
-
hello.. i need some help.. how to lock grf when i already gv to player the grf..? player already download grf not lock. so now i need to lock it.. how?