Jump to content
  • 0

Vote System Problem


Question

Posted (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 by delamis

Recommended Posts

  • 0
Posted

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
Posted

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
Posted

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/9

But 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
Posted

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
Posted

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
Posted (edited)

.class is a already compiled class, if you use decompiled pack forget it, drop your pack and go download some legit sources.

Edited by Tryskell
  • 0
Posted

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • Added FloodProtector utility to prevent packet flooding for actions like item use and dice rolling. Integrated flood protection checks in relevant client packet handlers and registered/removal hooks in player lifecycle. Updated movement logic in L2PcInstance for improved position synchronization and geodata handling. Minor fixes and refactoring in attack logic, private store handling, and admin NPC editing. Refactored AI classes to enhance movement, attack, and skill usage logic for characters and mobs. Improved distance checks, attack range calculations, and skill casting conditions. Removed unused intention command logic from L2CharacterAI. Updated configuration to enable CellPathFinding. Minor code cleanups and bug fixes for more reliable AI behavior. Enhanced GeoPathFinding with detailed debug and error messages for region loading, including success/failure counts and file checks. Refactored L2AttackableAI and L2CharacterAI to improve attack range tolerance, immediate attack behavior, and added safety checks for missing targets. Updated configuration to disable CellPathFinding by default and added a new ShowRedName option for aggressive mobs. Minor config and log updates included. Applied TCP socket optimizations (e.g., TCP_NODELAY, buffer sizes, keepalive) in ClientThread, Connection, and SelectorThread to reduce latency and improve throughput. Enhanced L2AttackableAI with better random walk, aggro, and attack logic, including silent move checks, quest monster handling, and improved faction/raid/minion behavior. Added silent move support to L2PlayableInstance and quest monster flag to L2NpcTemplate/L2NpcInstance. These changes aim to improve server responsiveness, AI realism, and overall stability.
    • I’ve been using this Escape from Tarkov Hack for about a week now with no issues at all. ESP works great without any lag, and the aimbot is smooth and doesn't feel obvious. Had a quick setup with the loader, and support answered my questions right away. The HWID spoofer also did its job without messing with my system. So far, the cheat's staying undetected on my side.
    • Hello everyone, this is ADENA L2REBORN / LU4 / MASTERWORK We also have items, epics, etc. discord - adver745645 Our prices are reasonable, so have a nice shopping and a nice day.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock