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

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

    • You guys just give a damn for visuals only and not the main concept of this! Gj dude! Visuals could be upgraded ofc course but the possibilities are infinite   No more random runtime errors, criticals, fps drops and shits for example, look how smooth it is on 10000 rendered characters
    • this will explain better than words  
    • I would like to emphasize that I am selling the tool used to generate geodata for the client you are developing, not the geodata itself; therefore, I consider the price reasonable. As for your view that the price is high and shows a lack of respect for the customer—that is your own opinion. Thank you. I have also purchased his products, and—just as you said—he is skilled and provides very enthusiastic support. If you feel he is deserving, then you should continue buying from him.
    • Ημουν μικρος οταν τον επαιξα, οριακα δεν ηξερα τι ειναι το Lineage, θυμαμαι πηγαιναμε στα νετ με τους φιλους και προσπαθουσαμε να κανουμε log-in αλλα πολλες φορες δεν μπορουσαμε γιατι ο server ηταν heavy σε load και πολλες φορες προλαβαιναμε να παιξουμε μονο κανα τεταρτακι η εικοσαλεπτο απ την μια ωρα που βαζαμε για να ανοιξουμε pc, ωστοσο εχω πολλες αναμνησεις να βλεπω τους μεγαλυτερους τοτε να παιζουν και εγω να καθομαι διπλα και να χαζευω gameplay, Λιγα πραγματα που ξερω (δεν ξερω αν ισχυουν) ειναι οτι τον σερβερ τον ειχε ανοιξει η αλυσιδα TheWeb, επισης οτι ηταν δυο οι σερβερ, ενας rpg low rate και ενας pvp με higher rates, περα απο αυτο δεν μπορεσα να βρω καμια αλλη χρησιμη πληροφορια, ουτε στα forum του theweb.gr ουτε στo l2.thegame.gr (waybackmachine) οποτε ερχομαι εδω που ειμαι σιγουρος οτι θα υπαρχουν σιγουρα καποιοι που επαιξαν εκει και δεν ηταν οσο πιτσιρικας οσο ημουν εγω που δεν καταλαβαινε τι γινοταν.   Γενικοτερα οποιος ξερει οτιδηποτε για τον thegame ας το πει, ακομη κι ας ειναι μια μικρη ιστορια που ακουσε πριν πολλα χρονια, ακομη κι αν ειναι μια μικρη πληροφορια για κατι που θυμαται μεσα στο παιχνιδι, οπως πως λεγανε τους admins, κανα σκηνικο ιντερνετ καφε και μπουνιδια, οοοοοτι μα οτιδηποτε κι αν ειναι αυτο αρκει να εχει να κανει με τον TheGame   (εννοειται εαν εχετε φωτογραφιες η βιντεο να τα linkαρετε)   μερικες δικες μου αποριες ειναι: απο τι chronicle αρχισε και μεχρι που εφτασε? ποια χρονια ηταν το peak του και σε ποιο chronicle? επισης μεχρι πιο chronicle εξελιχθηκε? γιατι εκλεισε αφου τοτε ηταν στο peak το να πηγαινει ο κοσμος στα ιντερνετ καφε και να παιζει λ2, τι features ειχε σαν σερβερ? επι ποσο ηταν? custom πραγματα κτλπ? η ηταν ενας bone stock server?    να'στε καλα!
    • Yeah... the price for the project at this stage is the kind of disrespect to the customer I was talking about.     As for deMEV, he’s overpriced too, but he’s one of the very few people in the L2 market who is available almost 24/7.
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..