Добрый день возник вопрос, Есть аванпост от него делаю тп по указанным координатам в ядре. при нажатие кнопки Телепорт. Хочу сделать что бы при нажатие на кнопку телепорт появлялася диалог и там расписать дроп в этой хтмл. И добавить кнопку Телепорт в этот новый хтмл.
Сам код
пробовал менять байпасы, нпц выдает квест. после нажатия кнопки Телепорт
с
<a action="bypass -h npc_%objectId%_tele avanevil1">Телепорт</a>
на action="bypass -h npc_%objectId%_Chat 1
package net.sf.l2j.gameserver.model.actor.instance;
import java.util.StringTokenizer;
import net.sf.l2j.gameserver.ai.CtrlIntention;
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.SocialAction;
import net.sf.l2j.gameserver.network.serverpackets.ValidateLocation;
import net.sf.l2j.gameserver.templates.chars.L2NpcTemplate;
import net.sf.l2j.util.Rnd;
public class L2AvanPostTpInstance extends L2NpcInstance
{
public L2AvanPostTpInstance(int objectId, L2NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onBypassFeedback(L2PcInstance player, String command)
{
StringTokenizer st = new StringTokenizer(command, " ");
String actualCommand = st.nextToken();
String where = "";
if (st.countTokens() == 1)
where = st.nextToken();
if (actualCommand.equalsIgnoreCase("tele"))
{
if (where.equals("avangood1"))
{
player.teleToLocation(54644,12348,-5604, false);
}
else if (where.equals("avangood2"))
{
player.teleToLocation(146768,-174945,-1525, false);
}
else if (where.equals("avangood3"))
{
player.teleToLocation(98689,-2051,-3727, false);
}
else if (where.equals("avangood4"))
{
player.teleToLocation(98689,-2051,-3727, false);
}
else if (where.equals("avangood5"))
{
player.teleToLocation(98689,-2051,-3727, false);
}
else if (where.equals("avangood6"))
{
player.teleToLocation(98689,-2051,-3727, false);
}
else if (where.equals("avangood7"))
{
player.teleToLocation(98689,-2051,-3727, false);
}
else if (where.equals("avanevil1"))
{
player.teleToLocation(54133,27698,-5288, false);
}
else if (where.equals("avanevil2"))
{
player.teleToLocation(135858,-174102,-1781, false);
}
else if (where.equals("avanevil3"))
{
player.teleToLocation(85439,-5717,-3256, false);
}
else if (where.equals("avanevil4"))
{
player.teleToLocation(85439,-5717,-3256, false);
}
else if (where.equals("avanevil5"))
{
player.teleToLocation(85439,-5717,-3256, false);
}
else if (where.equals("avanevil6"))
{
player.teleToLocation(85439,-5717,-3256, false);
}
else if (where.equals("avanevil7"))
{
player.teleToLocation(85439,-5717,-3256, false);
}
else
{
player.sendMessage("Локация не найдена, сообщите администратору.");
}
}
else
{
super.onBypassFeedback(player, command);
}
}
@Override
public void onAction(L2PcInstance player)
{
if (this != player.getTarget())
{
player.setTarget(this);
player.sendPacket(new MyTargetSelected(getObjectId(), player.getLevel() - getLevel()));
player.sendPacket(new ValidateLocation(this));
}
else if (isInsideRadius(player, INTERACTION_DISTANCE, false, false))
{
SocialAction sa = new SocialAction(this, Rnd.get();
broadcastPacket(sa);
player.setCurrentFolkNPC(this);
if (player.getFactionId() == 1)
{
showGoodWindow(player);
}
else if (player.getFactionId() == 2)
{
showEvilWindow(player);
}
player.sendPacket(ActionFailed.STATIC_PACKET);
}
else
{
player.getAI().setIntention(CtrlIntention.AI_INTENTION_INTERACT, this);
player.sendPacket(ActionFailed.STATIC_PACKET);
}
}
private void showGoodWindow(L2PcInstance player)
{
String file = "data/html/faction/1.htm";
NpcHtmlMessage html = new NpcHtmlMessage(1);
html.setFile(file);
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%charname%", player.getName());
player.sendPacket(html);
}
private void showEvilWindow(L2PcInstance player)
{
String file = "data/html/faction/2.htm";
NpcHtmlMessage html = new NpcHtmlMessage(1);
html.setFile(file);
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%charname%", player.getName());
player.sendPacket(html);
}
}