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); }