Addition of teleToLocation method.
This commit is contained in:
@@ -48,7 +48,6 @@ import org.l2jmobius.gameserver.network.serverpackets.LeaveWorld;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUser;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.NpcHtmlMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
import org.l2jmobius.gameserver.templates.Npc;
|
||||
|
||||
public class AdminCommands extends Thread
|
||||
@@ -476,11 +475,7 @@ public class AdminCommands extends Thread
|
||||
final int y = Integer.parseInt(y1);
|
||||
final String z1 = st.nextToken();
|
||||
final int z = Integer.parseInt(z1);
|
||||
final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
||||
activeChar.sendPacket(tele);
|
||||
activeChar.setX(x);
|
||||
activeChar.setY(y);
|
||||
activeChar.setZ(z);
|
||||
activeChar.teleToLocation(x, y, z);
|
||||
activeChar.sendMessage("You have been teleported to " + coords);
|
||||
showMainPage(client);
|
||||
}
|
||||
@@ -869,11 +864,7 @@ public class AdminCommands extends Thread
|
||||
final String z1 = st.nextToken();
|
||||
final int z = Integer.parseInt(z1);
|
||||
player.sendMessage("Admin is teleporting you.");
|
||||
final TeleportToLocation tele = new TeleportToLocation(player, x, y, z);
|
||||
player.sendPacket(tele);
|
||||
player.setX(x);
|
||||
player.setY(y);
|
||||
player.setZ(z);
|
||||
player.teleToLocation(x, y, z);
|
||||
activeChar.sendMessage("Character " + player.getName() + " teleported to " + x + " " + y + " " + z);
|
||||
}
|
||||
showMainPage(client);
|
||||
@@ -889,14 +880,7 @@ public class AdminCommands extends Thread
|
||||
}
|
||||
else
|
||||
{
|
||||
final int x = player.getX();
|
||||
final int y = player.getY();
|
||||
final int z = player.getZ();
|
||||
final TeleportToLocation tele = new TeleportToLocation(activeChar, x, y, z);
|
||||
activeChar.sendPacket(tele);
|
||||
activeChar.setX(x);
|
||||
activeChar.setY(y);
|
||||
activeChar.setZ(z);
|
||||
player.teleToLocation(player.getX(), player.getY(), player.getZ());
|
||||
activeChar.sendMessage("You have teleported to character " + player.getName() + ".");
|
||||
}
|
||||
showMainPage(client);
|
||||
|
@@ -21,14 +21,12 @@ import org.l2jmobius.gameserver.data.MapRegionTable;
|
||||
import org.l2jmobius.gameserver.data.SkillTable;
|
||||
import org.l2jmobius.gameserver.handler.IItemHandler;
|
||||
import org.l2jmobius.gameserver.model.Skill;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.ItemInstance;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.MagicSkillUser;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SetupGauge;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.StopMove;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
|
||||
public class ScrollOfEscape implements IItemHandler
|
||||
{
|
||||
@@ -64,22 +62,7 @@ public class ScrollOfEscape implements IItemHandler
|
||||
activeChar.broadcastPacket(sm);
|
||||
final ActionFailed af = new ActionFailed();
|
||||
activeChar.sendPacket(af);
|
||||
World.getInstance().removeVisibleObject(activeChar);
|
||||
activeChar.removeAllKnownObjects();
|
||||
final TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]);
|
||||
activeChar.sendPacket(teleport);
|
||||
activeChar.broadcastPacket(teleport);
|
||||
activeChar.setX(townCords[0]);
|
||||
activeChar.setY(townCords[1]);
|
||||
activeChar.setZ(townCords[2]);
|
||||
try
|
||||
{
|
||||
Thread.sleep(2000L);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
// empty catch block
|
||||
}
|
||||
activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
@@ -45,6 +45,7 @@ import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.StatusUpdate;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.StopMove;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
import org.l2jmobius.gameserver.templates.Weapon;
|
||||
import org.l2jmobius.util.Rnd;
|
||||
|
||||
@@ -1552,4 +1553,23 @@ public abstract class Creature extends WorldObject
|
||||
}
|
||||
}
|
||||
|
||||
public void teleToLocation(int x, int y, int z)
|
||||
{
|
||||
final TeleportToLocation teleportToLocation = new TeleportToLocation(this, x, y, z);
|
||||
sendPacket(teleportToLocation);
|
||||
broadcastPacket(teleportToLocation);
|
||||
World.getInstance().removeVisibleObject(this);
|
||||
removeAllKnownObjects();
|
||||
setX(x);
|
||||
setY(y);
|
||||
setZ(z);
|
||||
try
|
||||
{
|
||||
Thread.sleep(2000);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
}
|
||||
World.getInstance().addVisibleObject(this);
|
||||
}
|
||||
}
|
||||
|
@@ -1834,7 +1834,8 @@ public class PlayerInstance extends Creature
|
||||
// TODO: Check for more?
|
||||
if (((regionX == 18) && (regionY == 19)) // School of Dark Arts
|
||||
|| ((regionX == 18) && (regionY == 23)) // Forgotten Temple
|
||||
|| ((regionX == 19) && (regionY == 23)) // Ant Nest
|
||||
|| ((regionX == 19) && (regionY == 23)) // Wastelands - Ant Nest
|
||||
|| ((regionX == 19) && (regionY == 24)) // Wastelands - Southern Entrance
|
||||
|| ((regionX == 20) && (regionY == 18)) // Dark Elf Village
|
||||
|| ((regionX == 20) && (regionY == 21)) // Cruma Tower
|
||||
|| ((regionX == 21) && (regionY == 18)) // Sea of Spores
|
||||
|
@@ -21,10 +21,8 @@ import java.util.logging.Logger;
|
||||
|
||||
import org.l2jmobius.gameserver.data.TeleportLocationTable;
|
||||
import org.l2jmobius.gameserver.model.TeleportLocation;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
import org.l2jmobius.gameserver.templates.Npc;
|
||||
|
||||
public class TeleporterInstance extends NpcInstance
|
||||
@@ -69,21 +67,7 @@ public class TeleporterInstance extends NpcInstance
|
||||
if (player.getAdena() >= list.getPrice())
|
||||
{
|
||||
player.reduceAdena(list.getPrice());
|
||||
final TeleportToLocation Tloc = new TeleportToLocation(player, list.getLocX(), list.getLocY(), list.getLocZ());
|
||||
player.sendPacket(Tloc);
|
||||
World.getInstance().removeVisibleObject(player);
|
||||
player.removeAllKnownObjects();
|
||||
player.setX(list.getLocX());
|
||||
player.setY(list.getLocY());
|
||||
player.setZ(list.getLocZ());
|
||||
try
|
||||
{
|
||||
Thread.sleep(2000L);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
}
|
||||
World.getInstance().addVisibleObject(player);
|
||||
player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@@ -32,7 +32,6 @@ import org.l2jmobius.gameserver.network.serverpackets.Die;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ItemList;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.UserInfo;
|
||||
|
||||
public class EnterWorld extends ClientBasePacket
|
||||
@@ -98,20 +97,7 @@ public class EnterWorld extends ClientBasePacket
|
||||
if (activeChar.getZ() < -16000)
|
||||
{
|
||||
final int[] townCords = MapRegionTable.getInstance().getClosestTownCords(activeChar);
|
||||
activeChar.sendPacket(new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]));
|
||||
World.getInstance().removeVisibleObject(activeChar);
|
||||
activeChar.removeAllKnownObjects();
|
||||
activeChar.setX(townCords[0]);
|
||||
activeChar.setY(townCords[1]);
|
||||
activeChar.setZ(townCords[2]);
|
||||
try
|
||||
{
|
||||
Thread.sleep(2000L);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
}
|
||||
World.getInstance().addVisibleObject(activeChar);
|
||||
activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]);
|
||||
}
|
||||
|
||||
// Water check.
|
||||
|
@@ -18,7 +18,6 @@
|
||||
package org.l2jmobius.gameserver.network.clientpackets;
|
||||
|
||||
import org.l2jmobius.gameserver.enums.CreatureState;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.network.ClientThread;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
@@ -58,10 +57,6 @@ public class MoveBackwardToLocation extends ClientBasePacket
|
||||
activeChar.setZ(originZ);
|
||||
activeChar.moveTo(targetX, targetY, targetZ, 0);
|
||||
|
||||
final int x = ((activeChar.getX() - World.MAP_MIN_X) >> 15) + World.TILE_X_MIN;
|
||||
final int y = ((activeChar.getY() - World.MAP_MIN_Y) >> 15) + World.TILE_Y_MIN;
|
||||
System.out.println(x + " " + y);
|
||||
|
||||
// Water check.
|
||||
activeChar.checkWaterState();
|
||||
}
|
||||
|
@@ -20,7 +20,6 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
||||
import java.io.IOException;
|
||||
|
||||
import org.l2jmobius.gameserver.data.MapRegionTable;
|
||||
import org.l2jmobius.gameserver.model.World;
|
||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||
import org.l2jmobius.gameserver.network.ClientThread;
|
||||
import org.l2jmobius.gameserver.network.Connection;
|
||||
@@ -28,7 +27,6 @@ import org.l2jmobius.gameserver.network.serverpackets.ActionFailed;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.Revive;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.SocialAction;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.StopMove;
|
||||
import org.l2jmobius.gameserver.network.serverpackets.TeleportToLocation;
|
||||
|
||||
public class RequestRestartPoint extends ClientBasePacket
|
||||
{
|
||||
@@ -45,25 +43,10 @@ public class RequestRestartPoint extends ClientBasePacket
|
||||
final ActionFailed actionFailed = new ActionFailed();
|
||||
con.sendPacket(actionFailed);
|
||||
activeChar.broadcastPacket(stopMove);
|
||||
final TeleportToLocation teleport = new TeleportToLocation(activeChar, townCords[0], townCords[1], townCords[2]);
|
||||
activeChar.sendPacket(teleport);
|
||||
World.getInstance().removeVisibleObject(activeChar);
|
||||
activeChar.removeAllKnownObjects();
|
||||
activeChar.setX(townCords[0]);
|
||||
activeChar.setY(townCords[1]);
|
||||
activeChar.setZ(townCords[2]);
|
||||
activeChar.teleToLocation(townCords[0], townCords[1], townCords[2]);
|
||||
activeChar.setCurrentHp(0.6 * activeChar.getMaxHp());
|
||||
activeChar.setCurrentMp(0.6 * activeChar.getMaxMp());
|
||||
final Revive revive = new Revive(activeChar);
|
||||
try
|
||||
{
|
||||
Thread.sleep(2000L);
|
||||
}
|
||||
catch (InterruptedException e)
|
||||
{
|
||||
// empty catch block
|
||||
}
|
||||
World.getInstance().addVisibleObject(activeChar);
|
||||
final SocialAction sa = new SocialAction(activeChar.getObjectId(), 15);
|
||||
activeChar.broadcastPacket(sa);
|
||||
activeChar.sendPacket(sa);
|
||||
|
@@ -46,11 +46,6 @@ public class ValidatePosition extends ClientBasePacket
|
||||
final PlayerInstance activeChar = client.getActiveChar();
|
||||
if (activeChar != null)
|
||||
{
|
||||
// Connection con = client.getConnection();
|
||||
// int realX = activeChar.getX();
|
||||
// int realY = activeChar.getY();
|
||||
// int realZ = activeChar.getZ();
|
||||
// int realHeading = activeChar.getHeading();
|
||||
activeChar.setZ(z);
|
||||
activeChar.updateKnownCounter = (byte) (activeChar.updateKnownCounter + 1);
|
||||
if (activeChar.updateKnownCounter > 3)
|
||||
|
Reference in New Issue
Block a user