Jump to content

Recommended Posts

Posted (edited)
  On 2/26/2013 at 2:22 PM, Luffy® said:

i installed all code in latest H5 core version=5816

builddate=25/02/2013 06:00

 

and i got only one error in AutoVoteRewardHandler also in Shutdown and Gameserver but is the same

 

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();
  }
}
that give me error and

import com.l2jserver.gameserver.model.item.instance.L2ItemInstance; 

L2ItemInstance item = null;

L2ItemInstance item2 = null;

 

it says : "Multiple markers at this line

- Occurrence of 'L2ItemInstance'

- L2ItemInstance cannot be resolved

to a type"

 

how to fix that ?

 

 

I had the same error but fixed when save all files ;) and see that import :

import com.l2jserver.gameserver.model.item.instance.L2ItemInstance;

i change it to :

import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;

for my revision.

 

 

Other problem was smthing with API i delete this from AutoVoteRewardHandler.java :

finally
{
L2DatabaseFactory.close(con);
}

Edit : The problem with API no fixed problem when server running because connection no close.

Edited by drgn
Posted (edited)
I have problem with AutoVoteSystem !

 

With topzone i get server votes : 0

and with hopzone i get this error :

 

image.jpg

 

My properties file :

 



# ---------------------------------------------------------------------------
# Vote Reward System
# ---------------------------------------------------------------------------
# Set it "True" if you want to Enable Vote Reward System.
EnableVoteReward = True
 
# 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/.... <- Here what? my main hopzone site url?
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


 

My AutoVoteRewardHanlder.java :

 



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.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.model.items.instance.L2ItemInstance;
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(">")[3].replace("</div", ""));
                        
                    }
                }
                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();
    }
}


 

I dont know where the problem is !

 

Edit:

I edit this line :

 



if (inputLine.contains("<tr><td><div align=\"center\"><b><font style=\"font-size:14px;color:#018BC1;\""))


 

to:

 



if (inputLine.contains("Votes:"))


 

And work !

 

Any ideas for hopzone?

Edited by drgn
Posted
  On 9/22/2013 at 5:22 PM, ^Wyatt said:

You should create a topic in Dev Help Section.

That error is common to appear when hopzone is Down, can't be that?

If it was down, it wouldn't return a 403 error.

 

For anyone looking for the solution: http://www.maxcheaters.com/topic/169551-vote-reward-system-problem/?do=findComment&comment=2268862

  • 2 weeks later...
Posted (edited)

Link Broken? i have problem with dat table i think, votes saved only for TopZone i think because when i enable Hopzone votes at atble stay 20 and real its 3 :/ and the message is that reward when server reach 21 Votes :/

Edited by drgn
  • 1 month later...
  • 1 month later...
Posted (edited)

For all that had a problem with this Vote Reward below is the proper code of AutoVoteRewardHandler.java that is working for both Topzone and Hopzone (rest of the files like in the 1st post:

 

AutoVoteRewardHandler.java

package com.l2jserver.gameserver.instancemanager;

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.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.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.model.items.instance.L2ItemInstance;
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);
			URLConnection connection = url.openConnection();
			connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:10.0.2) Gecko/20100101 Firefox/10.0.2");
			connection.connect();
			InputStream response = connection.getInputStream();
			isr = new InputStreamReader(response);
			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;\""))
					if (inputLine.contains("Votes:"))
					{
						return Integer.valueOf(inputLine.split(">")[3].replace("</div", ""));
					}
				}
				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();
	}
}

Because the .sql file is dead I assume votes.sql shoul looks like that but not sure:

 

-- ----------------------------
-- Table structure for `votes`
-- ----------------------------
DROP TABLE IF EXISTS `votes`;
CREATE TABLE `votes` (
  `id` int(6) NOT NULL,
  `vote` int(6) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;


-- ----------------------------
-- Records of votes
-- ----------------------------
INSERT INTO votes VALUES ('1', '0');

 

Edited by Gorion
  • 4 weeks later...
Posted
  On 1/18/2014 at 6:11 PM, hades25 said:

Somone can reshare sql for this please!

 

 Thanks!

-- ----------------------------
-- Table structure for `votes`
-- ----------------------------
DROP TABLE IF EXISTS `votes`;
CREATE TABLE `votes` (
  `id` int(6) NOT NULL,
  `vote` int(6) NOT NULL,
  PRIMARY KEY (`id`)
) DEFAULT CHARSET=utf8;


-- ----------------------------
-- Records of votes
-- ----------------------------
INSERT INTO votes VALUES ('1', '0');
  • 1 month later...
Posted

Γεια σας !

Έχω ένα θεματάκι.. όταν φτάνει ο αριθμός τον votes δεν δίνει reward και πετάει error !

image.jpg

Έχει κανείς καμία ιδέα;

Έχω ψάξει τα πάντα :/ με έχει μπερδέψει αρκετά !

 

Ευχαριστώ !

Posted (edited)
Εδώ είναι το πρόβλημα :
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");

change to :

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

ήθελε το l2jls στο accounts. Το είχα ξανά κάνει αλλά δεν είχε πιάσει ! Τώρα δίνει κανονικά reward !

Edited by drgn
  • 2 weeks later...
Posted

This is not working, can anyone help me with the right code for Topzone vote reward?

while ((inputLine = in.readLine()) != null)
			{
				// for top-zone
				if (inputLine.contains("Votes:"))
				{
					return Integer.valueOf(inputLine.split(">")[3].replace("</div", ""));
				}
  • 5 months later...

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
Reply to this topic...

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




  • Posts

    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • DISCORD : utchiha_market telegram : https://t.me/utchiha_market SELLIX STORE : https://utchiha.sellpass.io/ Join our server for more products : https://discord.gg/uthciha-services https://campsite.bio/utchihaamkt  
    • Hello everyone, I would like some help adapting this file for a custom community board l2jFrozen:   package com.l2jfrozen.gameserver.communitybbs; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Map; import java.util.StringTokenizer; import javolution.util.FastMap; import com.l2jfrozen.Config; import com.l2jfrozen.gameserver.cache.HtmCache; import com.l2jfrozen.gameserver.communitybbs.Manager.BaseBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.ClanBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.PostBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.RegionBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.TeleBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.TopicBBSManager; import com.l2jfrozen.gameserver.communitybbs.Manager.shopBBSManager; import com.l2jfrozen.gameserver.handler.IBBSHandler; import com.l2jfrozen.gameserver.model.L2Clan; import com.l2jfrozen.gameserver.model.L2World; import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance; import com.l2jfrozen.gameserver.model.multisell.L2Multisell; import com.l2jfrozen.gameserver.network.L2GameClient; import com.l2jfrozen.gameserver.network.SystemMessageId; import com.l2jfrozen.gameserver.network.serverpackets.ShowBoard; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; public class CommunityBoard { private static CommunityBoard _instance; private final Map<String, IBBSHandler> _handlers; protected final SimpleDateFormat fmt = new SimpleDateFormat("H:mm."); public CommunityBoard() { _handlers = new FastMap<>(); // null; } public boolean checkPlayerConditions(L2PcInstance activeChar, String command) { if (activeChar.isInOlympiadMode()) { activeChar.sendMessage("CommunityBoard use is prohibited at the Olympiad"); return false; } if (activeChar.isFlying() || activeChar.isMounted()) { activeChar.sendMessage("CommunityBoard use is prohibited at while flying or mounted!"); return false; } if (activeChar.inObserverMode()) { activeChar.sendMessage("CommunityBoard use is prohibited in ObserveMode!"); return false; } if (activeChar.isAlikeDead() || activeChar.isDead()) { activeChar.sendMessage("CommunityBoard use is prohibited While Dead"); return false; } if (activeChar.isInCombat()) { activeChar.sendMessage("CommunityBoard use is prohibited in Combat!"); return false; } if (activeChar.isCastingNow()) { activeChar.sendMessage("CommunityBoard use is prohibited while Casting!"); return false; } if (activeChar.isAttackingNow()) { activeChar.sendMessage("CommunityBoard use is prohibited while Attacking!"); return false; } if (activeChar.isInDuel()) { activeChar.sendMessage("CommunityBoard use is prohibited while Playing Duel!"); return false; } if (activeChar.isFishing()) { activeChar.sendMessage("CommunityBoard use is prohibited while Fishing!"); return false; } if (activeChar.isInStoreMode()) { activeChar.sendMessage("CommunityBoard use is prohibited in StoreMode!"); return false; } if (activeChar.isInJail() || activeChar.isCursedWeaponEquipped() || activeChar.isFlying() || activeChar.isInBoat() || activeChar.isProcessingTransaction() || activeChar.isStunned()) { activeChar.sendMessage("CommunityBoard use is prohibited right now!"); return false; } return true; } public static CommunityBoard getInstance() { if (_instance == null) { _instance = new CommunityBoard(); } return _instance; } /** * by Azagthtot * @param handler as IBBSHandler */ public void registerBBSHandler(final IBBSHandler handler) { for (final String s : handler.getBBSCommands()) { _handlers.put(s, handler); } } /** * by Azagthtot * @param client * @param command */ public void handleCommands(final L2GameClient client, final String command) { L2PcInstance activeChar = client.getActiveChar(); if (activeChar == null) return; if(!checkPlayerConditions(activeChar, command)) return; if (Config.COMMUNITY_TYPE.equals("full")) { String cmd = command.substring(4); String params = ""; final int iPos = cmd.indexOf(" "); if (iPos != -1) { params = cmd.substring(iPos + 1); cmd = cmd.substring(0, iPos); } final IBBSHandler bbsh = _handlers.get(cmd); if (bbsh != null) { bbsh.handleCommand(cmd, activeChar, params); } else { if (command.startsWith("_bbsclan")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsmemo")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsgetfav")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstopics")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsposts")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstop")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbshome")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbsloc")) { String text = HtmCache.getInstance().getHtm("data/html/CommunityBoard/index.htm"); //Custom Community Board text = text.replace("%CharName%", String.valueOf(activeChar.getName())); text = text.replace("%CharClass%", String.valueOf(activeChar.getClassId().name())); text = text.replace("%CharLevel%", String.valueOf(activeChar.getLevel())); if (activeChar.isNoble()) { text = text.replace("%nobless%", "Yes"); } else { text = text.replace("%nobless%", "No"); } L2Clan clan = activeChar.getClan(); if (clan != null) { text = text.replace("%CharClan%", String.valueOf(activeChar.getClan().getName())); } else { text = text.replace("%CharClan%", "No Clan"); } text = text.replace("%CharIP%", String.valueOf(activeChar.getClient().getConnection().getInetAddress().getHostAddress())); text = text.replace("%PlayerOnline%", String.valueOf(L2World.getInstance().getAllPlayers().size()* 1)); text = text.replace("%ServerTime%", fmt.format(new Date(System.currentTimeMillis()))); //Custom Community Board BaseBBSManager.separateAndSend(text, activeChar); } else if (command.startsWith("_bbstele")) { TeleBBSManager.getInstance().parsecmd(command, activeChar); } else if (command.startsWith("_bbsShop")) { shopBBSManager.getInstance().parsecmd(command, activeChar); } else if(command.startsWith("_bbsmultisell;")) { StringTokenizer st = new StringTokenizer(command, ";"); st.nextToken(); shopBBSManager.getInstance().parsecmd("_bbsShop;" + st.nextToken(), activeChar); L2Multisell.getInstance().SeparateAndSend(Integer.parseInt(st.nextToken()), activeChar, false, 0); } else { ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + command + " is not implemented yet</center><br><br></body></html>", "101"); activeChar.sendPacket(sb); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } } } else if (Config.COMMUNITY_TYPE.equals("old")) { RegionBBSManager.getInstance().parsecmd(command, activeChar); } else { activeChar.sendPacket(new SystemMessage(SystemMessageId.CB_OFFLINE)); } activeChar = null; } /** * @param client * @param url * @param arg1 * @param arg2 * @param arg3 * @param arg4 * @param arg5 */ public void handleWriteCommands(final L2GameClient client, final String url, final String arg1, final String arg2, final String arg3, final String arg4, final String arg5) { L2PcInstance activeChar = client.getActiveChar(); if (activeChar == null) return; if (Config.COMMUNITY_TYPE.equals("full")) { if (url.equals("Topic")) { TopicBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Post")) { PostBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Region")) { RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else if (url.equals("Notice")) { ClanBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else { ShowBoard sb = new ShowBoard("<html><body><br><br><center>the command: " + url + " is not implemented yet</center><br><br></body></html>", "101"); activeChar.sendPacket(sb); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } } else if (Config.COMMUNITY_TYPE.equals("old")) { RegionBBSManager.getInstance().parsewrite(arg1, arg2, arg3, arg4, arg5, activeChar); } else { ShowBoard sb = new ShowBoard("<html><body><br><br><center>The Community board is currently disable</center><br><br></body></html>", "101"); activeChar.sendPacket(sb); sb = null; activeChar.sendPacket(new ShowBoard(null, "102")); activeChar.sendPacket(new ShowBoard(null, "103")); } activeChar = null; } }   And making it work in another l2jOrion project:   package l2jorion.game.community; import java.util.HashMap; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import l2jorion.Config; import l2jorion.game.community.manager.BaseBBSManager; import l2jorion.game.community.manager.ClanBBSManager; import l2jorion.game.community.manager.FavoriteBBSManager; import l2jorion.game.community.manager.FriendsBBSManager; import l2jorion.game.community.manager.MailBBSManager; import l2jorion.game.community.manager.PostBBSManager; import l2jorion.game.community.manager.RankBBSManager; import l2jorion.game.community.manager.RegionBBSManager; import l2jorion.game.community.manager.TopBBSManager; import l2jorion.game.community.manager.TopicBBSManager; import l2jorion.game.handler.ICommunityBoardHandler; import l2jorion.game.model.actor.instance.L2PcInstance; import l2jorion.game.network.L2GameClient; import l2jorion.game.network.SystemMessageId; import l2jorion.logger.Logger; import l2jorion.logger.LoggerFactory; public class CommunityBoardManager { protected static Logger LOG = LoggerFactory.getLogger(CommunityBoardManager.class); private Map<String, ICommunityBoardHandler> _handlers = new HashMap<>(); private final Map<Integer, String> _bypasses = new ConcurrentHashMap<>(); private static CommunityBoardManager _instance; public static CommunityBoardManager getInstance() { if (_instance == null) { _instance = new CommunityBoardManager(); } return _instance; } private CommunityBoardManager() { registerBBSHandler(new TopBBSManager()); registerBBSHandler(new FavoriteBBSManager()); registerBBSHandler(new RegionBBSManager()); registerBBSHandler(new ClanBBSManager()); registerBBSHandler(new TopicBBSManager()); registerBBSHandler(new MailBBSManager()); registerBBSHandler(new FriendsBBSManager()); registerBBSHandler(new TopicBBSManager()); registerBBSHandler(new PostBBSManager()); registerBBSHandler(new RankBBSManager()); LOG.info("CommunityBoardHandlers: Loaded " + _handlers.size() + " handlers"); } public void registerBBSHandler(ICommunityBoardHandler handler) { for (String bypass : handler.getBypassBbsCommands()) { if (_handlers.containsKey(bypass)) { continue; } _handlers.put(bypass, handler); } } public void onBypassCommand(L2GameClient client, String command) { final L2PcInstance player = client.getActiveChar(); if (player == null) { return; } if (Config.COMMUNITY_TYPE.equals("off")) { player.sendPacket(SystemMessageId.CB_OFFLINE); return; } /* * if (!AutoImageSenderManager.wereAllImagesSent(player)) { player.sendMessage("Community wasn't loaded yet, try again in few seconds."); player.sendPacket(new ExShowScreenMessage("Community wasn't loaded yet, try again in few seconds.", 2000, 2, false)); return; } */ String cmd = command.substring(4); String params = ""; final int iPos = cmd.indexOf(" "); if (iPos != -1) { params = cmd.substring(iPos + 1); cmd = cmd.substring(0, iPos); } ICommunityBoardHandler bypass = _handlers.get(cmd); if (bypass != null) { bypass.handleCommand(cmd, player, params); } else { if (command.startsWith("_bbshome")) { TopBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsgetfav") || command.startsWith("bbs_add_fav") || command.startsWith("_bbsdelfav_")) { FavoriteBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsloc")) { RegionBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsclan")) { ClanBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsmemo")) { TopicBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsmail") || command.equals("_maillist_0_1_0_")) { MailBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_friend") || command.startsWith("_block")) { FriendsBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbstopics")) { TopicBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsposts")) { PostBBSManager.getInstance().parseCmd(command, player); } else if (command.startsWith("_bbsshowrank")) { RankBBSManager.getInstance().parseCmd(command, player); } else { BaseBBSManager.separateAndSend("<html><body><br><br><center>The command: " + command + " isn't implemented.</center></body></html>", player); } } } public void handleWriteCommands(L2GameClient client, String url, String arg1, String arg2, String arg3, String arg4, String arg5) { final L2PcInstance player = client.getActiveChar(); if (player == null) { return; } if (Config.COMMUNITY_TYPE.equals("off")) { player.sendPacket(SystemMessageId.CB_OFFLINE); return; } if (url.equals("Topic")) { TopicBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Post")) { PostBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_bbsloc")) { RegionBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_bbsclan")) { ClanBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Mail")) { MailBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("Clan")) { ClanBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else if (url.equals("_friend")) { FriendsBBSManager.getInstance().parseWrite(arg1, arg2, arg3, arg4, arg5, player); } else { BaseBBSManager.separateAndSend("<html><body><br><br><center>The command: " + url + " isn't implemented.</center></body></html>", player); } } public ICommunityBoardHandler getCommunityHandler(String bypass) { if (_handlers.isEmpty()) { return null; } for (Map.Entry<String, ICommunityBoardHandler> entry : _handlers.entrySet()) { if (bypass.contains(entry.getKey())) { return entry.getValue(); } } return null; } public void addBypass(L2PcInstance player, String title, String bypass) { _bypasses.put(player.getObjectId(), title + "&" + bypass); } public String removeBypass(L2PcInstance player) { return _bypasses.remove(player.getObjectId()); } public Map<Integer, String> getAllBypass() { return _bypasses; } }  
  • Topics

×
×
  • Create New...