Guest User

Top 7 Deaths Manager By AbsolutePower v2

a guest
Jan 23rd, 2012
489
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.11 KB | None | 0 0
  1. go to L2PcInstance.java
  2.  
  3. -private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=? WHERE obj_id=?";
  4.  
  5. -private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level FROM characters WHERE obj_id=?";
  6.  
  7. +private static final String UPDATE_CHARACTER = "UPDATE characters SET level=?,maxHp=?,curHp=?,maxCp=?,curCp=?,maxMp=?,curMp=?,str=?,con=?,dex=?,_int=?,men=?,wit=?,face=?,hairStyle=?,hairColor=?,heading=?,x=?,y=?,z=?,exp=?,expBeforeDeath=?,sp=?,karma=?,pvpkills=?,pkkills=?,rec_have=?,rec_left=?,clanid=?,maxload=?,race=?,classid=?,deletetime=?,title=?,accesslevel=?,online=?,isin7sdungeon=?,clan_privs=?,wantspeace=?,base_class=?,onlinetime=?,punish_level=?,punish_timer=?,newbie=?,nobless=?,power_grade=?,subpledge=?,last_recom_date=?,lvl_joined_academy=?,apprentice=?,sponsor=?,varka_ketra_ally=?,clan_join_expiry_time=?,clan_create_expiry_time=?,char_name=?,death_penalty_level=?,deaths=? WHERE obj_id=?";
  8.  
  9. +private static final String RESTORE_CHARACTER = "SELECT account_name, obj_Id, char_name, level, maxHp, curHp, maxCp, curCp, maxMp, curMp, acc, crit, evasion, mAtk, mDef, mSpd, pAtk, pDef, pSpd, runSpd, walkSpd, str, con, dex, _int, men, wit, face, hairStyle, hairColor, sex, heading, x, y, z, movement_multiplier, attack_speed_multiplier, colRad, colHeight, exp, expBeforeDeath, sp, karma, pvpkills, pkkills, clanid, maxload, race, classid, deletetime, cancraft, title, rec_have, rec_left, accesslevel, online, char_slot, lastAccess, clan_privs, wantspeace, base_class, onlinetime, isin7sdungeon, punish_level, punish_timer, newbie, nobless, power_grade, subpledge, last_recom_date, lvl_joined_academy, apprentice, sponsor, varka_ketra_ally,clan_join_expiry_time,clan_create_expiry_time,death_penalty_level,deaths FROM characters WHERE obj_id=?";
  10.  
  11. /** The number of player killed during a PvP (the player killed was PvP Flagged) */
  12. private int _pvpKills;
  13.  
  14. + private int _deaths;
  15.  
  16. /**
  17. * Set the the PvP Kills of the L2PcInstance (Number of player killed during a PvP).<BR><BR>
  18. */
  19. public void setPvpKills(int pvpKills)
  20. {
  21. _pvpKills = pvpKills;
  22. }
  23.  
  24. + public int getDeaths()
  25. + {
  26. + return _deaths;
  27. + }
  28. +
  29. + public void setDeaths(int deaths)
  30. + {
  31. + _deaths = deaths;
  32. + }
  33.  
  34.  
  35. public boolean doDie(L2Character killer)
  36. {
  37.  
  38. // calculate death penalty buff
  39. calculateDeathPenaltyBuffLevel(killer);
  40.  
  41. stopRentPet();
  42. stopWaterTask();
  43.  
  44. + setDeaths(getDeaths() + 1);
  45. + sendPacket(new UserInfo(this));
  46.  
  47. return true;
  48. }
  49.  
  50. -statement = con.prepareStatement( "INSERT INTO characters " + "(account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp," +
  51. "acc,crit,evasion,mAtk,mDef,mSpd,pAtk,pDef,pSpd,runSpd,walkSpd," +
  52. "str,con,dex,_int,men,wit,face,hairStyle,hairColor,sex," +
  53. "movement_multiplier,attack_speed_multiplier,colRad,colHeight," +
  54. "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," +
  55. "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," +
  56. "base_class,newbie,nobless,power_grade,last_recom_date) "
  57.  
  58. +statement = con.prepareStatement("INSERT INTO characters " + "(account_name,obj_Id,char_name,level,maxHp,curHp,maxCp,curCp,maxMp,curMp," +
  59. "acc,crit,evasion,mAtk,mDef,mSpd,pAtk,pDef,pSpd,runSpd,walkSpd," +
  60. "str,con,dex,_int,men,wit,face,hairStyle,hairColor,sex," +
  61. "movement_multiplier,attack_speed_multiplier,colRad,colHeight," +
  62. "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," +
  63. "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," +
  64. "base_class,newbie,nobless,power_grade,last_recom_date,deaths) " +
  65.  
  66.  
  67.  
  68. statement.setInt(55, isNoble() ? 1 :0);
  69. + statement.setInt(56, getDeaths());
  70. statement.setLong(57,System.currentTimeMillis());
  71. statement.executeUpdate();
  72. statement.close();
  73.  
  74. statement.setLong(56, getDeathPenaltyBuffLevel());
  75. + statement.setInt(57, getDeaths());
  76. statement.setInt(58, getObjectId());
  77.  
  78. player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
  79.  
  80. + player.setDeaths(rset.getInt("deaths"));
  81.  
  82.  
  83. Make a new Untitled Text File in net.sf.l2j.gameserver.model.actor.instance
  84. (full path net.sf.l2j.gameserver.model.actor.instance.L2TopDeathManagerInstance;)
  85.  
  86. named L2TopDeathManagerInstance and paste this inside
  87.  
  88. package net.sf.l2j.gameserver.model.actor.instance;
  89.  
  90. import java.sql.Connection;
  91. import java.sql.PreparedStatement;
  92. import java.sql.ResultSet;
  93.  
  94. import net.sf.l2j.L2DatabaseFactory;
  95. import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
  96. import net.sf.l2j.gameserver.templates.L2NpcTemplate;
  97. import javolution.text.TextBuilder;
  98.  
  99.  
  100. public class L2TopDeathManagerInstance extends L2NpcInstance
  101. {
  102. public String filename;
  103.  
  104. public L2TopDeathManagerInstance(int objectId, L2NpcTemplate template)
  105. {
  106. super(objectId, template);
  107. }
  108.  
  109. @Override
  110. public void onBypassFeedback(L2PcInstance player, String command)
  111. {
  112. if(player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())
  113. {
  114. return;
  115. }
  116.  
  117. if(command.startsWith("TopDeaths"))
  118. {
  119. TopDeaths(player);
  120. }
  121. }
  122.  
  123. @Override
  124. public void showChatWindow(L2PcInstance player, int val)
  125. {
  126. filename = (getHtmlPath(getNpcId(), val));
  127. NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
  128. msg.setHtml(TopWindow(player));
  129. msg.replace("%objectId%", String.valueOf(this.getObjectId()));
  130. player.sendPacket(msg);
  131. }
  132.  
  133. private String TopWindow(L2PcInstance player)
  134. {
  135. TextBuilder tb = new TextBuilder();
  136. tb.append("<html><title>Top Deaths Manager</title><body>");
  137. tb.append("<center>");
  138. tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
  139. tb.append("<font color=\"999999\">Top 7 Deaths</font><br><br>");
  140. tb.append("Welcome " + player.getName() + "<br>");
  141. tb.append("<br>");
  142. tb.append("<br>");
  143. tb.append("<tr>");
  144. tb.append("<td><button value= TopDeaths action=\"bypass -h npc_%objectId%_TopDeaths\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
  145. tb.append("</tr>");
  146. tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
  147. tb.append("</center>");
  148. tb.append("</body></html>");
  149. return tb.toString();
  150. }
  151. private void TopDeaths(L2PcInstance player)
  152. {
  153. Connection con = null;
  154. try
  155. {
  156. con = L2DatabaseFactory.getInstance().getConnection();
  157. PreparedStatement statement;
  158. statement = con.prepareStatement("SELECT char_name,deaths FROM characters where accesslevel = 0 order by deaths DESC LIMIT 7;");
  159. ResultSet rset = statement.executeQuery();
  160. while(rset.next())
  161. {
  162. NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
  163. TextBuilder sb = new TextBuilder();
  164. sb.append ("Character: "+rset.getString("char_name")+" ("+rset.getInt("deaths")+" Deaths");
  165. html.setHtml(sb.toString());
  166. player.sendPacket(html);
  167. }
  168. rset.close();
  169. statement.close();
  170. con.close();
  171. }
  172. catch (Exception e)
  173. {
  174. e.printStackTrace();
  175. }
  176. }
  177. }
  178.  
  179.  
  180.  
  181. The Sql part now!
  182. find this -> characters.sql
  183.  
  184. -- ---------------------------
  185. -- Table structure for characters
  186. -- ---------------------------
  187. CREATE TABLE IF NOT EXISTS characters (
  188. account_name varchar(45) default NULL,
  189. obj_Id decimal(11,0) NOT NULL default '0',
  190. char_name varchar(35) NOT NULL,
  191. `level` decimal(11,0) default NULL,
  192. maxHp decimal(11,0) default NULL,
  193. curHp decimal(18,0) default NULL,
  194. maxCp decimal(11,0) default NULL,
  195. curCp decimal(18,0) default NULL,
  196. maxMp decimal(11,0) default NULL,
  197. curMp decimal(18,0) default NULL,
  198. acc decimal(11,0) default NULL,
  199. crit decimal(10,0) default NULL,
  200. evasion decimal(11,0) default NULL,
  201. mAtk decimal(11,0) default NULL,
  202. mDef decimal(11,0) default NULL,
  203. mSpd decimal(11,0) default NULL,
  204. pAtk decimal(11,0) default NULL,
  205. pDef decimal(11,0) default NULL,
  206. pSpd decimal(11,0) default NULL,
  207. runSpd decimal(11,0) default NULL,
  208. walkSpd decimal(11,0) default NULL,
  209. str decimal(11,0) default NULL,
  210. con decimal(11,0) default NULL,
  211. dex decimal(11,0) default NULL,
  212. _int decimal(11,0) default NULL,
  213. men decimal(11,0) default NULL,
  214. wit decimal(11,0) default NULL,
  215. face decimal(11,0) default NULL,
  216. hairStyle decimal(11,0) default NULL,
  217. hairColor decimal(11,0) default NULL,
  218. sex decimal(11,0) default NULL,
  219. heading decimal(11,0) default NULL,
  220. x decimal(11,0) default NULL,
  221. y decimal(11,0) default NULL,
  222. z decimal(11,0) default NULL,
  223. movement_multiplier decimal(9,8) default NULL,
  224. attack_speed_multiplier decimal(10,9) default NULL,
  225. colRad decimal(10,3) default NULL,
  226. colHeight decimal(10,3) default NULL,
  227. exp decimal(20,0) default NULL,
  228. expBeforeDeath decimal(20,0) default 0,
  229. sp decimal(11,0) default NULL,
  230. karma decimal(11,0) default NULL,
  231. pvpkills decimal(11,0) default NULL,
  232. pkkills decimal(11,0) default NULL,
  233. clanid decimal(11,0) default NULL,
  234. maxload decimal(11,0) default NULL,
  235. race decimal(11,0) default NULL,
  236. classid decimal(11,0) default NULL,
  237. base_class int(2) NOT NULL default '0',
  238. deletetime decimal(20,0) default NULL,
  239. cancraft decimal(11,0) default NULL,
  240. title varchar(16) default NULL,
  241. rec_have int(3) NOT NULL default '0',
  242. rec_left int(3) NOT NULL default '0',
  243. accesslevel decimal(4,0) default NULL,
  244. online decimal(1,0) default NULL,
  245. onlinetime decimal(20,0) default NULL,
  246. char_slot decimal(1) default NULL,
  247. newbie decimal(1,0) default '1',
  248. lastAccess decimal(20,0) default NULL,
  249. clan_privs INT DEFAULT 0,
  250. wantspeace decimal(1,0) DEFAULT 0,
  251. isin7sdungeon decimal(1,0) NOT NULL default 0,
  252. punish_level TINYINT UNSIGNED NOT NULL DEFAULT 0,
  253. punish_timer INT UNSIGNED NOT NULL DEFAULT 0,
  254. power_grade decimal(11,0) DEFAULT NULL,
  255. nobless decimal(1,0) NOT NULL DEFAULT 0,
  256. subpledge int(1) NOT NULL DEFAULT 0,
  257. last_recom_date decimal(20,0) NOT NULL DEFAULT 0,
  258. lvl_joined_academy int(1) NOT NULL DEFAULT 0,
  259. apprentice int(1) NOT NULL DEFAULT 0,
  260. sponsor int(1) NOT NULL DEFAULT 0,
  261. varka_ketra_ally int(1) NOT NULL DEFAULT 0,
  262. clan_join_expiry_time DECIMAL(20,0) NOT NULL DEFAULT 0,
  263. clan_create_expiry_time DECIMAL(20,0) NOT NULL DEFAULT 0,
  264. death_penalty_level int(2) NOT NULL DEFAULT 0,
  265. + deaths decimal(11,0) default NULL,
  266. PRIMARY KEY (obj_Id),
  267. KEY `clanid` (`clanid`)
  268. ) ;
Advertisement
Add Comment
Please, Sign In to add comment