Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2011
622
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.84 KB | None | 0 0
  1. ### Eclipse Workspace Patch 1.0
  2. #P L2Achen-Datapack
  3. Index: data/html/CommunityBoard/4.htm
  4. ===================================================================
  5. --- data/html/CommunityBoard/4.htm (revision 0)
  6. +++ data/html/CommunityBoard/4.htm (revision 0)
  7. @@ -0,0 +1,32 @@
  8. +<html>
  9. +<body>
  10. +<center><br><br>
  11. +
  12. +<table border=0 cellspacing=0 cellpadding=0>
  13. +<tr>
  14. +<td FIXWIDTH=15>&nbsp;</td>
  15. +<td width=750 height=30 align=left><a action="bypass _bbshome"> LOCAL COMMUNITY </a></td>
  16. +</tr></table>
  17. +<br>
  18. +<table border=0 cellspacing=0 cellpadding=2 bgcolor=5A5A5A width=750>
  19. +<tr>
  20. +
  21. +<td FIXWIDTH=2></td>
  22. +<td FIXWIDTH=15>#</td>
  23. +<td FIXWIDTH=90>Name</td>
  24. +<td FIXWIDTH=20>LvL</td>
  25. +<td FIXWIDTH=70>Class</td>
  26. +<td FIXWIDTH=70>Clan</td>
  27. +<td FIXWIDTH=70>Ally</td>
  28. +<td FIXWIDTH=25>PvP</td>
  29. +<td FIXWIDTH=90>Status</td>
  30. +<td FIXWIDTH=2></td>
  31. +</tr>
  32. +</table>
  33. +
  34. +%PlayerList%
  35. +
  36. +<br> <br> <br>
  37. +</center>
  38. +</body>
  39. +</html>
  40. \ No newline at end of file
  41. Index: data/html/CommunityBoard/index.htm
  42. ===================================================================
  43. --- data/html/CommunityBoard/index.htm (revision 216)
  44. +++ data/html/CommunityBoard/index.htm (working copy)
  45. @@ -74,6 +74,22 @@
  46. <td width=90 align="center">0</td>
  47. </tr>
  48. </table>
  49. +<table width=610 height=46>
  50. + <tr>
  51. + <td width=380 align="left">
  52. + <table width=380>
  53. + <tr>
  54. + <td align="left">&nbsp;<a action="bypass _bbshome;4">Top PvP</a></td>
  55. + </tr>
  56. + <tr>
  57. + <td width=380 align="left">&nbsp;PvP Informations</td>
  58. + </tr>
  59. + </table>
  60. + </td>
  61. + <td width=90 align="center">0</td>
  62. + <td width=90 align="center">0</td>
  63. + </tr>
  64. +</table>
  65. <font color="LEVEL">L2J Community Board.</font>
  66. <br>
  67. <!-- Special thanks to the "Varacolaci Dev TeaM" -->
  68. #P L2Achen-Game
  69. Index: java/net/sf/l2j/gameserver/communitybbs/Manager/TopBBSManager.java
  70. ===================================================================
  71. --- java/net/sf/l2j/gameserver/communitybbs/Manager/TopBBSManager.java (revision 215)
  72. +++ java/net/sf/l2j/gameserver/communitybbs/Manager/TopBBSManager.java (working copy)
  73. @@ -21,6 +21,7 @@
  74. import java.util.StringTokenizer;
  75.  
  76. import net.sf.l2j.gameserver.cache.HtmCache;
  77. +import net.sf.l2j.gameserver.model.PlayerList;
  78. import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
  79. import net.sf.l2j.gameserver.network.serverpackets.ShowBoard;
  80.  
  81. @@ -42,6 +43,7 @@
  82. }
  83. separateAndSend(content,activeChar);
  84. }
  85. +
  86. else if(command.equals("_bbshome"))
  87. {
  88. String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm");
  89. @@ -51,6 +53,20 @@
  90. }
  91. separateAndSend(content,activeChar);
  92. }
  93. + else if(command.startsWith("_bbshome;"))
  94. + {
  95. + PlayerList pl = new PlayerList();
  96. + StringTokenizer st = new StringTokenizer(command, ";");
  97. + st.nextToken();
  98. + int idp = Integer.parseInt(st.nextToken());
  99. + String content = HtmCache.getInstance().getHtm("data/html/CommunityBoard/"+idp+".htm");
  100. + if (content == null)
  101. + {
  102. + content = "<html><body><br><br><center>404 :File Not foud: 'data/html/CommunityBoard/"+idp+".htm' </center></body></html>";
  103. + }
  104. + content = content.replaceAll("%PlayerList%", pl.loadPlayerList());
  105. + separateAndSend(content,activeChar);
  106. + }
  107. else if(command.startsWith("_bbstop;"))
  108. {
  109. StringTokenizer st = new StringTokenizer(command, ";");
  110. @@ -71,7 +87,7 @@
  111. activeChar.sendPacket(new ShowBoard(null,"103"));
  112. }
  113. }
  114. -
  115. +
  116. /* (non-Javadoc)
  117. * @see net.sf.l2j.gameserver.communitybbs.Manager.BaseBBSManager#parsewrite(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, net.sf.l2j.gameserver.model.actor.instance.L2PcInstance)
  118. */
  119. Index: java/net/sf/l2j/gameserver/model/PlayerList.java
  120. ===================================================================
  121. --- java/net/sf/l2j/gameserver/model/PlayerList.java (revision 0)
  122. +++ java/net/sf/l2j/gameserver/model/PlayerList.java (revision 0)
  123. @@ -0,0 +1,188 @@
  124. +package net.sf.l2j.gameserver.model;
  125. +
  126. +import java.sql.PreparedStatement;
  127. +import java.sql.ResultSet;
  128. +import java.util.Map;
  129. +import java.util.logging.Logger;
  130. +
  131. +import net.sf.l2j.L2DatabaseFactory;
  132. +
  133. +import javolution.text.TextBuilder;
  134. +import javolution.util.FastMap;
  135. +
  136. +public class PlayerList
  137. +{
  138. + private static Logger _log = Logger.getLogger(PlayerList.class.getName());
  139. + private int _posId;
  140. + private TextBuilder _playerList = new TextBuilder();
  141. +
  142. +
  143. + public PlayerList()
  144. + {
  145. + loadFromDB();
  146. + }
  147. +
  148. + private void loadFromDB() {
  149. + java.sql.Connection con = null;
  150. + String top;
  151. +
  152. + top = "pvpkills";
  153. +
  154. + try
  155. + {
  156. + _posId = 0;
  157. + con = L2DatabaseFactory.getInstance().getConnection();
  158. + PreparedStatement statement = con.prepareStatement("SELECT char_name, base_class, "+top+", level, online, clan_name, ally_name FROM characters LEFT JOIN clan_data ON clan_id=clanid WHERE accesslevel=0 ORDER BY "+top+" DESC, char_name ASC LIMIT 10");
  159. + ResultSet result = statement.executeQuery();
  160. +
  161. + while (result.next())
  162. + {
  163. + boolean status = false;
  164. +
  165. + _posId = _posId + 1;
  166. + if(result.getInt("online") == 1)
  167. + status = true;
  168. +
  169. + 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);
  170. + }
  171. +
  172. + result.close();
  173. + statement.close();
  174. + }
  175. + catch (Exception e)
  176. + {
  177. + e.printStackTrace();
  178. + }
  179. + finally
  180. + {
  181. + try
  182. + {
  183. + con.close();
  184. + }
  185. + catch (Exception e)
  186. + {
  187. + }
  188. + }
  189. + }
  190. +
  191. + public String loadPlayerList()
  192. + {
  193. + return _playerList.toString();
  194. + }
  195. +
  196. + private void addPlayerToList(int objId, String name, String clan, String alliance, int ChrClass, int level, int points, boolean isOnline)
  197. + {
  198. + _playerList.append("<table border=0 cellspacing=0 cellpadding=2 width=750>");
  199. + _playerList.append("<tr>");
  200. + _playerList.append("<td FIXWIDTH=2></td>");
  201. + _playerList.append("<td FIXWIDTH=15>"+objId+".</td>");
  202. + _playerList.append("<td FIXWIDTH=90>"+name+"</td>");
  203. + _playerList.append("<td FIXWIDTH=20>"+level+"</td>");
  204. + _playerList.append("<td FIXWIDTH=70>"+className(ChrClass)+"</td>");
  205. + _playerList.append("<td FIXWIDTH=70>"+clan+"</td>");
  206. + _playerList.append("<td FIXWIDTH=70>"+alliance+"</td>");
  207. + _playerList.append("<td FIXWIDTH=25>"+points+"</td>");
  208. + _playerList.append("<td FIXWIDTH=90>"+((isOnline) ? "<font color=99FF00>Online</font>" : "<font color=CC0000>Offline</font>")+"</td>");
  209. + _playerList.append("<td FIXWIDTH=2></td>");
  210. + _playerList.append("</tr>");
  211. + _playerList.append("</table>");
  212. + _playerList.append("<img src=\"L2UI.Squaregray\" width=\"740\" height=\"1\">");
  213. + }
  214. +
  215. + private final String className(int classId)
  216. + {
  217. + Map<Integer, String> classList;
  218. + classList = new FastMap<Integer, String>();
  219. + classList.put(0, "Fighter");
  220. + classList.put(1, "Warrior");
  221. + classList.put(2, "Gladiator");
  222. + classList.put(3, "Warlord");
  223. + classList.put(4, "Knight");
  224. + classList.put(5, "Paladin");
  225. + classList.put(6, "Dark Avenger");
  226. + classList.put(7, "Rogue");
  227. + classList.put(8, "Treasure Hunter");
  228. + classList.put(9, "Hawkeye");
  229. + classList.put(10, "Mage");
  230. + classList.put(11, "Wizard");
  231. + classList.put(12, "Sorcerer");
  232. + classList.put(13, "Necromancer");
  233. + classList.put(14, "Warlock");
  234. + classList.put(15, "Cleric");
  235. + classList.put(16, "Bishop");
  236. + classList.put(17, "Prophet");
  237. + classList.put(18, "Elven Fighter");
  238. + classList.put(19, "Elven Knight");
  239. + classList.put(20, "Temple Knight");
  240. + classList.put(21, "Swordsinger");
  241. + classList.put(22, "Elven Scout");
  242. + classList.put(23, "Plains Walker");
  243. + classList.put(24, "Silver Ranger");
  244. + classList.put(25, "Elven Mage");
  245. + classList.put(26, "Elven Wizard");
  246. + classList.put(27, "Spellsinger");
  247. + classList.put(28, "Elemental Summoner");
  248. + classList.put(29, "Oracle");
  249. + classList.put(30, "Elder");
  250. + classList.put(31, "Dark Fighter");
  251. + classList.put(32, "Palus Knightr");
  252. + classList.put(33, "Shillien Knight");
  253. + classList.put(34, "Bladedancer");
  254. + classList.put(35, "Assasin");
  255. + classList.put(36, "Abyss Walker");
  256. + classList.put(37, "Phantom Ranger");
  257. + classList.put(38, "Dark Mage");
  258. + classList.put(39, "Dark Wizard");
  259. + classList.put(40, "Spellhowler");
  260. + classList.put(41, "Phantom Summoner");
  261. + classList.put(42, "Shillien Oracle");
  262. + classList.put(43, "Shilien Elder");
  263. + classList.put(44, "Orc Fighter");
  264. + classList.put(45, "Orc Raider");
  265. + classList.put(46, "Destroyer");
  266. + classList.put(47, "Orc Monk");
  267. + classList.put(48, "Tyrant");
  268. + classList.put(49, "Orc Mage");
  269. + classList.put(50, "Orc Shaman");
  270. + classList.put(51, "Overlord");
  271. + classList.put(52, "Warcryer");
  272. + classList.put(53, "Dwarven Fighter");
  273. + classList.put(54, "Scavenger");
  274. + classList.put(55, "Bounty Hunter");
  275. + classList.put(56, "Artisan");
  276. + classList.put(57, "Warsmith");
  277. + classList.put(88, "Duelist");
  278. + classList.put(89, "Dreadnought");
  279. + classList.put(90, "Phoenix Knight");
  280. + classList.put(91, "Hell Knight");
  281. + classList.put(92, "Sagittarius");
  282. + classList.put(93, "Adventurer");
  283. + classList.put(94, "Archmage");
  284. + classList.put(95, "Soultaker");
  285. + classList.put(96, "Arcana Lord");
  286. + classList.put(97, "Cardinal");
  287. + classList.put(98, "Hierophant");
  288. + classList.put(99, "Evas Templar");
  289. + classList.put(100, "Sword Muse");
  290. + classList.put(101, "Wind Rider");
  291. + classList.put(102, "Moonlight Sentinel");
  292. + classList.put(103, "Mystic Muse");
  293. + classList.put(104, "Elemental Master");
  294. + classList.put(105, "Evas Saint");
  295. + classList.put(106, "Shillien Templar");
  296. + classList.put(107, "Spectral Dancer");
  297. + classList.put(108, "Ghost Hunter");
  298. + classList.put(109, "Ghost Sentinel");
  299. + classList.put(110, "Storm Screamer");
  300. + classList.put(111, "Spectral Master");
  301. + classList.put(112, "Shillien Saint");
  302. + classList.put(113, "Titan");
  303. + classList.put(114, "Grand Khavatari");
  304. + classList.put(115, "Dominator");
  305. + classList.put(116, "Doomcryer");
  306. + classList.put(117, "Fortune Seeker");
  307. + classList.put(118, "Maestro");
  308. +
  309. + return classList.get(classId);
  310. + }
  311. +}
  312. \ No newline at end of file
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement