Jump to content

Recommended Posts

Posted (edited)

Hello,

This npc shows the players and the weapons with the highest enchant in the server for l2jaCis.

 

 

https://prnt.sc/1v9lstl

 

 

/*
 * 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 net.sf.l2j.gameserver.model.actor.instance;
 
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Map;
 
import net.sf.l2j.L2DatabaseFactory;
import net.sf.l2j.gameserver.datatables.ItemTable;
import net.sf.l2j.gameserver.model.actor.template.NpcTemplate;
import net.sf.l2j.gameserver.model.item.kind.Weapon;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
 
/**
 * @author Ugleethyn
 *
 */
public class TopManager extends Folk
{
	public TopManager(int objectId, NpcTemplate template)
	{
		super(objectId, template);
	}
 
	@Override
	public void onBypassFeedback(Player player, String command)
	{
			if(command.equals("topench")) {
			NpcHtmlMessage htm = new NpcHtmlMessage(getObjectId(), player);
			htm.setFile("data/html/topmanager/topench.htm");
			htm.replace("%stats%", getTopEnchant());
			player.sendPacket(htm);
		}
	}
 
 
	private static String getTopEnchant()
	{
		String ret = "";
		try (Connection con = L2DatabaseFactory.getInstance().getConnection())
		{
			PreparedStatement stm = con.prepareStatement("SELECT C.char_name, I.enchant_level,I.item_id\r\n"
				+ "FROM characters C\r\n"
				+ "INNER JOIN items I\r\n"
				+ "ON C.obj_Id = I.owner_id\r\n"
				+ "WHERE C.accesslevel = 0\r\n"
				+ "AND I.item_id IN (6364, 6365,6366,6367,6368,6369,6370,6371,6372,6579,6581,6582,6583,6584,6585,6586,6587,6588,6589,6590,6591,6592,6594,6595,6596,6597,6598,6599,6600,6601,6602,6603,6604,6605,6606,6607,6608,7578,7577,7576,7575,7575,6610,6609,6593)\r\n"
				+ "ORDER BY I.enchant_level DESC LIMIT 15");
			ResultSet rset = stm.executeQuery();
			int i = 1;
			while (rset.next())
			{
				String name = rset.getString("char_name");
				int enchantLevel = rset.getInt("enchant_level");
				int itemId = rset.getInt("item_id");
				String weaponName = "";
				for (Map.Entry<Integer, Weapon> entry : ItemTable._weapons.entrySet()) {
					if((itemId== entry.getKey())) {
						weaponName = entry.getValue().getName();
					}
				}
				ret += "<table width=\"290\">"
					+ "<tr>"
					+ "<td FIXWIDTH=\"13\" align=\"left\">"+i+++"</td>"
					+ "<td FIXWIDTH=\"70\" align=\"left\">"+name+"</td>"
					+ "<td FIXWIDTH=\"50\" align=\"left\">"+enchantLevel+"</td>"
					+ "<td FIXWIDTH=\"157\" align=\"left\">"+weaponName+"</td>"
					+ "</tr>"
					+ "</table>"
					+ "<img src=\"L2UI.Squaregray\" width=\"300\" height=\"5\">";
			}
 
			rset.close();
			stm.close();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
		return ret;
	}
 
	@Override
	public String getHtmlPath(int npcId, int val)
	{
		String filename = "";
		if (val == 0)
			filename = "" + npcId;
		else
			filename = npcId + "-" + val;
 
		return "data/html/topmanager/" + filename + ".htm";
	}
}
 

 

Html files : https://www.mediafire.com/file/xxn794ok2an46to/topmanager.rar/file

Edited by Ugleethyn
  • Like 1
  • Upvote 2
  • 4 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.



×
×
  • Create New...