internal void OnPlayerLeave(PlayerLeaveEvent ev) { if (ev.Player.characterClassManager.isClient) { playerTable.Remove(ev.Player); } }
internal void InvokePlayerLeaveEvent(Player player) { var ev = new PlayerLeaveEventArgs { Player = player }; PlayerLeaveEvent?.Invoke(ev); }
public void OnLeave(PlayerLeaveEvent ev) { if (ev.Player == Scp035Player) { Scp035Player = null; Pickup pickup = Map.SpawnItem(SCP035ItemType, ev.Player.Position); Timing.KillCoroutines(Hurt035Coroutine); Scp035Pickup = pickup; } CheckOnlySCPs(); }
/// <summary> /// This is the event handler for players leaving /// </summary> public void OnPlayerLeave(PlayerLeaveEvent ev) { Dictionary <string, string> variables = new Dictionary <string, string> { { "ipaddress", ev.Player.IpAddress }, { "name", ev.Player.Name }, { "steamid", ev.Player.GetParsedUserID() }, { "playerid", ev.Player.PlayerId.ToString() } }; this.plugin.SendMessage(Config.GetArray("channels.onplayerleave"), "round.onplayerleave", variables); }
public void OnLeave(PlayerLeaveEvent ev) { if (!Sitrep.Events.Contains("playerleaveevent")) { return; } if (!Sitrep.CustomChannelIds.TryGetValue("playerleaveevent", out ulong channel)) { channel = Sitrep.EventsId; } Send($":arrow_backward: [{ev.Player.Role.AsString()}] {ev.Player.Nick.DiscordSanitize()} ({ev.Player.ParsedUserId}) se odpojil.", channel); }
public void OnPlayerLeave(PlayerLeaveEvent ev) { if (!isQueue) { return; } try { alives.Find(x => x.Player.PlayerId == ev.Player.PlayerId).EndTasks(); } catch { } }
internal static void InvokePlayerLeaveEvent(Player player) { if (PlayerLeaveEvent == null) { return; } var ev = new PlayerLeaveEvent { Player = player }; PlayerLeaveEvent.Invoke(ev); }
private void IOnPlayerDisconnected(PlayerLeaveEvent evt) { // Ignore the server player if (evt.Player.Equals(CodeHatch.Engine.Networking.Server.ServerPlayer)) // TODO: Handle potential NullReferenceException { return; } // Call game-specific hook Interface.Call("OnPlayerDisconnected", evt.Player); // Call universal hook Interface.Call("OnPlayerDisconnected", evt.Player.IPlayer, lang.GetMessage("Unknown", this, evt.Player.IPlayer.Id)); // Let universal know Universal.PlayerManager.PlayerDisconnected(evt.Player); }
public virtual void RemovePlayer(GamePeer peer, ExitRequest exitReq, SendParameters sendParameters) { lock (syncRoot) { if (playerManager.HasPlayer(peer) == false) { return; //already removed. } BroadcastMessageHandler -= peer.OnBroadcastMessage; peer.OnLeaveHandler -= OnPeerLeave; PlayerLeaveEvent leaveEvent = new PlayerLeaveEvent(); leaveEvent.Actor = playerManager.GetPlayer(peer).key.ID; EventData eventData = new EventData(EventCode.PlayerLeave, leaveEvent); BroadcastMessage(peer, eventData, sendParameters); playerManager.RemovePlayer(peer); } }
public void OnPlayerLeave(PlayerLeaveEvent ev) { if (ev.Player.GetTeam() != Team.RIP) { bool is035 = false; bool isSH = false; Dictionary <ReferenceHub, bool> spies = null; try { is035 = ev.Player.queryProcessor.PlayerId == TryGet035()?.queryProcessor.PlayerId; } catch (Exception x) { Log.Debug("SCP-035 is not installed, skipping method call..."); } try { isSH = TryGetSH().Contains(ev.Player.queryProcessor.PlayerId); } catch (Exception x) { Log.Debug("Serpents Hand is not installed, skipping method call..."); } try { spies = TryGetSpies(); } catch (Exception x) { Log.Debug("CISpy is not installed, skipping method call..."); } Inventory.SyncListItemInfo items = ev.Player.inventory.items; RoleType role = ev.Player.GetRole(); Vector3 pos = ev.Player.transform.position; int health = (int)ev.Player.playerStats.health; string ammo = ev.Player.ammoBox.amount; ReferenceHub player = Player.GetHubs().FirstOrDefault(x => x.GetRole() == RoleType.Spectator && x.characterClassManager.UserId != string.Empty && !x.GetOverwatch()); if (player != null) { if (isSH) { try { TrySpawnSH(player); } catch (Exception x) { Log.Debug("Serpents Hand is not installed, skipping method call..."); } } else { player.SetRole(role); } if (spies != null && spies.ContainsKey(ev.Player)) { try { TrySpawnSpy(player, ev.Player, spies); } catch (Exception x) { Log.Debug("CISpy is not installed, skipping method call..."); } } if (is035) { try { TrySpawn035(player); } catch (Exception x) { Log.Debug("SCP-035 is not installed, skipping method call..."); } } Timing.CallDelayed(0.3f, () => { player.SetPosition(pos); player.inventory.items.ToList().Clear(); foreach (var item in items) { player.inventory.AddNewItem(item.id); } player.playerStats.health = health; player.ammoBox.Networkamount = ammo; player.Broadcast(5, MsgConfig.ReplaceCustomMsg, false); }); } } }
add => Add(_anyPlayerLeave, value, PlayerLeaveEvent, GetPlayerLeaveEventResponse);
public void OnPlayerLeave(PlayerLeaveEvent ev) => RemoveComponent(ev.Player);
public void OnPlayerLeave(PlayerLeaveEvent ev) => DiscordLab.bot.NewMessage($"{ev.Player} disconnected from the server.");