Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- go to L2PcInstance.java
- -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=?";
- -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=?";
- +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=?";
- +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=?";
- /** The number of player killed during a PvP (the player killed was PvP Flagged) */
- private int _pvpKills;
- + private int _deaths;
- /**
- * Set the the PvP Kills of the L2PcInstance (Number of player killed during a PvP).<BR><BR>
- */
- public void setPvpKills(int pvpKills)
- {
- _pvpKills = pvpKills;
- }
- + public int getDeaths()
- + {
- + return _deaths;
- + }
- +
- + public void setDeaths(int deaths)
- + {
- + _deaths = deaths;
- + }
- public boolean doDie(L2Character killer)
- {
- // calculate death penalty buff
- calculateDeathPenaltyBuffLevel(killer);
- stopRentPet();
- stopWaterTask();
- + setDeaths(getDeaths() + 1);
- + sendPacket(new UserInfo(this));
- return true;
- }
- -statement = con.prepareStatement( "INSERT INTO characters " + "(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," +
- "movement_multiplier,attack_speed_multiplier,colRad,colHeight," +
- "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," +
- "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," +
- "base_class,newbie,nobless,power_grade,last_recom_date) "
- +statement = con.prepareStatement("INSERT INTO characters " + "(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," +
- "movement_multiplier,attack_speed_multiplier,colRad,colHeight," +
- "exp,sp,karma,pvpkills,pkkills,clanid,maxload,race,classid,deletetime," +
- "cancraft,title,accesslevel,online,isin7sdungeon,clan_privs,wantspeace," +
- "base_class,newbie,nobless,power_grade,last_recom_date,deaths) " +
- statement.setInt(55, isNoble() ? 1 :0);
- + statement.setInt(56, getDeaths());
- statement.setLong(57,System.currentTimeMillis());
- statement.executeUpdate();
- statement.close();
- statement.setLong(56, getDeathPenaltyBuffLevel());
- + statement.setInt(57, getDeaths());
- statement.setInt(58, getObjectId());
- player.setDeathPenaltyBuffLevel(rset.getInt("death_penalty_level"));
- + player.setDeaths(rset.getInt("deaths"));
- Make a new Untitled Text File in net.sf.l2j.gameserver.model.actor.instance
- (full path net.sf.l2j.gameserver.model.actor.instance.L2TopDeathManagerInstance;)
- named L2TopDeathManagerInstance and paste this inside
- package net.sf.l2j.gameserver.model.actor.instance;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import net.sf.l2j.L2DatabaseFactory;
- import net.sf.l2j.gameserver.serverpackets.NpcHtmlMessage;
- import net.sf.l2j.gameserver.templates.L2NpcTemplate;
- import javolution.text.TextBuilder;
- public class L2TopDeathManagerInstance extends L2NpcInstance
- {
- public String filename;
- public L2TopDeathManagerInstance(int objectId, L2NpcTemplate template)
- {
- super(objectId, template);
- }
- @Override
- public void onBypassFeedback(L2PcInstance player, String command)
- {
- if(player == null || player.getLastFolkNPC() == null || player.getLastFolkNPC().getObjectId() != this.getObjectId())
- {
- return;
- }
- if(command.startsWith("TopDeaths"))
- {
- TopDeaths(player);
- }
- }
- @Override
- public void showChatWindow(L2PcInstance player, int val)
- {
- filename = (getHtmlPath(getNpcId(), val));
- NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
- msg.setHtml(TopWindow(player));
- msg.replace("%objectId%", String.valueOf(this.getObjectId()));
- player.sendPacket(msg);
- }
- private String TopWindow(L2PcInstance player)
- {
- TextBuilder tb = new TextBuilder();
- tb.append("<html><title>Top Deaths Manager</title><body>");
- tb.append("<center>");
- tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
- tb.append("<font color=\"999999\">Top 7 Deaths</font><br><br>");
- tb.append("Welcome " + player.getName() + "<br>");
- tb.append("<br>");
- tb.append("<br>");
- tb.append("<tr>");
- tb.append("<td><button value= TopDeaths action=\"bypass -h npc_%objectId%_TopDeaths\" width=70 height=21 back=L2UI.DefaultButton_click fore=L2UI.DefaultButton></td>");
- tb.append("</tr>");
- tb.append("<img src=\"l2ui_ch3.herotower_deco\" width=256 height=32><br>");
- tb.append("</center>");
- tb.append("</body></html>");
- return tb.toString();
- }
- private void TopDeaths(L2PcInstance player)
- {
- Connection con = null;
- try
- {
- con = L2DatabaseFactory.getInstance().getConnection();
- PreparedStatement statement;
- statement = con.prepareStatement("SELECT char_name,deaths FROM characters where accesslevel = 0 order by deaths DESC LIMIT 7;");
- ResultSet rset = statement.executeQuery();
- while(rset.next())
- {
- NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
- TextBuilder sb = new TextBuilder();
- sb.append ("Character: "+rset.getString("char_name")+" ("+rset.getInt("deaths")+" Deaths");
- html.setHtml(sb.toString());
- player.sendPacket(html);
- }
- rset.close();
- statement.close();
- con.close();
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- The Sql part now!
- find this -> characters.sql
- -- ---------------------------
- -- Table structure for characters
- -- ---------------------------
- CREATE TABLE IF NOT EXISTS characters (
- account_name varchar(45) default NULL,
- obj_Id decimal(11,0) NOT NULL default '0',
- char_name varchar(35) NOT NULL,
- `level` decimal(11,0) default NULL,
- maxHp decimal(11,0) default NULL,
- curHp decimal(18,0) default NULL,
- maxCp decimal(11,0) default NULL,
- curCp decimal(18,0) default NULL,
- maxMp decimal(11,0) default NULL,
- curMp decimal(18,0) default NULL,
- acc decimal(11,0) default NULL,
- crit decimal(10,0) default NULL,
- evasion decimal(11,0) default NULL,
- mAtk decimal(11,0) default NULL,
- mDef decimal(11,0) default NULL,
- mSpd decimal(11,0) default NULL,
- pAtk decimal(11,0) default NULL,
- pDef decimal(11,0) default NULL,
- pSpd decimal(11,0) default NULL,
- runSpd decimal(11,0) default NULL,
- walkSpd decimal(11,0) default NULL,
- str decimal(11,0) default NULL,
- con decimal(11,0) default NULL,
- dex decimal(11,0) default NULL,
- _int decimal(11,0) default NULL,
- men decimal(11,0) default NULL,
- wit decimal(11,0) default NULL,
- face decimal(11,0) default NULL,
- hairStyle decimal(11,0) default NULL,
- hairColor decimal(11,0) default NULL,
- sex decimal(11,0) default NULL,
- heading decimal(11,0) default NULL,
- x decimal(11,0) default NULL,
- y decimal(11,0) default NULL,
- z decimal(11,0) default NULL,
- movement_multiplier decimal(9,8) default NULL,
- attack_speed_multiplier decimal(10,9) default NULL,
- colRad decimal(10,3) default NULL,
- colHeight decimal(10,3) default NULL,
- exp decimal(20,0) default NULL,
- expBeforeDeath decimal(20,0) default 0,
- sp decimal(11,0) default NULL,
- karma decimal(11,0) default NULL,
- pvpkills decimal(11,0) default NULL,
- pkkills decimal(11,0) default NULL,
- clanid decimal(11,0) default NULL,
- maxload decimal(11,0) default NULL,
- race decimal(11,0) default NULL,
- classid decimal(11,0) default NULL,
- base_class int(2) NOT NULL default '0',
- deletetime decimal(20,0) default NULL,
- cancraft decimal(11,0) default NULL,
- title varchar(16) default NULL,
- rec_have int(3) NOT NULL default '0',
- rec_left int(3) NOT NULL default '0',
- accesslevel decimal(4,0) default NULL,
- online decimal(1,0) default NULL,
- onlinetime decimal(20,0) default NULL,
- char_slot decimal(1) default NULL,
- newbie decimal(1,0) default '1',
- lastAccess decimal(20,0) default NULL,
- clan_privs INT DEFAULT 0,
- wantspeace decimal(1,0) DEFAULT 0,
- isin7sdungeon decimal(1,0) NOT NULL default 0,
- punish_level TINYINT UNSIGNED NOT NULL DEFAULT 0,
- punish_timer INT UNSIGNED NOT NULL DEFAULT 0,
- power_grade decimal(11,0) DEFAULT NULL,
- nobless decimal(1,0) NOT NULL DEFAULT 0,
- subpledge int(1) NOT NULL DEFAULT 0,
- last_recom_date decimal(20,0) NOT NULL DEFAULT 0,
- lvl_joined_academy int(1) NOT NULL DEFAULT 0,
- apprentice int(1) NOT NULL DEFAULT 0,
- sponsor int(1) NOT NULL DEFAULT 0,
- varka_ketra_ally int(1) NOT NULL DEFAULT 0,
- clan_join_expiry_time DECIMAL(20,0) NOT NULL DEFAULT 0,
- clan_create_expiry_time DECIMAL(20,0) NOT NULL DEFAULT 0,
- death_penalty_level int(2) NOT NULL DEFAULT 0,
- + deaths decimal(11,0) default NULL,
- PRIMARY KEY (obj_Id),
- KEY `clanid` (`clanid`)
- ) ;
Advertisement
Add Comment
Please, Sign In to add comment