[HELP] Adapt Mod for Lucera Interlude

RicardoJRE

Heir
Customer
Olá amigos.
Gostaria de saber como posso adaptar mods para Lucera Interlude.
Procurei mas não encontrei nada a respeito.
Este vídeo ensina apenas como criar um ext.jar:

código:
/* * 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"; } }
 
JavaScript:
/*
 * 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";
    }
}
 
Back
Top