marcose Posted July 12, 2012 Posted July 12, 2012 Hello everyone, here I make a vote system for a firend but him dont want to use it anymore then I will share here. Support these sites: http://l2.hopzone.net/ http://l2topzone.com/ http://www.gtop100.com/ IMPORTANT - Test it. - I dont help to adapt it. - Missing: No config file, just the core. - Dont share it anywhere whitout credits (Like here http://adminsprol2.com/ total dumbasses). - I chose 300 post also the pepole contribute more in maxcheaters and make happy maxtor :P and prevent noobs reshare whitout credits (So, dont share it or quote me in the topic). /* * 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 com.l2jserver.gameserver.handler; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import com.l2jserver.gameserver.Announcements; import com.l2jserver.gameserver.ThreadPoolManager; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; /** * @author OPhE */ public class AutoVoteRewardHandler { private static int _minForStart = 5; private static int _minForPool = 5; private static String _Url = ""; int[][] _items = {{1111, 2}, {8888,7}}; // {{ITEM ID, QUANTY}, {ITEM ID, QUANTY}} /* DONT TOUCH FROM HERE IF YOU DONT KNOW WHAT ARE YOU DOING */ int votesForReward = 10; int lastVotes = 0; int currentVotes = 0; int _operation = 0; public static AutoVoteRewardHandler getInstance() { return SingletonHolder._instance; } public AutoVoteRewardHandler() { lastVotes = getVotes(); ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new Runnable() { @Override public void run() { currentVotes = getVotes(); _operation = currentVotes - lastVotes; if(_operation >= votesForReward) { int i = _operation; for(L2PcInstance pc : L2World.getInstance().getAllPlayersArray()) for(int item[] : _items) pc.addItem("votereward", item[0], item[1] * i - (i % 1), pc, true); if(i - (i % 1) > 1) Announcements.getInstance().announceToAll("All players rewared " + (i - (i % 1)) + " times by vote system"); else Announcements.getInstance().announceToAll("All players rewared by vote system"); } else Announcements.getInstance().announceToAll("We need " + _operation + " votes more for reward all players."); } }, _minForStart * 60000, _minForPool * 60000); } public static int getVotes() { String data1 = null; int data2 = 0; if(_Url.startsWith("http://l2.hopzone.net/")) data1= "<li><span class=\"rank anonymous tooltip\" title=\"Anonymous User Votes\">"; else if(_Url.startsWith("http://l2topzone.com/")) data1 = "<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\">"; else if(_Url.startsWith("http://www.gtop100.com/")) { DateFormat dateFormat = new SimpleDateFormat("yyyy-M-d"); Date date = new Date(); data1 = "<div class=\"barhcaption\" style=\"line-height:17px; width:90px;\">"+ dateFormat.format(date) +"</div>"; data2 = 2; } if(data1 != null) try { URL url = new URL(_Url); try { URLConnection connection = url.openConnection(); connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401"); BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; boolean onix = false; int io = 0; while((line = in.readLine()) != null) { if(line.contains(data1)) onix = true; if(onix) { if(io >= data2) return Integer.parseInt(line.replaceAll("\\<.*?\\>", "").trim()); io++; } } } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } return 0; } private static class SingletonHolder { protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler(); } } To start it call: AutoVoteRewardHandler.getInstance(); Credits: Me (OPhE) I used these info to make it: - http://docs.oracle.com/javase/1.4.2/docs/api/java/net/URL.html - http://discuss.itacumens.com/index.php?topic=44801.0 - http://stackoverflow.com/questions/2793150/how-to-use-java-net-urlconnection-to-fire-and-handle-http-requests
™® Stergios ®™ Posted July 15, 2012 Posted July 15, 2012 Need a fix . : "else if(_Url.startsWith("http://www.gtop100.com/"))" By setting startsWith and then http://www.gtop...... Is a terrible mistake, If the user will use www.gtop .... or http://gtop100..... will be false. So its better to do it . : "else if(_Url.contains("gtop100.com"))"
seven2099 Posted July 16, 2012 Posted July 16, 2012 great stuff man i just had a few questions but i guess this is old no?
marcose Posted July 17, 2012 Author Posted July 17, 2012 Need a fix . : "else if(_Url.startsWith("http://www.gtop100.com/"))" By setting startsWith and then http://www.gtop...... Is a terrible mistake, If the user will use www.gtop .... or http://gtop100..... will be false. So its better to do it . : "else if(_Url.contains("gtop100.com"))" Please be informed before post: http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#startsWith%28java.lang.String%29 String object as determined by the equals(Object) method.
marcose Posted July 18, 2012 Author Posted July 18, 2012 great stuff man i just had a few questions but i guess this is old no? SPAM! minimum 300 post to see this
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