public static void Prefix(ReferenceHub __instance) { if (EventPlugin.PlayerLeaveEventPatchDisable) { return; } EventPlugin.ToMultiAdmin("Player disconnect: "); try { Events.InvokePlayerLeave(__instance); } catch (Exception exception) { Log.Error($"PlayerLeaveEvent error: {exception}"); } }
public static void Prefix(PlayerStats __instance) { if (EventPlugin.RoundRestartEventPatchDisable) { return; } EventPlugin.ToMultiAdmin("Round restarting"); try { Events.InvokeRoundRestart(); Events.InvokeRoundEnd(); } catch (Exception exception) { Log.Error($"RoundRestartEvent/RoundEndEvent error: {exception}"); } }
public static void Postfix(NicknameSync __instance) { if (EventPlugin.PlayerJoinEventPatchDisable) { return; } EventPlugin.ToMultiAdmin($"Player connect: "); if (PlayerManager.players.Count >= CustomNetworkManager.slots) { EventPlugin.ToMultiAdmin($"Server full"); } try { ReferenceHub player = __instance.gameObject.GetPlayer(); Timing.CallDelayed(0.25f, () => { if (player != null && player.IsMuted()) { player.characterClassManager.SetDirtyBit(1UL); } }); if (!string.IsNullOrEmpty(player.characterClassManager.UserId)) { Events.InvokePlayerJoin(player); } } catch (Exception exception) { Log.Error($"PlayerJoinEvent error: {exception}"); } }