Jump to content

Recommended Posts

Posted

Core:

Index: java/com/l2jserver/communityserver/communityboard/boards/TopBoard.java

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

--- java/com/l2jserver/communityserver/communityboard/boards/TopBoard.java (revision 631)

+++ java/com/l2jserver/communityserver/communityboard/boards/TopBoard.java (working copy)

@@ -16,9 +16,12 @@

 

import java.util.StringTokenizer;

 

+import javolution.text.TextBuilder;

+

import com.l2jserver.communityserver.cache.HtmCache;

import com.l2jserver.communityserver.communityboard.CommunityBoard;

import com.l2jserver.communityserver.communityboard.CommunityBoardManager;

+import com.l2jserver.communityserver.model.PlayerList;

 

public class TopBoard extends CommunityBoard

{

@@ -42,6 +45,10 @@

}

if (file.isEmpty())

content = "<html><body><br><br><center>Error: no file name </center></body></html>";

+ else if (file.equals("top_pk"))

+ content = top10pk();

+ else if (file.equals("top_pvp"))

+ content = top10pvp();

else

content = HtmCache.getInstance().getHtm(this.getCommunityBoardManager().getSQLDPId(),"html/" + file);

if (content == null)

@@ -50,6 +57,26 @@

super.send(playerObjId, content);

}

 

+ public String top10pk() {

+ PlayerList pl = new PlayerList(0);

+ String content = HtmCache.getInstance().getHtm("cb_data/staticfiles/html/top-players.htm");

+ //content = content.replaceAll("%Link%","top_pk");

+ content = content.replaceAll("%LinkTitle%","Top PK");

+ content = content.replaceAll("%Title%","<font color=\"LEVEL\">[Top PK]</font>");

+ content = content.replaceAll("%PlayerList%", pl.loadPlayerList());

+ return content;

+ }

+

+ public String top10pvp() {

+ PlayerList pl = new PlayerList(1);

+ String content = HtmCache.getInstance().getHtm("cb_data/staticfiles/html/top-players.htm");

+ //content = content.replaceAll("%Link%","top_pvp");

+ content = content.replaceAll("%LinkTitle%","Top PvP");

+ content = content.replaceAll("%Title%","<font color=\"LEVEL\">[Top PvP]</font>");

+ content = content.replaceAll("%PlayerList%", pl.loadPlayerList());

+ return content;

+ }

+

@Override

public final void parseWrite(final int playerObjId, final String ar1, final String ar2, final String ar3, final String ar4, final String ar5)

{

Index: java/com/l2jserver/communityserver/model/PlayerList.java

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

--- java/com/l2jserver/communityserver/model/PlayerList.java (revision 0)

+++ java/com/l2jserver/communityserver/model/PlayerList.java (revision 0)

@@ -0,0 +1,206 @@

+package com.l2jserver.communityserver.model;

+

+import java.sql.PreparedStatement;

+import java.sql.ResultSet;

+import java.util.Map;

+import java.util.logging.Logger;

+

+import com.l2jserver.communityserver.L2DatabaseFactory;

+

+import javolution.text.TextBuilder;

+import javolution.util.FastMap;

+

+public class PlayerList

+{

+ private static Logger _log = Logger.getLogger(PlayerList.class.getName());

+

+ private int _posId;

+ private TextBuilder _playerList = new TextBuilder();

+

+

+ public PlayerList(int type)

+ {

+ loadFromDB(type);

+ }

+

+ private void loadFromDB(int type) {

+ java.sql.Connection con = null;

+ String top;

+ if (type==0)

+ top = "pkkills";

+ else

+ top = "pvpkills";

+ try

+ {

+ _posId = 0;

+ con = L2DatabaseFactory.getInstance().getConnection();

+ PreparedStatement statement = con.prepareStatement("SELECT c.char_name, c.base_class, c."+top+", c.level, c.online, cl.clan_name, cl.ally_name FROM characters c LEFT JOIN clan_data cl ON cl.clan_id=c.clanid WHERE c.accesslevel=0 ORDER BY c."+top+" DESC, c.char_name ASC LIMIT 10");

+

+ ResultSet result = statement.executeQuery();

+

+ while (result.next())

+ {

+ boolean status = false;

+ _posId = _posId + 1;

+

+ if(result.getInt("online") == 1)

+ status = true;

+

+ addPlayerToList(_posId, result.getString("char_name"), result.getString("clan_name"), result.getString("ally_name"), result.getInt("base_class"), result.getInt("level"), result.getInt(top), status);

+ }

+

+ result.close();

+ statement.close();

+ }

+ catch (Exception e)

+ {

+ e.printStackTrace();

+ }

+ finally

+ {

+ try

+ {

+ con.close();

+ }

+ catch (Exception e)

+ {

+ }

+ }

+ }

+

+ public String loadPlayerList()

+ {

+ return _playerList.toString();

+ }

+

+ private void addPlayerToList(int objId, String name, String clan, String alliance, int ChrClass, int level, int points, boolean isOnline)

+ {

+ _playerList.append("<table border=0 cellspacing=0 cellpadding=2 width=750>");

+ _playerList.append("<tr>");

+ _playerList.append("<td FIXWIDTH=10></td>");

+ _playerList.append("<td FIXWIDTH=40>"+objId+".</td>");

+ _playerList.append("<td FIXWIDTH=150>"+name+"</td>");

+ _playerList.append("<td FIXWIDTH=80>"+level+"</td>");

+ _playerList.append("<td FIXWIDTH=160>"+className(ChrClass)+"</td>");

+ _playerList.append("<td FIXWIDTH=160>"+clan+"</td>");

+ _playerList.append("<td FIXWIDTH=160>"+alliance+"</td>");

+ _playerList.append("<td FIXWIDTH=60>"+points+"</td>");

+ _playerList.append("<td FIXWIDTH=90>"+((isOnline) ? "<font color=99FF00>Online</font>" : "<font color=CC0000>Offline</font>")+"</td>");

+ _playerList.append("<td FIXWIDTH=5></td>");

+ _playerList.append("</tr>");

+ _playerList.append("</table>");

+ _playerList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");

+ }

+

+ private final String className(int classId)

+ {

+ Map<Integer, String> classList;

+ classList = new FastMap<Integer, String>();

+ classList.put(0, "Fighter");

+ classList.put(1, "Warrior");

+ classList.put(2, "Gladiator");

+ classList.put(3, "Warlord");

+ classList.put(4, "Knight");

+ classList.put(5, "Paladin");

+ classList.put(6, "Dark Avenger");

+ classList.put(7, "Rogue");

+ classList.put(8, "Treasure Hunter");

+ classList.put(9, "Hawkeye");

+ classList.put(10, "Mage");

+ classList.put(11, "Wizard");

+ classList.put(12, "Sorcerer");

+ classList.put(13, "Necromancer");

+ classList.put(14, "Warlock");

+ classList.put(15, "Cleric");

+ classList.put(16, "Bishop");

+ classList.put(17, "Prophet");

+ classList.put(18, "Elven Fighter");

+ classList.put(19, "Elven Knight");

+ classList.put(20, "Temple Knight");

+ classList.put(21, "Swordsinger");

+ classList.put(22, "Elven Scout");

+ classList.put(23, "Plains Walker");

+ classList.put(24, "Silver Ranger");

+ classList.put(25, "Elven Mage");

+ classList.put(26, "Elven Wizard");

+ classList.put(27, "Spellsinger");

+ classList.put(28, "Elemental Summoner");

+ classList.put(29, "Oracle");

+ classList.put(30, "Elder");

+ classList.put(31, "Dark Fighter");

+ classList.put(32, "Palus Knightr");

+ classList.put(33, "Shillien Knight");

+ classList.put(34, "Bladedancer");

+ classList.put(35, "Assasin");

+ classList.put(36, "Abyss Walker");

+ classList.put(37, "Phantom Ranger");

+ classList.put(38, "Dark Mage");

+ classList.put(39, "Dark Wizard");

+ classList.put(40, "Spellhowler");

+ classList.put(41, "Phantom Summoner");

+ classList.put(42, "Shillien Oracle");

+ classList.put(43, "Shilien Elder");

+ classList.put(44, "Orc Fighter");

+ classList.put(45, "Orc Raider");

+ classList.put(46, "Destroyer");

+ classList.put(47, "Orc Monk");

+ classList.put(48, "Tyrant");

+ classList.put(49, "Orc Mage");

+ classList.put(50, "Orc Shaman");

+ classList.put(51, "Overlord");

+ classList.put(52, "Warcryer");

+ classList.put(53, "Dwarven Fighter");

+ classList.put(54, "Scavenger");

+ classList.put(55, "Bounty Hunter");

+ classList.put(56, "Artisan");

+ classList.put(57, "Warsmith");

+ classList.put(88, "Duelist");

+ classList.put(89, "Dreadnought");

+ classList.put(90, "Phoenix Knight");

+ classList.put(91, "Hell Knight");

+ classList.put(92, "Sagittarius");

+ classList.put(93, "Adventurer");

+ classList.put(94, "Archmage");

+ classList.put(95, "Soultaker");

+ classList.put(96, "Arcana Lord");

+ classList.put(97, "Cardinal");

+ classList.put(98, "Hierophant");

+ classList.put(99, "Evas Templar");

+ classList.put(100, "Sword Muse");

+ classList.put(101, "Wind Rider");

+ classList.put(102, "Moonlight Sentinel");

+ classList.put(103, "Mystic Muse");

+ classList.put(104, "Elemental Master");

+ classList.put(105, "Evas Saint");

+ classList.put(106, "Shillien Templar");

+ classList.put(107, "Spectral Dancer");

+ classList.put(108, "Ghost Hunter");

+ classList.put(109, "Ghost Sentinel");

+ classList.put(110, "Storm Screamer");

+ classList.put(111, "Spectral Master");

+ classList.put(112, "Shillien Saint");

+ classList.put(113, "Titan");

+ classList.put(114, "Grand Khavatari");

+ classList.put(115, "Dominator");

+ classList.put(116, "Doomcryer");

+ classList.put(117, "Fortune Seeker");

+ classList.put(118, "Maestro");

+ classList.put(123, "Male Soldier");

+ classList.put(124, "Female Soldier");

+ classList.put(125, "Trooper");

+ classList.put(126, "Warder");

+ classList.put(127, "Berserker");

+ classList.put(128, "Male Soulbreaker");

+ classList.put(129, "Female Soulbreaker");

+ classList.put(130, "Arbalester");

+ classList.put(131, "Doombringer");

+ classList.put(132, "Male Soulhound");

+ classList.put(133, "Female Soulhound");

+ classList.put(134, "Trickster");

+ classList.put(135, "Inspector");

+ classList.put(136, "Judicator");

+

+ return classList.get(classId);

+ }

+}

 

DP:

Index: cb_data/staticfiles/html/top-players.htm

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

--- cb_data/staticfiles/html/top-players.htm (revision 0)

+++ cb_data/staticfiles/html/top-players.htm (revision 0)

@@ -0,0 +1,36 @@

+<html>

+

+

+<body>

+

+<center><br><br> <br1><br1>

+

+<table border=0 cellspacing=0 cellpadding=0>

+<tr>

+<td FIXWIDTH=15> </td>

+<td width=750 height=30 align=left><a action="bypass _bbshome"> LOCAL COMMUNITY </a> > %LinkTitle%</td>

+</tr></table>

+%Title%

+<br>

+<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>

+<tr>

+

+<td FIXWIDTH=10></td>

+<td FIXWIDTH=40>#</td>

+<td FIXWIDTH=150>Name</td>

+<td FIXWIDTH=80>Lv</td>

+<td FIXWIDTH=160>Class</td>

+<td FIXWIDTH=160>Clan</td>

+<td FIXWIDTH=160>Ally</td>

+<td FIXWIDTH=60>Points</td>

+<td FIXWIDTH=90>Status</td>

+<td FIXWIDTH=5></td>

+</tr>

+</table>

+

+%PlayerList%

+

+<br> <br> <br>

+</center>

+</body>

+</html>

Index: cb_data/top/bartz/html/index.htm

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

--- cb_data/top/bartz/html/index.htm (revision 631)

+++ cb_data/top/bartz/html/index.htm (working copy)

@@ -80,6 +80,37 @@

<tr><td width=755><img src="l2ui.squaregray" width="750" height="1"></td></tr>

</table>

  <br>

+

+<table border=0 cellspacing=0 cellpadding=2>

+<tr>

+<td FIXWIDTH=100 align=right valign=top><img src="l2ui.bbs_folder" width=32 height=32></td>

+<td FIXWIDTH=410 align=left valign=top><a action="bypass _bbshome;top_pvp">Top PvP</a><br1>

+

+<font color="AAAAAA">Top PvP players</font></td>

+<td FIXWIDTH=95 align=center valign=top>10</td>

+<td FIXWIDTH=150 align=center valign=top>mochitto</td>

+</tr>

+</table>

+<table border=0 cellspacing=0 cellpadding=0>

+<tr><td width=755><img src="l2ui.squaregray" width="750" height="1"></td></tr>

+</table>

+ <br>

+

+ <table border=0 cellspacing=0 cellpadding=2>

+<tr>

+<td FIXWIDTH=100 align=right valign=top><img src="l2ui.bbs_folder" width=32 height=32></td>

+<td FIXWIDTH=410 align=left valign=top><a action="bypass _bbshome;top_pk">Top PK</a><br1>

+

+<font color="AAAAAA">Top PK players</font></td>

+<td FIXWIDTH=95 align=center valign=top>10</td>

+<td FIXWIDTH=150 align=center valign=top>mochitto</td>

+</tr>

+</table>

+<table border=0 cellspacing=0 cellpadding=0>

+<tr><td width=755><img src="l2ui.squaregray" width="750" height="1"></td></tr>

+</table>

+ <br>

<br>

 

<font color="LEVEL">L2J Community Board.</font>

Credits : L2j-Forum

Patch is for epilogue

Posted

That is realy cool !

I did not see that thing before thank you.

I will try adapt for interlude :D

 

Do faster :D becouse i am trying now, and nothing xD

Posted

Do faster :D becouse i am trying now, and nothing xD

 

If You had errors, you can show us them, if you expect help.

Posted
      if (file.isEmpty())

          content = "<html><body><br><br><center>Error: no file name </center></body></html>";

+      else if (file.equals("top_pk"))

+        content = top10pk();

+      else if (file.equals("top_pvp"))

+        content = top10pvp();

      else

          content = HtmCache.getInstance().getHtm(this.getCommunityBoardManager().getSQLDPId(),"html/" + file);

      if (content == null)

@@ -50,6 +57,26 @@

      super.send(playerObjId, content);

    }

 

+  public String top10pk() {

+      PlayerList pl = new PlayerList(0);

+      String content = HtmCache.getInstance().getHtm("cb_data/staticfiles/html/top-players.htm");

+      //content = content.replaceAll("%Link%","top_pk");

+      content = content.replaceAll("%LinkTitle%","Top PK");

+      content = content.replaceAll("%Title%","<font color=\"LEVEL\">[Top PK]</font>");

+      content = content.replaceAll("%PlayerList%", pl.loadPlayerList());

+      return content;

+  }

+  public String top10pvp() {

+      PlayerList pl = new PlayerList(1);

+      String content = HtmCache.getInstance().getHtm("cb_data/staticfiles/html/top-players.htm");

+      //content = content.replaceAll("%Link%","top_pvp");

+      content = content.replaceAll("%LinkTitle%","Top PvP");

+      content = content.replaceAll("%Title%","<font color=\"LEVEL\">[Top PvP]</font>");

+      content = content.replaceAll("%PlayerList%", pl.loadPlayerList());

+      return content;

+  }

 

this part do not fit i my community board :) it's very diffrent codes.

Posted

if (file.isEmpty())
          content = "<html><body><br><br><center>Error: no file name </center></body></html>";

no these lines

 content = content.replaceAll("%LinkTitle%","Top PK");

nothing like this anywhere... I think for il need to do full rework becouse in mine files is like

			htmlCode.append("<table>");

		htmlCode.append(trOpen);
		htmlCode.append("<td align=left valign=top>Server Restarted: " + GameServer.dateTimeServerStarted.getTime() + tdClose);
		htmlCode.append(trClose);

		htmlCode.append("</table>");

		htmlCode.append("<table>");
		htmlCode.append(trOpen);
		htmlCode.append("<td><img src=\"sek.cbui355\" width=600 height=1><br></td>");
		htmlCode.append(trClose);

 

at all no word like content

Posted

if (file.isEmpty())
          content = "<html><body><br><br><center>Error: no file name </center></body></html>";

no these lines

 content = content.replaceAll("%LinkTitle%","Top PK");

nothing like this anywhere... I think for il need to do full rework becouse in mine files is like

			htmlCode.append("<table>");

		htmlCode.append(trOpen);
		htmlCode.append("<td align=left valign=top>Server Restarted: " + GameServer.dateTimeServerStarted.getTime() + tdClose);
		htmlCode.append(trClose);

		htmlCode.append("</table>");

		htmlCode.append("<table>");
		htmlCode.append(trOpen);
		htmlCode.append("<td><img src=\"sek.cbui355\" width=600 height=1><br></td>");
		htmlCode.append(trClose);

 

at all no word like content

You can replace online players with top pvp/pk ..

Posted

maybe u can explain a little bit more? how to do that.

 

atleast i don't know where tu put these

+      else if (file.equals("top_pk"))

+        content = top10pk();

+      else if (file.equals("top_pvp"))

+        content = top10pvp();

about others i don't talk at all...

Guest
This topic is now closed to further replies.

×
×
  • Create New...