Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### Eclipse Workspace Patch 1.0
- #P L2J_Server_BETA2
- Index: java/com/l2jserver/gameserver/TopPlayers.java
- ===================================================================
- --- java/com/l2jserver/gameserver/TopPlayers.java (revision 0)
- +++ java/com/l2jserver/gameserver/TopPlayers.java (revision 0)
- @@ -0,0 +1,83 @@
- +package com.l2jserver.gameserver;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +
- +import javolution.text.TextBuilder;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
- +
- +public class TopPlayers
- +{
- + private final TextBuilder _top = new TextBuilder();
- +
- + public TopPlayers(L2PcInstance i)
- + {
- + loadDB(i);
- + }
- +
- + @SuppressWarnings("null")
- + private void loadDB(L2PcInstance i)
- + {
- + String command = "SELECT name,votes FROM famous ORDER BY votes DESC LIMIT 10";
- + Connection con = null;
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement(command);
- +
- + ResultSet result = statement.executeQuery();
- +
- + while (result.next())
- + {
- +
- + addFamous(i, result.getString("name"), result.getInt("votes"));
- +
- + }
- +
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + try
- + {
- + con.close();
- + }
- + catch (Exception e)
- + {
- +
- + }
- + }
- + }
- +
- + public String loadList()
- + {
- + return _top.toString();
- + }
- +
- + private void addFamous(L2PcInstance i, String name, int votes)
- + {
- + String button = "<a action=bypass -h famous " + name + "><font color=LEVEL>Info.</font></a></center>";
- + _top.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=050505 height=19><tr><td FIXWIDTH=5></td>");
- + _top.append("<td FIXWIDTH=50></td>");
- + _top.append("<td FIXWIDTH=50>" + name + ".</td>");
- + _top.append("<td FIXWIDTH=50>" + votes + "</td>");
- + if (i.canVote())
- + {
- + _top.append("<td FIXWIDTH=50>" + button + "</td>");
- + }
- + else
- + {
- + _top.append("<td FIXWIDTH=50>Vote</td>");
- + }
- + _top.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"158\" height=\"1\">");
- + }
- +
- +}
- \ No newline at end of file
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2FamousInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2FamousInstance.java (revision 0)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2FamousInstance.java (revision 0)
- @@ -0,0 +1,164 @@
- +package com.l2jserver.gameserver.model.actor.instance;
- +
- +import java.sql.Connection;
- +import java.sql.PreparedStatement;
- +import java.sql.ResultSet;
- +import java.sql.SQLException;
- +
- +import javolution.text.TextBuilder;
- +
- +import com.l2jserver.L2DatabaseFactory;
- +import com.l2jserver.gameserver.TopPlayers;
- +import com.l2jserver.gameserver.model.L2World;
- +import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
- +import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;
- +
- +/**
- + * @author Marwan
- + * @version 1.0
- + */
- +public class L2FamousInstance extends L2NpcInstance
- +{
- + public L2FamousInstance(int objectId, L2NpcTemplate template)
- + {
- + super(objectId, template);
- + }
- +
- + public static void load()
- + {
- + for (L2PcInstance i : L2World.getInstance().getAllPlayersArray())
- + {
- + i.setVotes(getVotes(i));
- +
- + }
- + }
- +
- +
- + public static int getVotes(L2PcInstance i)
- + {
- + String command = "SELECT votes FROM famous WHERE name=? ";
- + Connection con = null;
- + int votes = 0;
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement(command);
- + statement.setString(1, i.getName());
- + ResultSet result = statement.executeQuery();
- + while (result.next())
- + {
- +
- + votes = result.getInt("votes");
- + }
- +
- + result.close();
- + statement.close();
- + }
- + catch (Exception e)
- + {
- + e.printStackTrace();
- + }
- + finally
- + {
- + try
- + {
- + con.close();
- + }
- + catch (Exception e)
- + {
- +
- + }
- + }
- + return votes;
- + }
- +
- + public void addPlayer(L2PcInstance i)
- + {
- + Connection con = null;
- + try
- + {
- + con = L2DatabaseFactory.getInstance().getConnection();
- +
- + PreparedStatement statement = con.prepareStatement("INSERT INTO famous VALUES (?,?,?)");
- +
- + statement.setString(1, i.getName());
- + statement.setInt(2, 0);
- + statement.setInt(3, 0);
- + statement.execute();
- + statement.close();
- +
- + i.sendMessage("You have been added to the famous list");
- +
- + }
- + catch (Exception e)
- + {
- + }
- + finally
- + {
- +
- + try
- + {
- + con.close();
- + }
- + catch (SQLException e)
- + {
- + // TODO Auto-generated catch block
- + e.printStackTrace();
- + }
- + }
- + }
- +
- + @Override
- + public void onBypassFeedback(L2PcInstance player, String command)
- + {
- + if ((player == null) || (player.getLastFolkNPC() == null) || (player.getLastFolkNPC().getObjectId() != this.getObjectId()))
- + {
- + return;
- + }
- + if (command.startsWith("addme"))
- + {
- + if (player.getPvpKills() == 100)
- + {
- + addPlayer(player);
- + }
- + }
- +
- + if (command.startsWith("viewlist"))
- + {
- + TextBuilder tb = new TextBuilder();
- + tb.append("<html><title>Top 10 Teams</title><body><center><br>");
- + tb.append("<table border=0 cellspacing=0 cellpadding=2 bgcolor=050505 height=19><tr><td FIXWIDTH=5></td>");
- + tb.append("<td FIXWIDTH=50>Name</td>");
- + tb.append("<td FIXWIDTH=50>Votes</td>");
- + tb.append("<td FIXWIDTH=50>Vote</td>");
- + tb.append("</tr></table><img src=\"L2UI.Squaregray\" width=\"158\" height=\"1\">");
- + TopPlayers top = new TopPlayers(player);
- + tb.append(top.loadList());
- + tb.append("</center></body></html");
- + NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
- + msg.setHtml(tb.toString());
- + player.sendPacket(msg);
- +
- + }
- + }
- +
- + @Override
- + public void showChatWindow(L2PcInstance player, int val)
- + {
- + TextBuilder tb = new TextBuilder();
- + tb.append("<html><title>L2Famous Manager</title><body><center><br>");
- + tb.append("Hello <font color=\"LEVEL\">" + player.getName() + "</font><br>Are you looking for challenge?");
- + tb.append("<br><img src=\"l2ui.squaregray\" width=\"270\" height=\"1\"><br>");
- + tb.append("<button value=\"Vote List\" action=\"bypass -h npc_" + this.getObjectId() + "viewlist\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">");
- + tb.append("<button value=\"Add me\" action=\"bypass -h npc_" + this.getObjectId() + "_addme\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\">");
- + tb.append("</center></body></html");
- + NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
- + msg.setHtml(tb.toString());
- + player.sendPacket(msg);
- + }
- +}
- \ No newline at end of file
- Index: java/com/l2jserver/gameserver/GameServer.java
- ===================================================================
- --- java/com/l2jserver/gameserver/GameServer.java (revision 5757)
- +++ java/com/l2jserver/gameserver/GameServer.java (working copy)
- @@ -120,6 +120,7 @@
- import com.l2jserver.gameserver.model.L2World;
- import com.l2jserver.gameserver.model.PartyMatchRoomList;
- import com.l2jserver.gameserver.model.PartyMatchWaitingList;
- +import com.l2jserver.gameserver.model.actor.instance.L2FamousInstance;
- import com.l2jserver.gameserver.model.entity.Hero;
- import com.l2jserver.gameserver.model.entity.TvTManager;
- import com.l2jserver.gameserver.model.olympiad.Olympiad;
- @@ -210,7 +211,7 @@
- MapRegionManager.getInstance();
- Announcements.getInstance();
- GlobalVariablesManager.getInstance();
- -
- + L2FamousInstance.load();
- printSection("Skills");
- EffectHandler.getInstance().executeScript();
- EnchantGroupsData.getInstance();
- Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java
- ===================================================================
- --- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 5757)
- +++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy)
- @@ -880,6 +926,18 @@
- }
- }
- + int votes = 0;
- +
- + public void setVotes(int i)
- + {
- + votes = i;
- + }
- +
- + public int getVotes()
- + {
- + return votes;
- + }
- +
- public void stopPvpRegTask()
- {
- if (_PvPRegTask != null)
- + boolean canVote = false;
- +
- + public void setCanVote(boolean h)
- + {
- + canVote = h;
- + if (!canVote)
- + {
- + ThreadPoolManager.getInstance().scheduleGeneral(new Famous(), 86400000);
- + }
- + }
- +
- + public boolean canVote()
- + {
- + return canVote;
- + }
- +
- + public class Famous implements Runnable
- + {
- + @Override
- + public void run()
- + {
- + setCanVote(true);
- + }
- + }
- +
- private void storeCharBase()
- {
- try (Connection con = L2DatabaseFactory.getInstance().getConnection())
- Index: java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java
- ===================================================================
- --- java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java (revision 5757)
- +++ java/com/l2jserver/gameserver/network/clientpackets/RequestBypassToServer.java (working copy)
- @@ -136,6 +173,535 @@
- {
- comeHere(activeChar);
- }
- +
- + else if (_command.startsWith("famous "))
- + {
- + StringTokenizer st = new StringTokenizer(_command, " ");
- + st.nextToken();
- + String name = st.nextToken();
- + try (Connection con = L2DatabaseFactory.getInstance().getConnection();
- + PreparedStatement statement = con.prepareStatement("UPDATE famous SET votes=? WHERE name=?"))
- + {
- + activeChar.setCanVote(false);
- + statement.setInt(1, activeChar.getVotes() + 1);
- + statement.setString(2, activeChar.getName());
- + statement.execute();
- + }
- + catch (Exception e)
- + {
- + _log.log(Level.SEVERE, "Failed updating character online status.", e);
- + }
- + }
Advertisement
Add Comment
Please, Sign In to add comment