Ejemplo n.º 1
0
        private void Reappear(BasePlayer basePlayer)
        {
            if (onlinePlayers[basePlayer] != null)
            {
                onlinePlayers[basePlayer].IsInvisible = false;
            }
            basePlayer.SendNetworkUpdate();
            basePlayer.limitNetworking = false;

            HeldEntity heldEnity = basePlayer.GetHeldEntity();

            if (heldEnity != null)
            {
                heldEnity.UpdateVisibility_Hand();
                heldEnity.SendNetworkUpdate();
            }

            basePlayer.UpdatePlayerCollider(true);

            string gui;

            if (guiInfo.TryGetValue(basePlayer.userID, out gui))
            {
                CuiHelper.DestroyUi(basePlayer, gui);
            }

            Message(basePlayer.IPlayer, "VanishDisabled");
            if (onlinePlayers.Values.Count(p => p.IsInvisible) <= 0)
            {
                Unsubscribe(nameof(CanNetworkTo));
            }
        }
Ejemplo n.º 2
0
        private void Reappear(BasePlayer basePlayer)
        {
            if (onlinePlayers[basePlayer] != null)
            {
                onlinePlayers[basePlayer].IsInvisible = false;
                onlinePlayers[basePlayer].groupSwitchTimer?.Destroy();

                if (basePlayer.GetComponent <WeaponBlock>() != null)
                {
                    GameObject.Destroy(basePlayer.GetComponent <WeaponBlock>());
                }

                if (basePlayer.GetComponent <Runner>() != null)
                {
                    GameObject.Destroy(basePlayer.GetComponent <Runner>());
                }
            }
            basePlayer.syncPosition = true;
            basePlayer.SendNetworkUpdate();
            basePlayer.limitNetworking = false;

            HeldEntity heldEnity = basePlayer.GetHeldEntity();

            if (heldEnity != null)
            {
                heldEnity.UpdateVisibility_Hand();
                heldEnity.SendNetworkUpdate();
            }

            basePlayer.UpdatePlayerCollider(true);

            string gui;

            if (guiInfo.TryGetValue(basePlayer.userID, out gui))
            {
                CuiHelper.DestroyUi(basePlayer, gui);
            }

            Message(basePlayer.IPlayer, "VanishDisabled");

            if (!AnyInvisible)
            {
                Unsubscribe(nameof(CanNetworkTo));
            }

            Interface.CallHook("OnVanishReappear", basePlayer);
            storedData.Invisible.Remove(basePlayer.userID);
        }
Ejemplo n.º 3
0
        public static void Reappear(BasePlayer ply)
        {
            if (!ply.IsInvisible)
            {
                return;
            }
            ply.IsInvisible = false;
            ply.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
            HeldEntity heldEntity = ply.GetHeldEntity();

            if (heldEntity != null)
            {
                heldEntity.UpdateVisibility_Hand();
                heldEntity.SendNetworkUpdate(BasePlayer.NetworkQueue.Update);
            }
            ply.UpdatePlayerCollider(true);
            CommunityEntity.ServerInstance.ClientRPCEx <string>(new SendInfo
            {
                connection = ply.net.connection
            }, null, "DestroyUI", "InvisibleIndicator");
        }