04-03-2009, 11:57 AM
Всем привет.
Сборка l2jserver....
Делаю одну фишку..... Если идёт осада замка, то телепорт, есественно не работает, но надо еще сказать в чат игроку имя города...
но небольшой затык.....
Имя города не выводит.....
Нужна помощь.
Файл F:\workspace\L2_GameServer\java\net\sf\l2j\gameserver\model\actor\instance\L2TeleporterInstance.java
Это кусок кода, отвечающий за телепорт:
Сборка l2jserver....
Делаю одну фишку..... Если идёт осада замка, то телепорт, есественно не работает, но надо еще сказать в чат игроку имя города...
но небольшой затык.....
Имя города не выводит.....
Нужна помощь.
Файл F:\workspace\L2_GameServer\java\net\sf\l2j\gameserver\model\actor\instance\L2TeleporterInstance.java
Это кусок кода, отвечающий за телепорт:
Код:
private void doTeleport(L2PcInstance player, int val)
{
L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
if (list != null)
{
//you cannot teleport to village that is in siege
if (SiegeManager.getInstance().getSiege(list.getLocX(), list.getLocY(), list.getLocZ()) != null)
{
player.sendMessage(SiegeManager.getInstance().getSiege(list.getLocX(), list.getLocY(), list.getLocZ()).getCastle().getName());
player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
return;
}
else if (TownManager.townHasCastleInSiege(list.getLocX(), list.getLocY()))
{
player.sendPacket(new SystemMessage(SystemMessageId.NO_PORT_THAT_IS_IN_SIGE));
return;
}
else if (!Config.ALT_GAME_KARMA_PLAYER_CAN_USE_GK && player.getKarma() > 0) //karma
{
player.sendMessage("Go away, you're not welcome here.");
return;
}
else if (list.getIsForNoble() && !player.isNoble())
{
String filename = "data/html/teleporter/nobleteleporter-no.htm";
NpcHtmlMessage html = new NpcHtmlMessage(getObjectId());
html.setFile(filename);
html.replace("%objectId%", String.valueOf(getObjectId()));
html.replace("%npcname%", getName());
player.sendPacket(html);
return;
}
else if (player.isAlikeDead())
{
return;
}
else if (!list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.getLevel() < 41 || player.reduceAdena("Teleport", list.getPrice(), this, true)))
{
if (Config.DEBUG)
_log.fine("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ());
player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true);
}
else if (list.getIsForNoble() && (Config.ALT_GAME_FREE_TELEPORT || player.destroyItemByItemId("Noble Teleport", 6651, list.getPrice(), this, true)))
{
if (Config.DEBUG)
_log.fine("Teleporting player " + player.getName() + " to new location: " + list.getLocX() + ":" + list.getLocY() + ":" + list.getLocZ());
player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ(), true);
}
}
else
{
_log.warning("No teleport destination with id:" + val);
}
player.sendPacket(ActionFailed.STATIC_PACKET);
}