Mhoska Posted October 31, 2011 Posted October 31, 2011 this doesnt work anymore after the whole hopzone change.
Mhoska Posted November 1, 2011 Posted November 1, 2011 tested and working on HI5 L2J Revision 5051 wtf r u talking about. + //for hopzone + if (inputLine.contains("moreinfo_total_rank_text")) + return Integer.valueOf(inputLine.split(">")[2].replace("</div", "")) :/ the whole hopzone web change and the template this doesnt work anymore :)
Fiou Posted November 1, 2011 Posted November 1, 2011 man i install it without error..but it doesnt say "1 vote has the server"when someone vote and say everytime 0 votes :S lol why?
Mhoska Posted November 1, 2011 Posted November 1, 2011 man i install it without error..but it doesnt say "1 vote has the server"when someone vote and say everytime 0 votes :S lol why? beacuse need to be rework and the last post made by the creator of the script was on agust 31. I think a mod should close this topic :D
cutitarii Posted January 14, 2012 Posted January 14, 2012 i need some help!!! who give me one tutorial for install this java on my server :( i have L2Jserver with Eclipse... and not working java with my tutorial... so bad my english
Luigiiiik Posted March 16, 2012 Posted March 16, 2012 I tested on my server, it works perfectly, thanks for sharing ! 8)
l22expert Posted March 21, 2012 Posted March 21, 2012 man i install it without error..but it doesnt say "1 vote has the server"when someone vote and say everytime 0 votes :S lol why? i have same problem compile all good but make vote and say 0 in announce how fix the server is topzone i try and two links but same problem vote 0 say
l22expert Posted March 26, 2012 Posted March 26, 2012 sorry fort bublre post but + // for top-zone + //if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\""))Should we put link on vote here #018BC1;\"here put nothing"))?
l22expert Posted April 17, 2012 Posted April 17, 2012 Try with this. This is with Razield "hack" for Hopzone.. AutoVoteRewardManager.java package com.l2jserver.gameserver.instancemanager; import java.io.BufferedReader; import java.io.IOException; 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.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.Config; import com.l2jserver.L2DatabaseFactory; import com.l2jserver.gameserver.Announcements; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; public class AutoVoteRewardManager { private static Logger _log = Logger.getLogger(AutoVoteRewardManager.class.getName()); private static final String http = "http://l2.hopzone.net/lineage2/moreinfo/L2Empire/88729.html"; private static final int initialCheck = 1 * 1000; private static final int delayForCheck = 900 * 1000; private static final int[] itemId = { 14721, 3794 }; private static final int[] itemCount = { 50, 250 }; private static final int votesRequiredForReward = 30; private static List<String> _ips = new ArrayList<String>(); private static int lastVoteCount = 0; private AutoVoteRewardManager() { _log.info("AutoVoteRewardManager: Vote reward system initiated."); if (Config.L2JMOD_VOTE_ENGINE_SAVE) load(); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck); } private class AutoReward implements Runnable { public void run() { int votes = getVotes(); _log.info("AutoVoteRewardManager: We now have " + votes + "/"+(getLastVoteCount()+votesRequiredForReward)+" vote(s). Next check in "+(delayForCheck/1000)+" sec."); Announcements.getInstance().announceToAll("Vote on http://l2.gamesempire.ro/"); if (votes >= getLastVoteCount() + votesRequiredForReward) { Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values(); { for (L2PcInstance onlinePlayer : pls) { if (onlinePlayer.isOnline() && !onlinePlayer.getClient().isDetached() && !_ips.contains(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress())) { for (int i = 0; i < itemId.length; i++) { onlinePlayer.addItem("vote_reward", itemId[i], itemCount[i], onlinePlayer, true); } _ips.add(onlinePlayer.getClient().getConnection().getInetAddress().getHostAddress()); } } } _log.info("AutoVoteRewardManager: Reward for votes now!"); Announcements.getInstance().announceToAll("Reward for players! Thanks for Vote."); setLastVoteCount(getLastVoteCount() + votesRequiredForReward); } if (getLastVoteCount() == 0) { setLastVoteCount(votes); } else if ((getLastVoteCount() + votesRequiredForReward) - votes > votesRequiredForReward || votes > (getLastVoteCount() + votesRequiredForReward)) { setLastVoteCount(votes); } Announcements.getInstance().announceToAll("We have " + votes + " vote(s). Next reward on " + (getLastVoteCount()+votesRequiredForReward) + " vote."); _ips.clear(); } } private int getVotes() { URL url = null; InputStreamReader isr = null; BufferedReader in = null; try { url = new URL(http); URLConnection con = url.openConnection(); con.addRequestProperty("User-Agent", "Mozilla/4.76"); isr = new InputStreamReader(con.getInputStream()); in = new BufferedReader(isr); String inputLine; while ((inputLine = in.readLine()) != null) { // for top-zone //if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\"")) //{ //return Integer.valueOf(inputLine.split(">")[5].replace("</font", "")); //} //for hopzone if (inputLine.contains("moreinfo_total_rank_text")) return Integer.valueOf(inputLine.split(">")[2].replace("</div", "")); } } catch (IOException e) { _log.warning("AutoVoteRewardHandler: "+e); } finally { try { in.close(); } catch (IOException e) {} try { isr.close(); } catch (IOException e) {} } return 0; } private void setLastVoteCount(int voteCount) { lastVoteCount = voteCount; } private int getLastVoteCount() { return lastVoteCount; } private void load() { int votes = 0; Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("SELECT vote FROM votes LIMIT 1"); ResultSet rset = statement.executeQuery(); while (rset.next()) { votes = rset.getInt("vote"); } rset.close(); statement.close(); } catch (Exception e) { _log.log(Level.WARNING, "data error on vote: ", e); } finally { L2DatabaseFactory.close(con); } setLastVoteCount(votes); } public void save() { Connection con = null; try { con = L2DatabaseFactory.getInstance().getConnection(); PreparedStatement statement = con.prepareStatement("UPDATE votes SET vote = ? WHERE id=1"); statement.setInt(1, getLastVoteCount()); statement.execute(); statement.close(); } catch (Exception e) { _log.log(Level.WARNING, "data error on vote: ", e); } finally { L2DatabaseFactory.close(con); } } public static AutoVoteRewardManager getInstance() { return SingletonHolder._instance; } @SuppressWarnings("synthetic-access") private static class SingletonHolder { protected static final AutoVoteRewardManager _instance = new AutoVoteRewardManager(); } } i try this for topzone and dont work make vote and say 0 vote next reward 15
RedmanFTW Posted April 17, 2012 Posted April 17, 2012 triple post for nothing..you cannot modify your previus post l22expert?
ZaNteR Posted January 22, 2013 Posted January 22, 2013 Still works on latest H5 BETA. But you must fix the code for hopzone, i would share mine but i lost all my files recently. As soon as i fix my pc i will share the working code.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now