Jump to content
  • 0

Question

Posted

http://maxcheaters.com/forum/index.php?topic=205872.0

 

+package com.l2jserver.gameserver.instancemanager;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+
+
+import com.l2jserver.gameserver.Announcements;
+import com.l2jserver.gameserver.ThreadPoolManager;
+import com.l2jserver.gameserver.model.L2ItemInstance;
+import com.l2jserver.gameserver.model.L2World;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+
+public class AutoVoteRewardHandler
+{
+	private final String HOPZONE = "http://l2.hopzone.net/lineage2/moreinfo/L2Worldx20x1000PvP/74078.html";
+	// 60 * 1000(1000milliseconds = 1 second) = 60seconds
+	private final int initialCheck = 60 * 1000;
+	// 1800 * 1000(1000milliseconds = 1 second) = 1800seconds = 30minutes
+	private final int delayForCheck = 120 * 1000;
+	private final int[] itemId = {57, 5000, 6500 };
+	private final int[] itemCount = { 1000, 5, 4};
+	private final int[] maxStack = { 1, 1, 1 };
+	private final int votesRequiredForReward = 1;
+	// do not change
+	private int lastVoteCount = 0;
+	private static ArrayList<String> _listedIps;
+	
+	private AutoVoteRewardHandler()
+	{
+		System.out.println("Vote Reward System Initiated.");
+		ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck);
+	}
+	
+	private class AutoReward implements Runnable
+	{
+		@Override
+		public void run()
+		{
+			int votes = getVotes();
+			System.out.println("Server Votes: " + votes);
+			if (votes != 0 && getLastVoteCount() != 0 && votes >= getLastVoteCount() + votesRequiredForReward)
+			{
+				Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
+				int onlinePlayers = 0;
+				for (L2PcInstance pl : pls)
+				{
+					if (pl.isOnline() && !pl.getClient().isDetached())
+					{
+						onlinePlayers++;
+					}
+				}
+				_listedIps = new ArrayList<String>(onlinePlayers);
+				L2ItemInstance item;
+				for (L2PcInstance player : pls)
+				{
+					if (player != null && player.isOnline() && !player.getClient().isDetached())
+					{
+						for (int i = 0; i < itemId.length; i++)
+						{
+							item = player.getInventory().getItemByItemId(itemId[i]);
+							if (item == null || item.getCount() < maxStack[i])
+							{
+								String host = player.getClient().getConnection().getInetAddress().getHostAddress();
+								if (host != null && !_listedIps.contains(host))
+									_listedIps.add(host);
+								else
+									return;
+								
+								player.addItem("reward", itemId[i], itemCount[i], player, true);
+							}
+						}
+					}
+				}
+				setLastVoteCount(getLastVoteCount() + votesRequiredForReward);
+			}
+			Announcements.getInstance().announceToAll("Server Votes: " + votes + " | Next Reward on " + (getLastVoteCount() + votesRequiredForReward) + " Votes.");
+			if (getLastVoteCount() == 0)
+			{
+				setLastVoteCount(votes);
+			}
+		}
+	}
+	
+	private int getVotes()
+	{
+		URL url = null;
+		InputStreamReader isr = null;
+		BufferedReader in = null;
+		try
+		{
+			url = new URL(HOPZONE);
+			isr = new InputStreamReader(url.openStream());
+			in = new BufferedReader(isr);
+			String inputLine;
+			while ((inputLine = in.readLine()) != null)
+			{
+				if (inputLine.contains("moreinfo_total_rank_text"))
+				{
+					return Integer.valueOf(inputLine.split(">")[2].replace("</div", ""));
+				}
+			}
+		}
+		catch (IOException e)
+		{
+			e.printStackTrace();
+		}
+		finally
+		{
+			try
+			{
+				in.close();
+			}
+			catch (IOException e)
+			{
+			}
+			try
+			{
+				isr.close();
+			}
+			catch (IOException e)
+			{
+			}
+		}
+		return 0;
+	}
+	
+	private void setLastVoteCount(int voteCount)
+	{
+		lastVoteCount = voteCount;
+	}
+	
+	private int getLastVoteCount()
+	{
+		return lastVoteCount;
+	}
+	
+	public static AutoVoteRewardHandler getInstance()
+	{
+		return SingletonHolder._instance;
+	}
+	
+	@SuppressWarnings("synthetic-access")
+	private static class SingletonHolder
+	{
+		protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler();
+	}
+}

 

I use this system.

So the system work but once.

This system reward me with 1000 adena (just for try ^^) and after he continue check the votes. When the time come to give a second reward, he don't give reward but he continue to check votes.

 

How can i fix it?

 

Thanks anyway for answer =)

6 answers to this question

Recommended Posts

  • 0
Posted

Sure.. The system run since 2 days and reward only once. And is Hopzone.. OK

 

Thanks for spam man =)

 

Its just an opinion, and i tryed to help, and if u think i'm a spammer, please, get a life :)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...