+ 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");
I'm seeking a proficient freelancer with experience in unpacking Themida v2-protected DLL files. The unpacked file is intended for analysis and research, and there's no need for detailed documentation.
Key requirements:
- Proficiency in unpacking Themida v2-protected files
- Previous experience working with DLL files
- Ability to efficiently provide the unpacked file
Your primary task will be to successfully unpack the DLL file, providing me with the unpacked version for further analysis. Your expertise in this area is crucial. Please note that detailed documentation on the unpacking process is not required, only the unpacked file itself.
Files: Engine.dll \ Nwindow.dll
+1, I've used this updater for years multiple times along with the SICK Logos & assistance with setup, Ave is just an all out amazing person!
10/10 would recommend!
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
Link to comment
Share on other sites
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.