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...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..

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