iAlreadyExist Posted March 19, 2015 Posted March 19, 2015 (edited) hello there can u make this code check works for hopzone /* * This program is free software: you can redistribute it and/or modify it under * the terms of the GNU General Public License as published by the Free Software * Foundation, either version 3 of the License, or (at your option) any later * version. * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * You should have received a copy of the GNU General Public License along with * this program. If not, see <http://www.gnu.org/licenses/>. */ package Extensions.Vote; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.logging.Level; import java.util.logging.Logger; import Extensions.Vote.Tasks.MonthlyResetTask; import Extensions.Vote.Tasks.TriesResetTask; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.thread.ThreadPoolManager; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.util.database.L2DatabaseFactory; public class VoteManager { protected static final Logger _log = Logger.getLogger(VoteManager.class.getName()); private static boolean hasVotedHop; private static boolean hasVotedTop; public VoteManager() { } public static void load() { _log.log(Level.INFO, "VoteManager: initialized."); TriesResetTask.getInstance(); MonthlyResetTask.getInstance(); } protected static int getHopZoneVotes() { int votes = -1; String Hopzonelink = Config.VOTE_LINK_HOPZONE; InputStreamReader isr = null; BufferedReader br = null; try { URLConnection con = new URL(Hopzonelink).openConnection(); con.addRequestProperty("User-Agent", "Mozilla/4.76"); isr = new InputStreamReader(con.getInputStream()); br = new BufferedReader(isr); String line; while ((line = br.readLine()) != null) { if (line.contains("rank anonymous tooltip")) { votes = Integer.valueOf(line.split(">")[2].replace("</span", "")); break; } } br.close(); isr.close(); } catch (Exception e) { if (Config.DEVELOPER) { e.printStackTrace(); } } return votes; } protected static int getTopZoneVotes() { int votes = -1; URL url = null; URLConnection con = null; InputStream is = null; InputStreamReader isr = null; BufferedReader in = null; try { url = new URL(Config.VOTE_LINK_TOPZONE); con = url.openConnection(); con.addRequestProperty("User-Agent", "L2TopZone"); is = con.getInputStream(); isr = new InputStreamReader(is); in = new BufferedReader(isr); String inputLine; while ((inputLine = in.readLine()) != null) { if (inputLine.contains("Votes")) { String votesLine = inputLine; votes = Integer.valueOf(votesLine.split(">")[3].replace("</div", "")); break; } } } catch (Exception e) { if (Config.DEVELOPER) { e.printStackTrace(); } } return votes; } public static String hopCd(L2PcInstance player) { long hopCdMs = 0; long voteDelay = 43200000L; PreparedStatement statement = null; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { hopCdMs = rset.getLong("lastVoteHopzone"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); Date resultdate = new Date(hopCdMs + voteDelay); return sdf.format(resultdate); } public static String topCd(L2PcInstance player) { long topCdMs = 0; long voteDelay = 43200000L; PreparedStatement statement = null; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { topCdMs = rset.getLong("lastVoteTopzone"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } SimpleDateFormat sdf = new SimpleDateFormat("MMM dd,yyyy HH:mm"); Date resultdate = new Date(topCdMs + voteDelay); return sdf.format(resultdate); } public static String whosVoting() { for (L2PcInstance voter : L2World.getInstance().getAllPlayers()) { if (voter.isVoting()) { return voter.getName(); } } return "None"; } public static void hopvote(final L2PcInstance player) { long lastVoteHopzone = 0L; long voteDelay = 43200000L; final int firstvoteshop; firstvoteshop = getHopZoneVotes(); class hopvotetask implements Runnable { private final L2PcInstance p; public hopvotetask(L2PcInstance player) { p = player; } @Override public void run() { if (firstvoteshop < getHopZoneVotes()) { p.setIsVoting(false); p.setIsImobilised(false); VoteManager.setHasVotedHop(player); p.sendMessage("Thank you for voting for us!"); VoteManager.updateLastVoteHopzone(p); VoteManager.updateVotes(p); } else { p.setIsVoting(false); p.setIsImobilised(false); p.sendMessage("You did not vote.Please try again."); VoteManager.setTries(player, VoteManager.getTries(p) - 1); } } } PreparedStatement statement = null; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT lastVoteHopzone FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { lastVoteHopzone = rset.getLong("lastVoteHopzone"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } if (getTries(player) <= 0) { player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today"); } else if (((lastVoteHopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0)) { for (L2PcInstance j : L2World.getInstance().getAllPlayers()) { if (j.isVoting()) { player.sendMessage("Someone is already voting.Wait for your turn please!"); return; } } player.setIsVoting(true); player.setIsImobilised(true); player.sendMessage("Go fast on the site and vote on the hopzone banner!"); player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!"); ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000); } else if ((getTries(player) <= 0) && ((lastVoteHopzone + voteDelay) < System.currentTimeMillis())) { for (L2PcInstance j : L2World.getInstance().getAllPlayers()) { if (j.isVoting()) { player.sendMessage("Someone is already voting.Wait for your turn please!"); return; } } player.setIsVoting(true); player.setIsImobilised(true); player.sendMessage("Go fast on the site and vote on the hopzone banner!"); player.sendMessage("You have " + Config.SECS_TO_VOTE + " seconds.Hurry!"); ThreadPoolManager.getInstance().scheduleGeneral(new hopvotetask(player), Config.SECS_TO_VOTE * 1000); } else { player.sendMessage("12 hours have to pass till you are able to vote again."); } } public static void topvote(final L2PcInstance player) { long lastVoteTopzone = 0L; long voteDelay = 43200000L; final int firstvotestop; firstvotestop = getTopZoneVotes(); class topvotetask implements Runnable { private final L2PcInstance p; public topvotetask(L2PcInstance player) { p = player; } @Override public void run() { if (firstvotestop < getTopZoneVotes()) { p.setIsVoting(false); p.setIsImobilised(false); VoteManager.setHasVotedTop(p); p.sendMessage("Thank you for voting for us!"); VoteManager.updateLastVoteTopzone(p); VoteManager.updateVotes(p); } else { p.setIsVoting(false); p.setIsImobilised(false); p.sendMessage("You did not vote.Please try again."); VoteManager.setTries(p, VoteManager.getTries(p) - 1); } } } PreparedStatement statement = null; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); statement = con.prepareStatement("SELECT lastVoteTopzone FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { lastVoteTopzone = rset.getLong("lastVoteTopzone"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } if (getTries(player) <= 0) { player.sendMessage("Due to your multiple failures in voting you lost your chance to vote today"); } else if ((getTries(player) <= 0) && ((lastVoteTopzone + voteDelay) < System.currentTimeMillis())) { for (L2PcInstance j : L2World.getInstance().getAllPlayers()) { if (j.isVoting()) { player.sendMessage("Someone is already voting.Wait for your turn please!"); return; } } player.setIsVoting(true); player.setIsImobilised(true); player.sendMessage("Go fast on the site and vote on the topzone banner!"); player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString()); ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000); } else if (((lastVoteTopzone + voteDelay) < System.currentTimeMillis()) && (getTries(player) > 0)) { for (L2PcInstance j : L2World.getInstance().getAllPlayers()) { if (j.isVoting()) { player.sendMessage("Someone is already voting.Wait for your turn please!"); return; } } player.setIsVoting(true); player.setIsImobilised(true); player.sendMessage("Go fast on the site and vote on the topzone banner!"); player.sendMessage((new StringBuilder()).append("You have ").append(Config.SECS_TO_VOTE).append(" seconds.Hurry!").toString()); ThreadPoolManager.getInstance().scheduleGeneral(new topvotetask(player), Config.SECS_TO_VOTE * 1000); } else { player.sendMessage("12 hours have to pass till you are able to vote again."); } } public static void hasVotedHop(L2PcInstance player) { int hasVotedHop = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT hasVotedHop FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { hasVotedHop = rset.getInt("hasVotedHop"); } if (hasVotedHop == 1) { setHasVotedHop(true); } else if (hasVotedHop == 0) { setHasVotedHop(false); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void hasVotedTop(L2PcInstance player) { int hasVotedTop = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT hasVotedTop FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); ResultSet rset = statement.executeQuery(); while (rset.next()) { hasVotedTop = rset.getInt("hasVotedTop"); } if (hasVotedTop == 1) { setHasVotedTop(true); } else if (hasVotedTop == 0) { setHasVotedTop(false); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void updateVotes(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET monthVotes=?, totalVotes=? WHERE obj_Id=?"); statement.setInt(1, getMonthVotes(activeChar) + 1); statement.setInt(2, getTotalVotes(activeChar) + 1); statement.setInt(3, activeChar.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void setHasVotedHop(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE obj_Id=?"); statement.setInt(1, 1); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void setHasVotedTop(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE obj_Id=?"); statement.setInt(1, 1); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void setHasNotVotedHop(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedHop=? WHERE obj_Id=?"); statement.setInt(1, 0); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void setHasNotVotedTop(L2PcInstance activeChar) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET hasVotedTop=? WHERE obj_Id=?"); statement.setInt(1, 0); statement.setInt(2, activeChar.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static int getTries(L2PcInstance player) { int tries = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT tries FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); for (ResultSet rset = statement.executeQuery(); rset.next();) { tries = rset.getInt("tries"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } return tries; } public static void setTries(L2PcInstance player, int tries) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET tries=? WHERE obj_Id=?"); statement.setInt(1, tries); statement.setInt(2, player.getObjectId()); statement.execute(); statement.close(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static int getMonthVotes(L2PcInstance player) { int monthVotes = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT monthVotes FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); for (ResultSet rset = statement.executeQuery(); rset.next();) { monthVotes = rset.getInt("monthVotes"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } return monthVotes; } public static int getTotalVotes(L2PcInstance player) { int totalVotes = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT totalVotes FROM characters WHERE obj_Id=?"); statement.setInt(1, player.getObjectId()); for (ResultSet rset = statement.executeQuery(); rset.next();) { totalVotes = rset.getInt("totalVotes"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } return totalVotes; } public static int getBigTotalVotes(L2PcInstance player) { int bigTotalVotes = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT SUM(totalVotes) FROM characters"); for (ResultSet rset = statement.executeQuery(); rset.next();) { bigTotalVotes = rset.getInt("SUM(totalVotes)"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } return bigTotalVotes; } public static int getBigMonthVotes(L2PcInstance player) { int bigMonthVotes = -1; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT SUM(monthVotes) FROM characters"); for (ResultSet rset = statement.executeQuery(); rset.next();) { bigMonthVotes = rset.getInt("SUM(monthVotes)"); } } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } return bigMonthVotes; } public static void updateLastVoteHopzone(L2PcInstance player) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteHopzone=? WHERE obj_Id=?"); statement.setLong(1, System.currentTimeMillis()); statement.setInt(2, player.getObjectId()); statement.execute(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } public static void updateLastVoteTopzone(L2PcInstance player) { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE characters SET lastVoteTopzone=? WHERE obj_Id=?"); statement.setLong(1, System.currentTimeMillis()); statement.setInt(2, player.getObjectId()); statement.execute(); } catch (Exception e) { _log.warning(" "); } finally { try { if (con != null) con.close(); } catch (SQLException e) { _log.warning("Failed to close database connection!"); } } } // Getters and Setters public static boolean hasVotedHop() { return hasVotedHop; } public static void setHasVotedHop(boolean hasVotedHop) { VoteManager.hasVotedHop = hasVotedHop; } public static boolean hasVotedTop() { return hasVotedTop; } public static void setHasVotedTop(boolean hasVotedTop) { VoteManager.hasVotedTop = hasVotedTop; } } Edited March 19, 2015 by haskovo
0 te0x Posted March 19, 2015 Posted March 19, 2015 avoid such topics. provide more informations :O what more u need? asking for a working hopzone vote reading(individual vote manager)
0 Nightw0lf Posted March 19, 2015 Posted March 19, 2015 i dont know where you find this code but l2jhellas one used to work the fix is here https://www.assembla.com/code/l2hellas/subversion/commit/504 the rest is here https://www.assembla.com/code/l2hellas/subversion/nodes/505/trunk/L2JHellasC/java/Extensions/Vote
0 te0x Posted March 19, 2015 Posted March 19, 2015 i dont know where you find this code but l2jhellas one used to work the fix is here https://www.assembla.com/code/l2hellas/subversion/commit/504 the rest is here https://www.assembla.com/code/l2hellas/subversion/nodes/505/trunk/L2JHellasC/java/Extensions/Vote it doesnt work for the individual vote manager.
0 Nightw0lf Posted March 19, 2015 Posted March 19, 2015 thats the vortex npc from elfocrash? if yes you have to redesign it a little to work maybe ask him but i dont know if he still supports it, or you can buy from the market from sweets he have a good code but i dont know if he will install it on the npc you dont know if you dont ask ofc :)
0 SweeTs Posted March 19, 2015 Posted March 19, 2015 thats the vortex npc from elfocrash? if yes you have to redesign it a little to work maybe ask him but i dont know if he still supports it, or you can buy from the market from sweets he have a good code but i dont know if he will install it on the npc you dont know if you dont ask ofc :) It is actually :P
0 te0x Posted March 19, 2015 Posted March 19, 2015 replace the hopzone with the Network best choice xD http://www.maxcheaters.com/topic/184973-individual-vote-manager/
0 Nightw0lf Posted March 20, 2015 Posted March 20, 2015 network is a copy paste lol i would count more on http://www.topbrasil100.com.br/instead of a copy of a copy...
0 te0x Posted March 20, 2015 Posted March 20, 2015 network is a copy paste lol i would count more on http://www.topbrasil100.com.br/instead of a copy of a copy... network is going really good as i know and they are saying is the feature since the hopzone is dying. also as i saw they are partners with mxc so why not xD
0 Nightw0lf Posted March 20, 2015 Posted March 20, 2015 you propably want to say future not feature :P and i disagree 101% sorry :D
0 te0x Posted March 20, 2015 Posted March 20, 2015 you propably want to say future not feature :P and i disagree 101% sorry :D op yes future ^^ my english is bad xD
0 StealthyS4m Posted March 20, 2015 Posted March 20, 2015 Try to take a look here: http://www.maxcheaters.com/topic/190422-voting-rewardhopzonetopzone/
0 iAlreadyExist Posted March 21, 2015 Author Posted March 21, 2015 (edited) Try to take a look here: http://www.maxcheaters.com/topic/190422-voting-rewardhopzonetopzone/ yeap but i cant adapt it to work for my server :C i dont understand you put codes but dont say where to put it its so confusing if you can help me with this where i give Edited March 21, 2015 by haskovo
0 disorder25 Posted April 27, 2015 Posted April 27, 2015 anyone have the fix for vortex engine to read hopzone votes?
Question
iAlreadyExist
hello there can u make this code check works for hopzone
Edited by haskovo20 answers to this question
Recommended Posts