Jump to content
  • 0

[Solved]Vote Reward [Reward +1 karma]


Question

Posted

Hello :D i have adapted GoldenBoy™ Vote Reward System from Interlude to High Five and i have made few changes ... ( votes are saved in db now and more .. )

 

### Eclipse Workspace Patch 1.0
#P L2J_Server_H5
Index: java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java
===================================================================
--- java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java	(revision 0)
+++ java/com/l2jserver/gameserver/instancemanager/AutoVoteRewardHandler.java	(revision 0)
@@ -0,0 +1,235 @@
+package com.l2jserver.gameserver.instancemanager;
+    
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URL;
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import com.l2jserver.gameserver.model.item.instance.L2ItemInstance;
+import com.l2jserver.Config;
+import com.l2jserver.L2DatabaseFactory;
+import com.l2jserver.gameserver.ThreadPoolManager;
+import com.l2jserver.gameserver.model.L2World;
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.network.clientpackets.Say2;
+import com.l2jserver.gameserver.network.serverpackets.CreatureSay;
+import com.l2jserver.gameserver.util.Broadcast;
+    
+public class AutoVoteRewardHandler
+{
+  private static Logger _log = Logger.getLogger(AutoVoteRewardHandler.class.getName());
+  
+  private static final int initialCheck  = 1 * 1000;
+  private static final int delayForCheck = Config.DELAY_FOR_NEXT_REWARD * 1000;
+
+  private static int lastVoteCount = 0;
+      
+  private AutoVoteRewardHandler()
+  {
+      _log.info("Vote Reward System: Vote reward system initiated.");
+      if (Config.VOTE_REWARD_ENABLE)
+          load();
+      ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoReward(), initialCheck, delayForCheck);
+  }
+      
+  private class AutoReward implements Runnable
+	{
+		@Override
+		public void run()
+		{
+			int votes = getVotes(Config.VOTE_HTML_PATCH);
+			System.out.println("Server Votes: " + votes);
+			if (votes != 0 && getLastVoteCount() != 0 && votes >= getLastVoteCount() + Config.VOTES_FOR_REWARD)
+			{
+				Connection con = null;
+				try
+				{
+					con = L2DatabaseFactory.getInstance().getConnection();
+					PreparedStatement statement = con.prepareStatement("SELECT c.charId, c.char_name FROM characters AS c LEFT JOIN accounts AS a ON c.account_name = a.login WHERE c.online > 0 GROUP BY a.lastIP ORDER BY c.level DESC");
+					ResultSet rset = statement.executeQuery();
+					L2PcInstance player = null;
+					L2ItemInstance item = null;
+					L2ItemInstance item2 = null;
+					while (rset.next())
+					{
+						player = L2World.getInstance().getPlayer(rset.getInt("charId"));
+						if (player != null && !player.getClient().isDetached())
+						{
+								item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+								if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
+								item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+						
+								if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
+						}
+					}
+					setLastVoteCount(getLastVoteCount() + Config.VOTES_FOR_REWARD);
+					statement.close();
+					_log.info("Vote Reward System: Reward for votes now!");
+		            Broadcast.toAllOnlinePlayers(new CreatureSay(1, Say2.CRITICAL_ANNOUNCE, "", "Vote Manager: Reward for players! Thanks for Vote."));
+			}
+				catch (SQLException e)
+				{
+					e.printStackTrace();
+				}
+				finally
+				{
+					L2DatabaseFactory.close(con);
+				}
+				
+				setLastVoteCount(getLastVoteCount() + Config.VOTES_FOR_REWARD);
+			}
+			Broadcast.toAllOnlinePlayers(new CreatureSay(1, Say2.CRITICAL_ANNOUNCE, "", "Vote Manager: Server votes: " + votes + " | Next Reward on " + (getLastVoteCount() + Config.VOTES_FOR_REWARD) + " Votes."));
+			if (getLastVoteCount() == 0)
+				setLastVoteCount(votes);
+		}
+	}
+      
+  private int getVotes(String urlString)
+  {
+      URL url = null;
+      InputStreamReader isr = null;
+      BufferedReader in = null;
+      try
+      {
+          url = new URL(urlString);
+          isr = new InputStreamReader(url.openStream());
+          in = new BufferedReader(isr);
+          String inputLine;
+          while ((inputLine = in.readLine()) != null)
+          {
+        	  if (Config.VOTE_REWARD_TOPZONE_ENABLE)
+        	  {
+        		  // for TopZone
+        		  if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\""))
+        		  {
+        			  return Integer.valueOf(inputLine.split(">")[5].replace("</font", ""));
+        		  }
+        	  }
+        	  if (Config.VOTE_REWARD_HOPZONE_ENABLE)
+        	  {
+        		  // for HopZone
+        		  if (inputLine.contains("rank anonymous tooltip"))
+        		  {
+        			  @SuppressWarnings("unused")
+        			  int Sub = 12;
+        			  switch (inputLine.length())
+        			  {
+        				  case 116:
+        					  Sub = 13; 
+        					  break;
+        				  case 117:
+        					  Sub = 14; 
+        					  break;
+        				  case 118:
+        					  Sub = 15;
+        					  break;
+        				  case 119:
+        					  Sub = 16; 
+        					  break;
+        			  }
+        			  return Integer.valueOf(inputLine.split(">")[2].replace("</span", ""));
+        		  }
+              }
+          }
+      }
+      catch (IOException e)
+      {
+          _log.warning("Vote Reward System: "+e);
+      }
+      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;
+  }
+  
+  private void load()
+  {
+      int votes = 0;
+      Connection con = null;
+      try
+      {
+          con = L2DatabaseFactory.getInstance().getConnection();
+          PreparedStatement statement = con.prepareStatement("SELECT vote FROM votes LIMIT 1");
+          ResultSet rset = statement.executeQuery();
+
+          while (rset.next())
+          {
+              votes = rset.getInt("vote");
+          }
+          rset.close();
+          statement.close();
+      }
+      catch (Exception e)
+      {
+          _log.log(Level.WARNING, "data error on vote: ", e);
+      }
+      finally
+      {
+          L2DatabaseFactory.close(con);
+      }
+      
+      setLastVoteCount(votes);
+  }
+  
+  public void save()
+  {
+      Connection con = null;
+      try
+      {
+          con = L2DatabaseFactory.getInstance().getConnection();
+          PreparedStatement statement = con.prepareStatement("UPDATE votes SET vote = ? WHERE id=1");
+          statement.setInt(1, getLastVoteCount());
+          statement.execute();
+          statement.close();
+      }
+      catch (Exception e)
+      {
+          _log.log(Level.WARNING, "data error on vote: ", e);
+      }
+      finally
+      {
+          L2DatabaseFactory.close(con);
+      }
+  }
+  
+  public static AutoVoteRewardHandler getInstance()
+  {
+      return SingletonHolder._instance;
+  }
+      
+  @SuppressWarnings("synthetic-access")
+  private static class SingletonHolder
+  {
+      protected static final AutoVoteRewardHandler _instance = new AutoVoteRewardHandler();
+  }
+}
\ No newline at end of file

 

______________

 

### Eclipse Workspace Patch 1.0
#P L2J_Server_H5
Index: java/com/l2jserver/gameserver/GameServer.java
===================================================================
--- java/com/l2jserver/gameserver/GameServer.java	(revision 5219)
+++ java/com/l2jserver/gameserver/GameServer.java	(working copy)
@@ -111,6 +111,7 @@
import com.l2jserver.gameserver.instancemanager.TransformationManager;
import com.l2jserver.gameserver.instancemanager.WalkingManager;
import com.l2jserver.gameserver.instancemanager.ZoneManager;
+import com.l2jserver.gameserver.instancemanager.AutoVoteRewardHandler;
import com.l2jserver.gameserver.model.AutoChatHandler;
import com.l2jserver.gameserver.model.AutoSpawnHandler;
import com.l2jserver.gameserver.model.L2Manor;

@@ -460,6 +465,9 @@
		_log.info("Server Loaded in " + ((serverLoadEnd - serverLoadStart) / 1000) + " seconds");

		AutoAnnounceTaskManager.getInstance();
+		      
+		if (Config.VOTE_REWARD_ENABLE)
+		 AutoVoteRewardHandler.getInstance();
	}

	public static void main(String[] args) throws Exception

 

__________________

 

### Eclipse Workspace Patch 1.0
#P L2J_Server_H5
Index: java/com/l2jserver/gameserver/Shutdown.java
===================================================================
--- java/com/l2jserver/gameserver/Shutdown.java	(revision 5219)
+++ java/com/l2jserver/gameserver/Shutdown.java	(working copy)
@@ -33,6 +33,7 @@
import com.l2jserver.gameserver.instancemanager.ItemsOnGroundManager;
import com.l2jserver.gameserver.instancemanager.QuestManager;
import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager;
+import com.l2jserver.gameserver.instancemanager.AutoVoteRewardHandler;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
import com.l2jserver.gameserver.model.entity.Hero;

@@ -562,6 +564,10 @@
		ClanTable.getInstance().storeClanScore();
		_log.info("Clan System: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms).");

+		if (Config.VOTE_REWARD_ENABLE)
+        AutoVoteRewardHandler.getInstance().save();
+		_log.info("Vote Reward Manager: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms).");
+		
		// Save Cursed Weapons data before closing.
		CursedWeaponsManager.getInstance().saveData();
		_log.info("Cursed Weapons Manager: Data saved("+tc.getEstimatedTimeAndRestartCounter()+"ms).");

 

________________

 

### Eclipse Workspace Patch 1.0
#P L2J_Server_H5
Index: java/com/l2jserver/Config.java
===================================================================
--- java/com/l2jserver/Config.java	(revision 5219)
+++ java/com/l2jserver/Config.java	(working copy)

@@ -765,7 +781,41 @@
	public static int L2JMOD_DUALBOX_CHECK_MAX_OLYMPIAD_PARTICIPANTS_PER_IP;
	public static int L2JMOD_DUALBOX_CHECK_MAX_L2EVENT_PARTICIPANTS_PER_IP;
	public static TIntIntHashMap L2JMOD_DUALBOX_CHECK_WHITELIST;
+	public static String VOTE_HTML_PATCH;
+	public static int VOTE_REWARD1_ID;
+	public static int VOTE_REWARD2_ID;
+	public static int VOTE_REWARD1_COUNT;
+	public static int VOTE_REWARD2_COUNT;
+	public static int VOTES_FOR_REWARD;
+	public static boolean VOTE_REWARD_ENABLE;
+	public static String SERVER_NAME_FOR_VOTES;
+	public static int MAX_REWARD_COUNT_FOR_STACK_ITEM1;
+	public static int MAX_REWARD_COUNT_FOR_STACK_ITEM2;
+	public static int DELAY_FOR_NEXT_REWARD;
+	public static boolean VOTE_REWARD_HOPZONE_ENABLE;
+	public static boolean VOTE_REWARD_TOPZONE_ENABLE;
	public static boolean L2JMOD_ALLOW_CHANGE_PASSWORD;

	//--------------------------------------------------
	// NPC Settings

@@ -2646,6 +2717,47 @@
						}
					}
					L2JMOD_ALLOW_CHANGE_PASSWORD = Boolean.parseBoolean(L2JModSettings.getProperty("AllowChangePassword", "False"));
+					VOTE_HTML_PATCH = L2JModSettings.getProperty("VoteHtmlPatch", "Null");
+					VOTE_REWARD1_COUNT = Integer.parseInt(L2JModSettings.getProperty("VoteReward1Count", "1000"));
+					VOTE_REWARD2_COUNT = Integer.parseInt(L2JModSettings.getProperty("VoteReward2Count", "1000"));
+					VOTE_REWARD1_ID = Integer.parseInt(L2JModSettings.getProperty("VoteReward1Id", "57"));
+					VOTE_REWARD2_ID = Integer.parseInt(L2JModSettings.getProperty("VoteReward2Id", "57"));
+					VOTES_FOR_REWARD = Integer.parseInt(L2JModSettings.getProperty("VotesForReward", "5"));
+					VOTE_REWARD_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableVoteReward", "False"));
+					SERVER_NAME_FOR_VOTES = L2JModSettings.getProperty("ServerNameForVotes", "L2ServerName");
+					MAX_REWARD_COUNT_FOR_STACK_ITEM1 = Integer.parseInt(L2JModSettings.getProperty("MaxRewardCountForStackItem1", "2000000000"));
+					MAX_REWARD_COUNT_FOR_STACK_ITEM2 = Integer.parseInt(L2JModSettings.getProperty("MaxRewardCountForStackItem2", "2000000000"));
+					DELAY_FOR_NEXT_REWARD = Integer.parseInt(L2JModSettings.getProperty("DelayForNextReward", "600"));
+					VOTE_REWARD_HOPZONE_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableHopzoneReward", "False"));
+					VOTE_REWARD_TOPZONE_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("EnableTopzoneReward", "False"));
				}
				catch (Exception e)
				{

 

______________

 

Add this after "AllowChangePassword = True" in l2jmods.prop

 

# ---------------------------------------------------------------------------
# Vote Reward System
# ---------------------------------------------------------------------------
# Set it "True" if you want to Enable Vote Reward System.
EnableVoteReward = False

# If you enable Vote Reward System you must fill your Html Patch.
# e.g. VoteHtmlPatch = http://l2.hopzone.net / http://l2topzone.net
# Html Patch for Your Vote Site
# Works with TopZone & HopZone

ServerNameForVotes = ServerName
VoteHtmlPatch = http://l2.hopzone.net
VoteReward1Count = 5
VoteReward2Count = 2
VoteReward1Id = 9627
VoteReward2Id = 3470
VotesForReward = 10

# Max a-beep-t of reward items that you want to stop reward 
# the player that have more than "MaxRewardCountForStack".
MaxRewardCountForStackItem1 = 500
MaxRewardCountForStackItem2 = 500

# DelayForNextReward in seconds
DelayForNextReward = 300

# Enable TopZone Vote Reward
# Default = False
EnableTopzoneReward = False

# Enable HopZone Vote Reward
# Default = False
EnableHopzoneReward = True

You can't enable both rewards, only one !

 

_____________________

 

In navicat add this: http://www.2shared.com/document/QK2mvnjv/votes.html

 

Credits: GoldenBoy™ & insaNNe ( for adaptation and changes )

Tested & Working

 

The problem is that check's L2jgs not l2jls for account's!

PLEASE HELP!

12 answers to this question

Recommended Posts

  • 0
Posted

Answer from Mhoska:

you need to rework half of the code if you are using 2 databases cos the conex on l2databasefactory of this one is kinda old, i think nowadays l2j even did more changes to it.

 

but you could try

 

+PreparedStatement statement = con.prepareStatement("SELECT c.charId, c.char_name FROM characters AS c LEFT JOIN accounts AS a ON c.account_name = a.login WHERE c.online > 0 GROUP BY a.lastIP ORDER BY c.level DESC");

 

 

+          PreparedStatement statement = con.prepareStatement("SELECT vote FROM votes LIMIT 1");

 

+          PreparedStatement statement = con.prepareStatement("UPDATE votes SET vote = ? WHERE id=1");

 

for example

 

+          PreparedStatement statement = con.prepareStatement("SELECT l2jls.vote FROM votes LIMIT 1");

 

  • 0
Posted

that is absolutely silly to be querying the database characters and/or accounts table for online players.

 

+				Connection con = null;
+				try
+				{
+					con = L2DatabaseFactory.getInstance().getConnection();
+					PreparedStatement statement = con.prepareStatement("SELECT c.charId, c.char_name FROM characters AS c LEFT JOIN accounts AS a ON c.account_name = a.login WHERE c.online > 0 GROUP BY a.lastIP ORDER BY c.level DESC");
+					ResultSet rset = statement.executeQuery();
+					L2PcInstance player = null;
+					L2ItemInstance item = null;
+					L2ItemInstance item2 = null;
+					while (rset.next())
+					{
+						player = L2World.getInstance().getPlayer(rset.getInt("charId"));
+						if (player != null && !player.getClient().isDetached())
+						{
+								item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+								if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
+								item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+						
+								if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
+						}
+					}

 

 

Dont use that above, do it like this...... Below

 

Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
for (L2PcInstance player : pls)
{
if (player.isOnline() && !player.getClient().isDetached() )
{
	item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
	if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
		player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
	item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);

	if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
		player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
}
}

  • 0
Posted

that is absolutely silly to be querying the database characters and/or accounts table for online players.

 

+				Connection con = null;
+				try
+				{
+					con = L2DatabaseFactory.getInstance().getConnection();
+					PreparedStatement statement = con.prepareStatement("SELECT c.charId, c.char_name FROM characters AS c LEFT JOIN accounts AS a ON c.account_name = a.login WHERE c.online > 0 GROUP BY a.lastIP ORDER BY c.level DESC");
+					ResultSet rset = statement.executeQuery();
+					L2PcInstance player = null;
+					L2ItemInstance item = null;
+					L2ItemInstance item2 = null;
+					while (rset.next())
+					{
+						player = L2World.getInstance().getPlayer(rset.getInt("charId"));
+						if (player != null && !player.getClient().isDetached())
+						{
+								item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+								if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
+								item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
+						
+								if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
+									player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
+						}
+					}

 

 

Dont use that above, do it like this...... Below

 

Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers().values();
for (L2PcInstance player : pls)
{
if (player.isOnline() && !player.getClient().isDetached() )
{
	item = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);
	if (item == null || item.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
		player.addItem("reward", Config.VOTE_REWARD1_ID, Config.VOTE_REWARD1_COUNT, player, true);
	item2 = player.getInventory().getItemByItemId(Config.VOTE_REWARD1_ID);

	if (item2 == null || item2.getCount() < Config.MAX_REWARD_COUNT_FOR_STACK_ITEM1)
		player.addItem("reward", Config.VOTE_REWARD2_ID, Config.VOTE_REWARD2_COUNT, player, true);
}
}

 

It check IP, reward per IP.

  • 0
Posted

try this one. Very similiar (minus the classmaster stuff) to what I use.

Checks WAN/LAN IP to allow people on the same IP but different LAN(local/computer) IP to receive rewards (great for net cafe players)

 

http://pastebin.com/9PrGYgEM

 

Thanks +1 karma, i found something awesome :D

# ---------------------------------------------------------------------------
# Vote System
# ---------------------------------------------------------------------------

# Enable vote system?
EnableVoteSystem = true

#Hopzone = true / Topzone = false
VoteSystemHopzone = true

# Save Votes in Database?
# Recomendable true if you Shutdown/Restart the server.
SaveVotesIntoDataBase = true

# Vote Page URL.
# Working/Tested in HopZone.
VoteSystemPage = http://l2.hopzone.net/lineage2/details/74078/L2World-Servers

# Reward players every xxx votes.
VoteSystemVotes = 10

# Frist Check delay.
# In Seconds.
VoteSystemStartCheckTime = 60

# Continue Check delay.
# In Seconds.
VoteSystemRunCheckTime = 120

# Items Rewards ID.
# Separated whit a ",".
VoteSystemItemID = 57,20034

# Items Rewards Count.
# Separated whit a ",".
VoteSystemItemCount = 1000,2

# ---------------------------------------------------------------------------
# TopZone/Vote System
# ---------------------------------------------------------------------------

# Enable vote system?
TopZoneEnableVoteSystem = true

#Hopzone = true / Topzone = false
TopZoneVoteSystemHopzone = true

# Save Votes in Database?
# Recomendable true if you Shutdown/Restart the server.
TopZoneSaveVotesIntoDataBase = true

# Vote Page URL.
# Working/Tested in HopZone.
TopZoneVoteSystemPage = http://l2.hopzone.net/lineage2/details/74078/L2World-Servers

# Reward players every xxx votes.
TopZoneVoteSystemVotes = 10

# Frist Check delay.
# In Seconds.
TopZoneVoteSystemStartCheckTime = 60

# Continue Check delay.
# In Seconds.
TopZoneVoteSystemRunCheckTime = 120

# Items Rewards ID.
# Separated whit a ",".
TopZoneVoteSystemItemID = 57,20034

# Items Rewards Count.
# Separated whit a ",".
TopZoneVoteSystemItemCount = 1000,2

 

I tough that there are 2 Hopzone Reward, but seems like

#Hopzone = true / Topzone = false

TopZoneVoteSystemHopzone = true

 

SO WTF ILL LEARN TO READ BETTER! Rawarded anyway, sorry for waste time.

-5h behind PC and from my life for no reason :D

  • 0
Posted

Yeah, the pastebin I linked/coded should work.

 

Personally I have 2 vote reward instances running, I seperated them. So I can run Hopzone and Topzone at the same time.

Maybe tomorrow I'll post my vote instances , they are very similar to this, but work from sending a tutorial (classmaster) window to

the player(s) that get the reward, and when they click on a random placed link through that tutorial window they will get the rewards.

 

It helps to cut down on AFKers collecting rewards.

 

some of it I posted here -> http://www.l2jserver.com/forum/viewtopic.php?f=73&t=15362#p153266

  • 0
Posted

Missed a few imports on the pastebin post also..(did it quickly in notepad++)

 

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

 

just incase anyone didn't notice ;)

  • 0
Posted

Missed a few imports on the pastebin post also..(did it quickly in notepad++)

 

import java.util.ArrayList;

import java.util.Collection;

import java.util.List;

 

just incase anyone didn't notice ;)

 

I don't use your tricks :D

If i say [no] it will be not in my server :D

just incase anyone didn't notice ;)

Guest
This topic is now closed to further replies.


×
×
  • Create New...