Kick player from instance on logout.
This commit is contained in:
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,13 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -64,7 +69,35 @@ public class Logout implements IClientIncomingPacket
|
|||||||
Olympiad.getInstance().unRegisterNoble(player);
|
Olympiad.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
final int instanceId = player.getInstanceId();
|
||||||
|
if (instanceId > 0)
|
||||||
|
{
|
||||||
|
final Instance world = InstanceManager.getInstance().getInstance(instanceId);
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
player.setInstanceId(0);
|
||||||
|
final Location location = world.getExitLoc();
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
if (player.hasSummon())
|
||||||
|
{
|
||||||
|
player.getSummon().teleToLocation(player, true);
|
||||||
|
}
|
||||||
|
world.removePlayer(player.getObjectId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -21,8 +21,12 @@ import java.util.logging.Logger;
|
|||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.enums.PrivateStoreType;
|
import org.l2jmobius.gameserver.enums.PrivateStoreType;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
import org.l2jmobius.gameserver.model.olympiad.Olympiad;
|
||||||
import org.l2jmobius.gameserver.model.sevensigns.SevenSignsFestival;
|
import org.l2jmobius.gameserver.model.sevensigns.SevenSignsFestival;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
@@ -129,7 +133,35 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
Olympiad.getInstance().unRegisterNoble(player);
|
Olympiad.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
final int instanceId = player.getInstanceId();
|
||||||
|
if (instanceId > 0)
|
||||||
|
{
|
||||||
|
final Instance world = InstanceManager.getInstance().getInstance(instanceId);
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
player.setInstanceId(0);
|
||||||
|
final Location location = world.getExitLoc();
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
if (player.hasSummon())
|
||||||
|
{
|
||||||
|
player.getSummon().teleToLocation(player, true);
|
||||||
|
}
|
||||||
|
world.removePlayer(player.getObjectId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,13 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -64,7 +69,35 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
final int instanceId = player.getInstanceId();
|
||||||
|
if (instanceId > 0)
|
||||||
|
{
|
||||||
|
final Instance world = InstanceManager.getInstance().getInstance(instanceId);
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
player.setInstanceId(0);
|
||||||
|
final Location location = world.getExitLoc();
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
if (player.hasSummon())
|
||||||
|
{
|
||||||
|
player.getSummon().teleToLocation(player, true);
|
||||||
|
}
|
||||||
|
world.removePlayer(player.getObjectId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -21,8 +21,12 @@ import java.util.logging.Logger;
|
|||||||
import org.l2jmobius.Config;
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
import org.l2jmobius.gameserver.enums.PrivateStoreType;
|
import org.l2jmobius.gameserver.enums.PrivateStoreType;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.instancemanager.InstanceManager;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.Party;
|
import org.l2jmobius.gameserver.model.Party;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.model.sevensigns.SevenSignsFestival;
|
import org.l2jmobius.gameserver.model.sevensigns.SevenSignsFestival;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
@@ -129,7 +133,35 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
final int instanceId = player.getInstanceId();
|
||||||
|
if (instanceId > 0)
|
||||||
|
{
|
||||||
|
final Instance world = InstanceManager.getInstance().getInstance(instanceId);
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
player.setInstanceId(0);
|
||||||
|
final Location location = world.getExitLoc();
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location, true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
if (player.hasSummon())
|
||||||
|
{
|
||||||
|
player.getSummon().teleToLocation(player, true);
|
||||||
|
}
|
||||||
|
world.removePlayer(player.getObjectId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
import org.l2jmobius.gameserver.network.GameClient;
|
import org.l2jmobius.gameserver.network.GameClient;
|
||||||
@@ -61,7 +65,31 @@ public class Logout implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).defaultSequence(false);
|
Disconnection.of(client, player).defaultSequence(false);
|
||||||
|
@@ -18,8 +18,12 @@ package org.l2jmobius.gameserver.network.clientpackets;
|
|||||||
|
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
|
import org.l2jmobius.Config;
|
||||||
import org.l2jmobius.commons.network.PacketReader;
|
import org.l2jmobius.commons.network.PacketReader;
|
||||||
|
import org.l2jmobius.gameserver.enums.TeleportWhereType;
|
||||||
|
import org.l2jmobius.gameserver.model.Location;
|
||||||
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
import org.l2jmobius.gameserver.model.actor.instance.PlayerInstance;
|
||||||
|
import org.l2jmobius.gameserver.model.instancezone.Instance;
|
||||||
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
import org.l2jmobius.gameserver.model.olympiad.OlympiadManager;
|
||||||
import org.l2jmobius.gameserver.network.ConnectionState;
|
import org.l2jmobius.gameserver.network.ConnectionState;
|
||||||
import org.l2jmobius.gameserver.network.Disconnection;
|
import org.l2jmobius.gameserver.network.Disconnection;
|
||||||
@@ -64,7 +68,31 @@ public class RequestRestart implements IClientIncomingPacket
|
|||||||
OlympiadManager.getInstance().unRegisterNoble(player);
|
OlympiadManager.getInstance().unRegisterNoble(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Instance world = player.getInstanceWorld();
|
||||||
|
if (world != null)
|
||||||
|
{
|
||||||
|
if (Config.RESTORE_PLAYER_INSTANCE)
|
||||||
|
{
|
||||||
|
player.getVariables().set("INSTANCE_RESTORE", world.getId());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final Location location = world.getExitLocation(player);
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
player.teleToLocation(location);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
player.teleToLocation(TeleportWhereType.TOWN);
|
||||||
|
}
|
||||||
|
player.getSummonedNpcs().forEach(npc -> npc.teleToLocation(player, true));
|
||||||
|
}
|
||||||
|
world.onInstanceChange(player, false);
|
||||||
|
}
|
||||||
|
|
||||||
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
LOGGER_ACCOUNTING.info("Logged out, " + client);
|
||||||
|
|
||||||
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
if (!OfflineTradeUtil.enteredOfflineMode(player))
|
||||||
{
|
{
|
||||||
Disconnection.of(client, player).storeMe().deleteMe();
|
Disconnection.of(client, player).storeMe().deleteMe();
|
||||||
|
Reference in New Issue
Block a user