Jump to content
  • 0

Autovotereward System[L2Jfrozen][Topzone][Help]


Question

Posted

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)

9 answers to this question

Recommended Posts

  • 0
Posted
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...

  • 0
Posted

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();
    }
}

Guest
This topic is now closed to further replies.


×
×
  • 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