public void HandleTeleportPlayer(WorldClient client, GMTeleportPlayerPacket packet)
        {
            if (!_gameSession.IsAdmin)
            {
                return;
            }

            var player = _gameWorld.Players.FirstOrDefault(p => p.Value.AdditionalInfoManager.Name == packet.Name).Value;
            var ok     = Handle(player, packet.MapId, packet.X, 10, packet.Z);

            if (ok)
            {
                _packetFactory.SendGmCommandSuccess(client);
            }
            else
            {
                _packetFactory.SendGmCommandError(client, PacketType.GM_TELEPORT_PLAYER);
            }
        }
        private void HandleGMTeleportPlayer(GMTeleportPlayerPacket gmTeleportPlayerPacket)
        {
            var(name, newPosX, newPosZ, mapId) = gmTeleportPlayerPacket;

            var target = _gameWorld.Players.FirstOrDefault(p => p.Value.Name == name).Value;

            if (target == null)
            {
                _packetsHelper.SendGmCommandError(Client, PacketType.GM_TELEPORT_PLAYER);
                return;
            }

            if (!_gameWorld.Maps.ContainsKey(mapId))
            {
                _packetsHelper.SendGmCommandError(Client, PacketType.GM_TELEPORT_MAP_COORDINATES);
                return;
            }

            _packetsHelper.SendGmCommandSuccess(Client);

            target?.Teleport(mapId, newPosX, PosY, newPosZ, true);
        }