delamis Posted October 9, 2016 Posted October 9, 2016 (edited) Hi there, My vote system wasnt work, so i try to fix it. i find some guides and try this one ; https://goo.gl/JP5Oxf Old codes just error like " toptzone offline or smt " but now gameserver giving error, not working. How can i fix this ? http://tinypic.com/r/n4w2t5/9 L2 Frozen - rev989 Edited October 9, 2016 by delamis
0 SweeTs Posted October 9, 2016 Posted October 9, 2016 (edited) Lcom/l2jfrozen/.. Lcom.. Aaa Edited October 9, 2016 by SweeTs
0 Red-Hair-Shanks Posted October 9, 2016 Posted October 9, 2016 Lcom/l2jfrozen/.. Lcom.. Aaa lazy comment? good morning sweets :P
0 Tessa Posted October 9, 2016 Posted October 9, 2016 Mine working just fine :P His could work too if he put the right package name... :D
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 What you mean guys? That pack was working fine, i just copyed the codes on board. I didnt change codes myself
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 Mine working just fine :P if you dont mind can you share the autovote sources ?
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 i gonna lost my mind. i did a mistake on voterewardhandler so im tryin to change it with old codes, not working. But when i put there old class folder its working. How could this be possible
0 Reborn12 Posted October 9, 2016 Posted October 9, 2016 i gonna lost my mind. i did a mistake on voterewardhandler so im tryin to change it with old codes, not working. But when i put there old class folder its working. How could this be possible Cause you fucked up somethink change the get vote method only
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 This code is default, then i did some mistake on eclipse, so im trying to paste this codes back again but gameserver giving error, not working. But when i put backup autovote.class its goin to work. This is that error again : http://tinypic.com/r/op1jec/9But i did paste old default codes back, why its not working ? package com.l2jfrozen.gameserver.handler; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Set; import java.util.logging.Logger; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.entity.Announcements; import com.l2jfrozen.gameserver.powerpak.PowerPakConfig; import com.l2jfrozen.gameserver.thread.ThreadPoolManager; public class AutoVoteRewardHandler { protected static final Logger _log = Logger.getLogger(AutoVoteRewardHandler.class.getName()); private int hopzoneVotesCount = 0; private int topzoneVotesCount = 0; protected List<String> already_rewarded; protected static boolean topzone = false; protected static boolean hopzone = false; private AutoVoteRewardHandler() { _log.info("Vote Reward System Initiated."); if(hopzone){ int hopzone_votes = getHopZoneVotes(); if(hopzone_votes == -1){ hopzone_votes = 0; } setHopZoneVoteCount(hopzone_votes); } if(topzone){ int topzone_votes = getTopZoneVotes(); if(topzone_votes == -1){ topzone_votes = 0; } setTopZoneVoteCount(topzone_votes); } ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), PowerPakConfig.VOTES_SYSYEM_INITIAL_DELAY, PowerPakConfig.VOTES_SYSYEM_STEP_DELAY); } protected class AutoReward implements Runnable { @Override public void run() { if(hopzone){ int hopzone_votes = getHopZoneVotes(); if(hopzone_votes != -1){ _log.info("[Vote reward] Server Hopzone Votes: " + hopzone_votes); Announcements.getInstance().announceToAll("L2 Elysium votes on hopzone: " + hopzone_votes + " !"); if (hopzone_votes != 0 && hopzone_votes >= getHopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) { already_rewarded = new ArrayList<String>(); Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers(); //Announcements.getInstance().gameAnnounceToAll("[AutoVoteReward] Great Work! Check your inventory for Reward!!"); //L2ItemInstance item; for (L2PcInstance player : pls) { if (player != null && !player.isOffline() && player.isOnline()==1) { if(player._active_boxes<=1 || (player._active_boxes>1 && checkSingleBox(player))){ Set<Integer> items = PowerPakConfig.VOTES_REWARDS_LIST.keySet(); for (Integer i : items) { //item = player.getInventory().getItemByItemId(i); //TODO: check on maxstack for item player.addItem("reward", i, PowerPakConfig.VOTES_REWARDS_LIST.get(i), player, true); } } } } setHopZoneVoteCount(hopzone_votes); } Announcements.getInstance().announceToAll("the next reward will be at " + (getHopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " votes !"); //site web Announcements.getInstance().announceToAll("Vote for us. "+PowerPakConfig.SERVER_WEB_SITE+" !"); } } if(topzone && hopzone && PowerPakConfig.VOTES_SYSYEM_STEP_DELAY>0) try { Thread.sleep(PowerPakConfig.VOTES_SYSYEM_STEP_DELAY/2); } catch(InterruptedException e) { if(Config.ENABLE_ALL_EXCEPTIONS) e.printStackTrace(); } if(topzone){ int topzone_votes = getTopZoneVotes(); if(topzone_votes != -1){ _log.info("[Vote Reward] Server topzone votes: " + topzone_votes); Announcements.getInstance().announceToAll("L2 Elysium TOPZONE Votes: " + topzone_votes + " !"); if (topzone_votes != 0 && topzone_votes >= getTopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) { already_rewarded = new ArrayList<String>(); Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers(); //Announcements.getInstance().gameAnnounceToAll("[AutoVoteReward] Great Work! Check your inventory for Reward!!"); //L2ItemInstance item; for (L2PcInstance player : pls) { if (player != null && !player.isOffline() && player.isOnline()==1) { if(player._active_boxes<=1 || (player._active_boxes>1 && checkSingleBox(player))){ Set<Integer> items = PowerPakConfig.VOTES_REWARDS_LIST.keySet(); for (Integer i : items) { //item = player.getInventory().getItemByItemId(i); //TODO: check on maxstack for item player.addItem("reward", i, PowerPakConfig.VOTES_REWARDS_LIST.get(i), player, true); } } } } setTopZoneVoteCount(topzone_votes); } Announcements.getInstance().announceToAll("The next reward will be at " + (getTopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " votes !"); //site web Announcements.getInstance().announceToAll("Vote for us. "+PowerPakConfig.SERVER_WEB_SITE+" !"); } } } } protected boolean checkSingleBox(L2PcInstance player){ if(player.getClient()!=null && player.getClient().getConnection()!=null && !player.getClient().getConnection().isClosed() && !player.isOffline()){ String playerip = player.getClient().getConnection().getInetAddress().getHostAddress(); if(already_rewarded.contains(playerip)) return false; already_rewarded.add(playerip); return true; } //if no connection (maybe offline shop) dnt reward return false; } protected int getHopZoneVotes() { int votes = -1; URL url = null; URLConnection con = null; InputStream is = null; InputStreamReader isr = null; BufferedReader in = null; try { url = new URL(PowerPakConfig.VOTES_SITE_HOPZONE_URL); con = url.openConnection(); con.addRequestProperty("User-Agent", "Mozilla/4.76"); is = con.getInputStream(); isr = new InputStreamReader(is); in = new BufferedReader(isr); String inputLine; while ((inputLine = in.readLine()) != null) { if (inputLine.contains("rank anonymous tooltip")) { votes = Integer.valueOf(inputLine.split(">")[2].replace("</span", "")); break; } } } catch (Exception e) { _log.info("[Vote Reward] Server HOPZONE is offline or something is wrong in link"); Announcements.getInstance().gameAnnounceToAll("[Vote reward] hopzone seems to be offline. The script will check again till the site is on."); //e.printStackTrace(); } finally { if(in!=null) try { in.close(); } catch(IOException e1) { e1.printStackTrace(); } if(isr!=null) try { isr.close(); } catch(IOException e1) { e1.printStackTrace(); } if(is!=null) try { is.close(); } catch(IOException e1) { e1.printStackTrace(); } } return votes; } protected int getTopZoneVotes() { int votes = -1; URL url = null; URLConnection con = null; InputStream is = null; InputStreamReader isr = null; BufferedReader in = null; try { url = new URL(PowerPakConfig.VOTES_SITE_TOPZONE_URL); con = url.openConnection(); con.addRequestProperty("User-Agent", "Mozilla/4.76"); 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) { _log.info("[Vote reward] Server TOPZONE is offline or something is wrong in link"); Announcements.getInstance().gameAnnounceToAll("[Vote reward] topzone seems to be offline. Please be patient."); //e.printStackTrace(); } finally { if(in!=null) try { in.close(); } catch(IOException e1) { e1.printStackTrace(); } if(isr!=null) try { isr.close(); } catch(IOException e1) { e1.printStackTrace(); } if(is!=null) try { is.close(); } catch(IOException e1) { e1.printStackTrace(); } } return votes; } protected void setHopZoneVoteCount(int voteCount) { hopzoneVotesCount = voteCount; } protected int getHopZoneVoteCount() { return hopzoneVotesCount; } protected void setTopZoneVoteCount(int voteCount) { topzoneVotesCount = voteCount; } protected int getTopZoneVoteCount() { return topzoneVotesCount; } public static AutoVoteRewardHandler getInstance() { if(PowerPakConfig.VOTES_SITE_HOPZONE_URL != null && !PowerPakConfig.VOTES_SITE_HOPZONE_URL.equals("")){ hopzone = true; } if(PowerPakConfig.VOTES_SITE_TOPZONE_URL != null && !PowerPakConfig.VOTES_SITE_TOPZONE_URL.equals("")){ topzone = true; } if(topzone || hopzone) return SingletonHolder._instance; return null; } @SuppressWarnings("synthetic-access") private static class SingletonHolder { protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler(); } }
0 Tryskell Posted October 9, 2016 Posted October 9, 2016 NoSuchMethodError (or Class) comes if you replaced the jar while server was still on ; drop entirely the server, replace the jar, launch the server back. It's the only way to fix it, it's a problem of "method address". I never experienced this issue personally so...
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 NoSuchMethodError (or Class) comes if you replaced the jar while server was still on ; drop entirely the server, replace the jar, launch the server back. It's the only way to fix it, it's a problem of "method address". I never experienced this issue personally so... nope its done when i use old autovote.class, but im compiling it with same default autovote codes. Whats the difference, i cant understand..
0 Tryskell Posted October 9, 2016 Posted October 9, 2016 (edited) .class is a already compiled class, if you use decompiled pack forget it, drop your pack and go download some legit sources. Edited October 9, 2016 by Tryskell
0 delamis Posted October 9, 2016 Author Posted October 9, 2016 yes i did save old .class file before changin codes. its working. Now when i use default codes, still not working. Only that backup working
Question
delamis
Hi there,
My vote system wasnt work, so i try to fix it. i find some guides and try this one ; https://goo.gl/JP5Oxf
Old codes just error like " toptzone offline or smt " but now gameserver giving error, not working. How can i fix this ?
http://tinypic.com/r/n4w2t5/9
L2 Frozen - rev989
Edited by delamis28 answers to this question
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