+ 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");
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Hello.
This code works well. It removes buff with double click, but If you preffer remove buff with ALT + mouse click, place this code in AbnormalStatusWnd.uc
function OnLButtonDown(WindowHandle a_WindowHandle, int X, int Y)
{
local Rect windowBounds;
local int targetRow;
local int targetCol;
local StatusIconInfo info;
local SkillInfo skillInfo;
if (IsKeyDown(IK_alt) == false)
return;
// Find window position
windowBounds = Me.GetRect();
// Process clicks outside of window frame only
if (X > (windowBounds.nX + NSTATUSICON_FRAMESIZE))
{
// Calc row and col of targeted icon
targetRow = (Y - windowBounds.nY) / NSTATUSICON_SIZE;
targetCol = (X - windowBounds.nX - NSTATUSICON_FRAMESIZE) / NSTATUSICON_SIZE;
// Store status info of targeted icon
StatusIcon.GetItem(targetRow, targetCol, info);
// Store actual skill info and make sure it is exists
if (GetSkillInfo(info.ClassID, info.Level, skillInfo))
{
// Request server to stop skill effect
// Usage: _dispel:<int:skill_id>,<int :skill_level>
// Example: _dispel:313,8
RequestBypassToServer ( "_dispel:" $ string ( skillInfo. SkillID ) $ "," $ string ( skillInfo. SkillLevel ) ) ) ;
}
}
}
Question
kokkinidisjim
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);
+ }
+}
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>
thelo na m pite pos akribos tha peraso ton java code ke se pio simio akribos.....plz
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.