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);
}
}
Account Features
➡ EARLY SUPPORTER BADGE
➡ NO QUEST BADGE
➡ 24 MONTHS BOOST BADGE
➡ 1 YEAR NITRO SUBSCRIPTION
➡ CREATION DATE IS 2017
➡ ACCOUNT STANDING STATUS IS ALL GOOD
➡ CLEAN BILLING
➡ OGE MAIL OUTLOOK
PAYMENT METHODS
➡ CRYPTO
➡ PAYPAL
➡ CASHAPP
➡ BANK TRANSFER
➡ GIFTCARDS
➡ ZELLE
➡ VENMO
CONTACTS
➡ DISCORD : crh11s
➡ TELEGRAM : crh11s
CONTACT WITH ME IF YOU ARE SERIOUS BUYE
To check the operation of npc movement. You can turn off all movement in the game and move only the npc you want using the move to package. This way you will reduce a lot of unnecessary code and understand where the problem is.
And all your maps are not thread safe and you are using multithreading
startQuestTimer("move", 5000, npc, null);
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