paidia vazw ena npc pou deixnei ta rb an einai alive i dead kai mou vgazei kati null mesa sto npc enw to code dn exei tpt
mporeite na help ?
/*
* 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 2, 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, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package net.sf.l2j.gameserver.model.actor.instance;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.HashMap;
import net.sf.l2j.L2DatabaseFactory;
import net.sf.l2j.gameserver.ai.CtrlIntention;
import net.sf.l2j.gameserver.model.actor.L2Npc;
import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
import net.sf.l2j.gameserver.network.serverpackets.MyTargetSelected;
import net.sf.l2j.gameserver.network.serverpackets.NpcHtmlMessage;
import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
public class L2RBStatsInstance extends L2Npc {
public L2RBStatsInstance(int objectId, L2NpcTemplate template) {
super(objectId, template);
// TODO Auto-generated constructor stub
}
public void onAction(L2PcInstance player) {
if (this != player.getTarget())
{
player.setTarget(this);
player.sendPacket(new MyTargetSelected(getObjectId(), 0));
player.sendPacket(new ValidateLocation(this));
}
else
{
player.sendPacket(new MyTargetSelected(getObjectId(), 0));
player.getAI().setIntention(CtrlIntention.INTERACT, this);
if (!isInsideRadius(player, 150, false, false))
player.sendPacket(ActionFailed.STATIC_PACKET);
else
showHtmlWindow(player);
}
}
private void showHtmlWindow(L2PcInstance activeChar)
{
showChatWindow(activeChar);
activeChar.sendPacket(ActionFailed.STATIC_PACKET);
}
@Override
public void showChatWindow(L2PcInstance player) {
NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
StringBuilder tb = new StringBuilder();
PreparedStatement statement = null;
ResultSet rset = null;
HashMap<Integer,String> raidboss = new HashMap<Integer,String>();
raidboss.put(29001,"Queen Ant");
raidboss.put(29006,"Core");
raidboss.put(29014,"Orfen");
raidboss.put(29019,"Antharas");
raidboss.put(29020,"Baium");
raidboss.put(29022,"Zaken");
raidboss.put(29028,"Valakas");
raidboss.put(25035,"Shilen's Messenger Cabrio");
raidboss.put(25126,"Longhorn Golkonda");
raidboss.put(25054,"Kernon");
raidboss.put(25220,"Death Lord Hallate");
raidboss.put(25229,"Storm Winged Naga");
raidboss.put(25099,"Bloody Tree Vermilion");
raidboss.put(25276,"Death Lord Ipos");
raidboss.put(25255,"Gargoyle Lord Tiphon");
raidboss.put(25252,"Palibati Queen Themis");
raidboss.put(25266,"Bloody Empress Decarbia");
raidboss.put(25315,"Varka's Chief Horus");
raidboss.put(25312,"Varka's Commander Mos");
raidboss.put(25309,"Varka's Hero Shadith");
raidboss.put(25235,"Vanor Chief Kandra");
raidboss.put(25269,"Beast Lord Behemoth");
raidboss.put(25143,"Fire of Wrath Shuriel");
raidboss.put(25109,"Antharas Priest Cloe");
raidboss.put(25245,"Last Lesser Giant Glaki");
raidboss.put(25293,"Hestia Guardian Deity of the Hot Springs");
raidboss.put(25299,"Ketra's Hero Hekaton");
raidboss.put(25302,"Ketra's Commander Tayr");
raidboss.put(25305,"Ketra's Chief Brakki");
raidboss.put(25322,"Demon's Agent Falston");
raidboss.put(25328,"Eilhalder von Hellmann");
raidboss.put(25450,"Cherub Galaxia");
raidboss.put(25244,"Last Lesser Giant Olkuth");
tb.append("<html><title>Raid Boss Status</title><body><center><br>");
try (Connection con = L2DatabaseFactory.getInstance().getConnection())
{
statement = con.prepareStatement("SELECT boss_id, respawn_time FROM grandboss_data UNION SELECT boss_id, respawn_time FROM raidboss_spawnlist");
rset = statement.executeQuery();
tb.append("<table width=\"280\">");
tb.append("<tr><td>Name</td>");
tb.append("<td>Status</td></tr>");
while (rset.next())
{
tb.append("<tr><td>" + raidboss.get(rset.getInt("boss_id")) + "</td>");
if (rset.getLong("respawn_time") > 0)
tb.append("<td>" + "Dead" + "</td></tr>");
else
tb.append("<td>" + "Alive" + "</td></tr>");
}
tb.append("</table>");
rset.close();
statement.close();
}
catch (SQLException e)
{
e.printStackTrace();
}
tb.append("</center></body></html>");
msg.setHtml(tb.toString());
msg.replace("%objectId%", String.valueOf(this.getObjectId()));
player.sendPacket(msg);
}
}
My initial plan was to port the Homunculus system from Live 502 to ClassicAden 502. But, when the interface for Homunculus is enabled, it has some hardcoded function that tries to load the dat files which leads to a crash since those files dont exist in ClassicAden. I was hoping to do some injection hoping, forcing the client to load the files.
Question
xTakegawa
paidia vazw ena npc pou deixnei ta rb an einai alive i dead kai mou vgazei kati null mesa sto npc enw to code dn exei tpt
mporeite na help ?
31 answers to this question
Recommended Posts