Jump to content
  • 0

Im using this PVP ladder. But the player ranking doesnt show.


Kiritoryu

Question


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.01
  • Content Count:  59
  • Reputation:   0
  • Joined:  12/13/12
  • Last Seen:  

Im using this PVP ladder btw somehow the PVP ranking doesnt show the top 10. Its empty. What might be the problem? Other's is working

//========================================================================================
//Title: Ghost's PvP System (Multi-announcer + Ladder)
//Version: 1.3
//Author: Ghost
//Created: 12/27/2011
//Released: 01/31/2012
//Compatibility: rAthena | eAthena
//Support: TXT & SQL
//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, 80; //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)

//PvP Ladder
set .Top, 10; //What is the length of the list?
set .Reset, 2; //Allow players to reset their PvP statistics? (0:Disable|1:Zeny|2:Cashpoint|3:Skull)
set .ZenyFee, 0; //How much zeny you want to charge to reset their pvp stat?
set .CashFee, 1000; //How much cashpoint you want to charge to reset their pvp stat?
set .SkullFee, 1000; //How much skull you want to charge to reset their pvp stat?
set .AnnouncerFee, 2000; //How much cashpoint per announcer? (DotA announcer is set as default)

//Reward Setting (Every Kill)
set .MaxZeny, 2000000000; //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], 12034; //Get items each kill? (0:Disable)
setarray .Amount[0], 5; //How many items per kill?

//Penalty Setting
set .Feed, 10; //How many kills before feeding is called? (10:Recommended)
set .Penalty, 2; //What is the penalty for the feedee? (0:Disable|1:Kill Rollback|2:Server Kick|3:Server Block)
set .Kick, 1; //Who to kick? (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, 0; //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], "pwned", "killed", "disintegrated", "neutralized"; //Enable above setting for this to work

//Broadcast Color | See HexTable: http://johncfish.com/bggallery/otherchart/hextable.gif
set .KColor$, "0xFFFF00"; //Kill Broadcast Color | e.g. Jguy pwned Mercurial
set .KSColor$, "0xFFFF00"; //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 .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 .MKDotA$[0], "just got a Double Kill", "just got a Triple Kill", "just got an Ultra Kill", "is on a Rampage", "is Owning his enemies";
setarray .MKHoN$[0], "just got a Double Tap", "just got a Hat Trick", "just got an Quad Kill", "annihilated his enemies", "just got a Genocide";
setarray .ESDotA$[0], "Killing Spree", "Dominating", "Mega-Kill", "Unstoppable", "Wicked Sick", "Monster Kill", "Godlike", "Beyond Godlike";
setarray .ESHoN$[0], "Serial Killer", "Ultimate Warrior", "Legendary", "Onslaught", "Savage Sick", "Dominating", "Bloodbath", "Immortal"; //Took out #9. Champion of Newearth
setarray .EMDotA$[0], "Double Kill", "Triple Kill", "Ultra Kill", "Rampage", "Ownage";
setarray .EMHoN$[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")){ 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 > 3){ set .Penalty, 3; }
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){
if(getgmlevel() >= .GMLevel){ end; }
if(.PvPMap$[0] != "All"){
	for(set .@i, 0; .@i < (getarraysize(.PvPMap$) - 1); set .@i, .@i + 1){
			if(strcharinfo(3) != .PvPMap$[.@i]){ end; }
	}
}
if((@nm == .Feed) && (.Penalty)){
callsub OnClearData;
	switch(.Penalty){
	case 0: break;
	case 1: callsub OnRollback; break;
	case 2: callsub OnRollback;
			if(.Kick == 0){ atcommand "@kick "+strcharinfo(0); }
			if(.Kick == 1){ atcommand "@kick "+rid2name(killedrid); }
			if(.Kick == 2){ atcommand "@kick "+strcharinfo(0); atcommand "@kick "+rid2name(killedrid); }
			break;
	case 3: callsub OnRollback;
			if(.Kick == 0){ atcommand "@block "+strcharinfo(0); }
			if(.Kick == 1){ atcommand "@block "+rid2name(killedrid); }
			if(.Kick == 2){ atcommand "@block "+strcharinfo(0);	 atcommand "@block "+rid2name(killedrid); }
			break;
	default: break;
	}
}
if(@nm < .Feed){
	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); }
	for(set .@i, 0; .@i < getarraysize(.ItemID); set .@i, .@i + 1){ if(.ItemID){ getitem .ItemID[.@i], .Amount[.@i]; }}
}
if(.RandomKillTerm){ announce strcharinfo(0)+" "+.KillWord$[rand(0, getarraysize(.KillWord$) - 1)]+" "+rid2name(killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; }
else { announce strcharinfo(0)+" pwned "+rid2name(killedrid)+"'s head", ((.Broadcast)?bc_all:bc_map), .KColor$; }
set Kill, Kill + 1;
if(@ks < 10){ set @ks, @ks + 1; }
if(@mk < 6){ set @mk, @mk + 1; }
if(!NemesisKilled){ set NemesisKilled, killedrid; }
if(NemesisKilled == killedrid){ set @nm, @nm + 1; }
deltimer "Versus::OnMKReset";
addtimer 18000, "Versus::OnMKReset";
callsub OnRecordStreak;
callsub OnAnnounce;
callsub OnDeath;
end;
} end;

OnPCDieEvent:
if(.System){
if(getgmlevel() >= .GMLevel){ end; }
if(.PvPMap$[0] != "All"){
	for(set .@i, 0; .@i < (getarraysize(.PvPMap$) - 1); set .@i, .@i + 1){
			if(strcharinfo(3) != .PvPMap$[.@i]){ end; }
			set Death, Death + 1;
	}
}
} end;

OnPCLogoutEvent:
if(.System){
if(getgmlevel() >= .GMLevel){ end; }
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$) - 1); set .@i, .@i + 1){
			if(strcharinfo(3) != .PvPMap$[.@i]){ end; }
	}
}
callsub OnClearData;
deltimer "Versus::OnMKReset";
} end;

OnRecordStreak:

Edited by Emistry
Please use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.01
  • Content Count:  71
  • Reputation:   0
  • Joined:  05/13/16
  • Last Seen:  

I got a question sir. How do you import the sql file? I got the same problem...

Link to comment
Share on other sites


  • Group:  Forum Moderator
  • Topic Count:  93
  • Topics Per Day:  0.02
  • Content Count:  10013
  • Reputation:   2348
  • Joined:  10/28/11
  • Last Seen:  

any error shown ? did you import the sql table ?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.01
  • Content Count:  59
  • Reputation:   0
  • Joined:  12/13/12
  • Last Seen:  

Yes and theres No error. ;\

any error shown ? did you import the sql table ?

Your SQL query has been executed successfully (Query took 0.2210 sec)

Edited by Kiritoryu
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...