Jump to content
  • 0

[Help]How tot fix ...


Question

4 answers to this question

Recommended Posts

  • 0
Posted

I use BiggBoss pvpcolor system ...

this is colornamemanager

+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.model.actor.appearance;
+
+import java.sql.Connection;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.Set;
+
+import com.l2jserver.L2DatabaseFactory;
+
+import javolution.util.FastMap;
+
+/**
+ * @author BiggBoss
+ */
+public class ColorNameManager
+{
+	private static FastMap<Integer, String> _pvpColor = new FastMap<Integer, String>();
+	private static FastMap<Integer, String> _pkColor = new FastMap<Integer, String>();
+	
+	private ColorNameManager()
+	{
+	}
+	
+	public static ColorNameManager getInstance()
+	{
+		return SingletonHolder._cne;
+	}
+	
+	/**
+	 * Will load all pvp count with their respective color at server start up
+	 * Also will set up the higher pvp/pk count rank for future purposes
+	 */
+	public void loadValues()
+	{
+		Connection con = null;
+		try
+		{
+			_pvpColor.put(0, "FFFFFF");
+			_pkColor.put(0, "FFFFFF");
+			con = L2DatabaseFactory.getInstance().getConnection();
+			PreparedStatement pvpStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
+			pvpStatement.setString(1, "pvp");
+			
+			ResultSet pvpRset = pvpStatement.executeQuery();
+			while(pvpRset.next())
+			{
+				_pvpColor.put(pvpRset.getInt("pvppk_count"), pvpRset.getString("color"));
+			}
+			pvpRset.close();
+			pvpStatement.close();
+			
+			PreparedStatement pkStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
+			pkStatement.setString(1, "pk");
+			
+			ResultSet pkRset = pkStatement.executeQuery();
+			while(pkRset.next())
+			{
+				_pkColor.put(pkRset.getInt("pvppk_count"), pkRset.getString("color"));
+			}
+			pkRset.close();
+			pkStatement.close();
+		}
+		catch(SQLException sqle)
+		{
+			sqle.printStackTrace();
+		}
+		System.out.println("ColorNameManager: Loaded " + _pvpColor.size() + " colors for pvp kills!");
+		System.out.println("ColorNameManager: Loaded " + _pkColor.size() + " colors for pk kills!");
+	}
+	
+	/**
+	 * Returns a string-representative with the color of the rank
+	 * @param kills
+	 * @param forPvp
+	 * @return a String containing the Hexadecimal color
+	 */
+	public String getColor(int kills, boolean forPvp)
+	{
+		String color = "";
+		if(forPvp)
+			color = _pvpColor.get(getValueBefore(kills, _pvpColor.keySet()));
+		else
+			color = _pkColor.get(getValueBefore(kills, _pkColor.keySet()));
+		
+		return color;
+	}
+	
+	/**
+	 * Will return the value just before the given value contained
+	 * in the provided Set of integers
+	 * @param value
+	 * @param set
+	 * @return the value just before the provided one
+	 */
+	private static int getValueBefore(int value, Set<Integer> set)
+	{
+		int counter = 0;
+		for(int i : set)
+		{
+			if(i > counter && value > i)
+				counter = i;
+		}
+		return counter;
+	}
+			
+	static class SingletonHolder
+	{
+		static ColorNameManager _cne = new ColorNameManager();
+	}
+}

what i need to do?

  • 0
Posted

Replace your code with this if fix it because i get the some error

/*
* This program is free software: you can redistribute it and/or modify it under
* the terms of the GNU General Public License as published by the Free Software
* Foundation, either version 3 of the License, or (at your option) any later
* version.
* 
* This program is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
* details.
* 
* You should have received a copy of the GNU General Public License along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.l2jserver.gameserver.model.actor.appearance;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Set;

import com.l2jserver.L2DatabaseFactory;

import javolution.util.FastMap;

/**
* @author BiggBoss
*/
public class ColorNameManager
{
private static FastMap<Integer, String> _pvpColor = new FastMap<Integer, String>();
private static FastMap<Integer, String> _pkColor = new FastMap<Integer, String>();

private ColorNameManager()
{
}

public static ColorNameManager getInstance()
{
	return SingletonHolder._cne;
}

/**
 * Will load all pvp count with their respective color at server start up
 * Also will set up the higher pvp/pk count rank for future purposes
 */
public void loadValues()
{
	Connection con = null;
	try
	{
		_pvpColor.put(0, "FFFFFF");
		_pkColor.put(0, "FFFFFF");
		con = L2DatabaseFactory.getInstance().getConnection();
		PreparedStatement pvpStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
		pvpStatement.setString(1, "pvp");

		ResultSet pvpRset = pvpStatement.executeQuery();
		while(pvpRset.next())
		{
			_pvpColor.put(pvpRset.getInt("pvppk_count"), pvpRset.getString("color"));
		}
		pvpRset.close();
		pvpStatement.close();

		PreparedStatement pkStatement = con.prepareStatement("SELECT * FROM pvp_color_nick WHERE type = ?");
		pkStatement.setString(1, "pk");

		ResultSet pkRset = pkStatement.executeQuery();
		while(pkRset.next())
		{
			_pkColor.put(pkRset.getInt("pvppk_count"), pkRset.getString("color"));
		}
		pkRset.close();
		pkStatement.close();
	}
	catch(SQLException sqle)
	{
		sqle.printStackTrace();
	}
	finally
	{
		try
		{
			if (con != null)
				con.close();
		}
		catch (Exception e){}

	}
	System.out.println("ColorNameManager: Loaded "  +_pvpColor.size()+  " colors for pvp kills!");
	System.out.println("ColorNameManager: Loaded "  +_pkColor.size()+  " colors for pk kills!");
}

/**
 * Returns a string-representative with the color of the rank
 * @param kills
 * @param forPvp
 * @return a String containing the Hexadecimal color
 */
public String getColor(int kills, boolean forPvp)
{
	String color = "";
	if(forPvp)
		color = _pvpColor.get(getValueBefore(kills, _pvpColor.keySet()));
	else
		color = _pkColor.get(getValueBefore(kills, _pkColor.keySet()));

	return color;
}

/**
 * Will return the value just before the given value contained
 * in the provided Set of integers
 * @param value
 * @param set
 * @return the value just before the provided one
 */
private static int getValueBefore(int value, Set<Integer> set)
{
	int counter = 0;
	for(int i : set)
	{
		if(i > counter && value > i)
			counter = i;
	}
	return counter;
}

static class SingletonHolder
{
	static ColorNameManager _cne = new ColorNameManager();
}
}

Join the conversation

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

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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



×
×
  • Create New...