Esempio n. 1
0
        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}");
            }
        }