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.


  • Posts

    • Dear SocNet users! We would like to present you with the current list of promotions and special offers for purchasing products and services of our platform: 1. Promo code SEPTEMBER2025 (10% discount) for purchases in our store (Website, bot) in September! You can also use the promo code for your first purchase: SOCNET (15% discount) 2. Get $1 credited to your store balance or a 10-20% discount, just write your username after registering on our website using the following template: "SEND ME BONUS, MY USERNAME IS..." – you need to post it in our forum thread! 3. Get $1 for your first trial run of the SMM Panel: just open a ticket with the subject “Get Trial Bonus” on our website (Support). 4. Weekly giveaways of Telegram Stars in our Telegram channel and in our bot for purchasing stars! Current links: Digital goods store (Website): Go Telegram bot for purchasing Telegram Stars: Go SMM Panel: Go – promotion of your social media accounts. Store Telegram bot: Go News resources: Telegram channel: https://t.me/accsforyou_shop WhatsApp channel: https://whatsapp.com/channel/0029Vau0CMX002TGkD4uHa2n Discord server: https://discord.gg/y9AStFFsrh We are actively seeking suppliers for the following product categories: — Snapchat old and new accounts | With snapscores | Geo: Europe/USA | Full access via email/phone number — Reddit old accounts (brute or hacked origin, self-registered) with post and comment karma from 100 to 100,000+ | Full access with email included — LinkedIn old accounts with real connections | Geo: Europe/USA | Full access via email + active 2FA password — Instagram old accounts (2010-2023) | Full access via email (possibly with active 2FA password) — Facebook old accounts (2010-2023) | Full access via email (possibly with active 2FA password) | With or without friends | Geo: Europe/USA/Asia — Threads accounts | Full access via email (possibly with active 2FA password) — TikTok/Facebook/Google ADS Agency advertising accounts Contact us at the details below — let’s discuss the terms! We are always open to other partnership offers as well. Contacts and support: Telegram: https://t.me/socnet_support  WhatsApp: https://wa.me/79051904467 Discord: socnet_support Email: solomonbog@socnet.store Through these contacts you can also: — get consultation on wholesale purchases — establish a partnership (current partners: https://socnet.bgng.io/partners ) — become our supplier  
    • Again? 🙂 What happen tell us amm curious.   
    • Be careful, he's a thief. Be careful, he's a thief. Be careful, he's a thief. Be careful, he's a thief.
    • I did changed it , I putted a "retail" ai did the same and not worked again. And I am keep thinking that the error is that I dont have the last step of the quest at the chars...
  • 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