04-21-2014, 07:30 PM
Всем привет. Подскажите пожалуйста почему вместо списка телепортов у меня вот это:
[SRC="java"]package l2p.gameserver.model.instances;
import l2p.gameserver.instancemanager.AvanpostManager;
import l2p.gameserver.instancemanager.RaidBossSpawnManager;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.Spawner;
import l2p.gameserver.serverpackets.NpcHtmlMessage;
import l2p.gameserver.serverpackets.components.CustomMessage;
import l2p.gameserver.serverpackets.ExShowQuestInfo;
import l2p.gameserver.serverpackets.RadarControl;
import l2p.gameserver.templates.npc.NpcTemplate;
import l2p.gameserver.utils.Location;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
public class AvanpostTeleporterInstance extends NpcInstance
{
public AvanpostTeleporterInstance(int objectId, NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onBypassFeedback(Player player, String command)
{
try
{
String[] com = command.split(" ");
if(com[0].equals("tele"))
{
AvanpostManager.Avanpost a = AvanpostManager.getInstance().getAvanpostById(Integer.parseInt(com[1]));
if(a.canTeleport(player))
{
player.teleToLocation(Location.coordsRandomize(a.getLocation(), 50, 250));
}
}
}
catch (Exception e)
{}
}
@Override
public void showChatWindow(Player player, int val, Object... replace)
{
NpcHtmlMessage html = new NpcHtmlMessage(player, this, getHtmlPath(getNpcId(), val, player), val);
// стандартное
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%npcname%", getName());
AvanpostManager.Avanpost[] posts = AvanpostManager.getInstance().getAvanposts();
if(posts.length > 0)
{
StringBuilder sb = new StringBuilder();
sb.append("<center>");
sb.append("<table>");
for(AvanpostManager.Avanpost avan : posts)
{
if(!avan.isCapturable() && avan.getFactionId() != player.getFactionId())
continue;
if(avan.isCapturable() && avan.getFactionId() != player.getFactionId())
{
sb.append("<tr><td>").append(avan.getName()).append("</td><td><font color=\"red\">захвачен!</font></td></tr>");
}
else
{
sb.append("<tr><td><a action=\"bypass -h npc_").append(getObjectId()).append("_tele ").append(avan.ID).append("\">").append(avan.getName()).append("</a></td><td></td></tr>");
}
}
sb.append("</table>");
sb.append("</center>");
}
else
{
html.replace("%content%", "Временно недоступно");
}
player.sendPacket(html);
}
@Override
public String getHtmlPath(int npcId, int val, Player player)
{
File mainText = new File("manager/avanpost/teleporter.htm");
if (mainText.exists())
{
return mainText.toString();
}
return "teleporter.htm";
}
}[/SRC]
Хотя должен быть список аванпостов?
[SRC="java"]package l2p.gameserver.model.instances;
import l2p.gameserver.instancemanager.AvanpostManager;
import l2p.gameserver.instancemanager.RaidBossSpawnManager;
import l2p.gameserver.model.Player;
import l2p.gameserver.model.Spawner;
import l2p.gameserver.serverpackets.NpcHtmlMessage;
import l2p.gameserver.serverpackets.components.CustomMessage;
import l2p.gameserver.serverpackets.ExShowQuestInfo;
import l2p.gameserver.serverpackets.RadarControl;
import l2p.gameserver.templates.npc.NpcTemplate;
import l2p.gameserver.utils.Location;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
public class AvanpostTeleporterInstance extends NpcInstance
{
public AvanpostTeleporterInstance(int objectId, NpcTemplate template)
{
super(objectId, template);
}
@Override
public void onBypassFeedback(Player player, String command)
{
try
{
String[] com = command.split(" ");
if(com[0].equals("tele"))
{
AvanpostManager.Avanpost a = AvanpostManager.getInstance().getAvanpostById(Integer.parseInt(com[1]));
if(a.canTeleport(player))
{
player.teleToLocation(Location.coordsRandomize(a.getLocation(), 50, 250));
}
}
}
catch (Exception e)
{}
}
@Override
public void showChatWindow(Player player, int val, Object... replace)
{
NpcHtmlMessage html = new NpcHtmlMessage(player, this, getHtmlPath(getNpcId(), val, player), val);
// стандартное
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%npcname%", getName());
AvanpostManager.Avanpost[] posts = AvanpostManager.getInstance().getAvanposts();
if(posts.length > 0)
{
StringBuilder sb = new StringBuilder();
sb.append("<center>");
sb.append("<table>");
for(AvanpostManager.Avanpost avan : posts)
{
if(!avan.isCapturable() && avan.getFactionId() != player.getFactionId())
continue;
if(avan.isCapturable() && avan.getFactionId() != player.getFactionId())
{
sb.append("<tr><td>").append(avan.getName()).append("</td><td><font color=\"red\">захвачен!</font></td></tr>");
}
else
{
sb.append("<tr><td><a action=\"bypass -h npc_").append(getObjectId()).append("_tele ").append(avan.ID).append("\">").append(avan.getName()).append("</a></td><td></td></tr>");
}
}
sb.append("</table>");
sb.append("</center>");
}
else
{
html.replace("%content%", "Временно недоступно");
}
player.sendPacket(html);
}
@Override
public String getHtmlPath(int npcId, int val, Player player)
{
File mainText = new File("manager/avanpost/teleporter.htm");
if (mainText.exists())
{
return mainText.toString();
}
return "teleporter.htm";
}
}[/SRC]
Хотя должен быть список аванпостов?