Jump to content
  • 0

Autovotereward System[L2Jfrozen][Topzone][Help]


CorruptedEmperor

Question

Hey i have an issue with making Topzone vote reward system to work,it doesn't wanna work with any way!

 

I tried those "fixes"

 

http://www.maxcheaters.com/topic/180107-auto-vote-reward/

 

http://www.maxcheaters.com/topic/167883-%CF%80%CF%89%CF%82-%CE%BD%CE%B1-%CF%86%CF%84%CE%B9%CE%AC%CE%BE%CE%B5%CF%84%CE%B5-%CF%84%CE%BF-new-topzone-vote-reward-%CE%BDewbies-guide/page-2?hl=%20vote%20%20system

 

And it's not working...

 

Maybe it's the code i add on powerpak? "VotesSiteTopZoneUrl=http://l2topzone.com/lineage2/server-info/10536/ReLaXx1200.html" (Link is random found in topzone)

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
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()
		{
			int minutes = (PowerPakConfig.VOTES_SYSYEM_STEP_DELAY/1000)/60;
			
			if(hopzone){
				int hopzone_votes = getHopZoneVotes();
				
				if(hopzone_votes != -1){
					_log.info("[AutoVoteReward] Server HOPZONE Votes: " + hopzone_votes);
					Announcements.getInstance().gameAnnounceToAll("Actual HOPZONE Votes are " + 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("Great Work!All L2Magic online players are rewarded!");
						
						//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().gameAnnounceToAll("Next Reward at " + (getHopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " Votes!!");
					//site web
					Announcements.getInstance().gameAnnounceToAll("Website: "+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("[AutoVoteReward] Server TOPZONE Votes: " + topzone_votes);
					Announcements.getInstance().gameAnnounceToAll("Actual TOPZONE Votes are " + 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("Great Work!All L2Magic online players are rewarded!");
						
						//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().gameAnnounceToAll("Next Reward at " + (getTopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " Votes!!");
					//site web
					Announcements.getInstance().gameAnnounceToAll("WebSite: "+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", "L2TopZone");
			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("HOPZONE is offline or something is wrong in link");
			Announcements.getInstance().gameAnnounceToAll("HOPZONE is offline. We will check the reward as soon as it will be online");
			//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("[AutoVoteReward] Server TOPZONE is offline or something is wrong in link");
			Announcements.getInstance().gameAnnounceToAll("TOPZONE is offline. We will check the reward as soon as it will be online");
			//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();
	}
}

Here is my .java can you see what's wrong? Hopzone is working Fine,appearing In-Game etc... Topzone is not appearing...

Link to comment
Share on other sites

  • 0

try dat

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 Started.");
        
        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()
        {
            int minutes = (PowerPakConfig.VOTES_SYSYEM_STEP_DELAY/1000)/60;
            
            if(hopzone){
                int hopzone_votes = getHopZoneVotes();
                
                if(hopzone_votes != -1){
                    _log.info("[AutoVoteReward] Server HOPZONE Votes: " + hopzone_votes);
                    Announcements.getInstance().gameAnnounceToAll("Actual HOPZONE Votes are " + 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("Great Work!All online players are rewarded!");
                        
                        //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().gameAnnounceToAll("Next Reward at " + (getHopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " Votes!!");
                    //site web
                    Announcements.getInstance().gameAnnounceToAll("Website: "+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("[AutoVoteReward] Server TOPZONE Votes: " + topzone_votes);
                    Announcements.getInstance().gameAnnounceToAll("Actual TOPZONE Votes are " + 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("Great Work!All online players are rewarded!");
                        
                        //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().gameAnnounceToAll("Next Reward at " + (getTopZoneVoteCount() + PowerPakConfig.VOTES_FOR_REWARD) + " Votes!!");
                    //site web
                    Announcements.getInstance().gameAnnounceToAll("WebSite: "+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("HOPZONE is offline with link or smth");
            Announcements.getInstance().gameAnnounceToAll("HOPZONE is offline. We will check the reward as soon as it will be online");
            //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", "L2TopZone");
            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("[AutoVoteReward] TOPZONE is offline with link or smth");
            Announcements.getInstance().gameAnnounceToAll("TOPZONE is offline. We will check the reward as soon as it will be online");
            //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();
    }
}

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.


×
×
  • Create New...