Esempio n. 1
0
 protected override void OnClientBan(ref MyControlBanClientMsg data, ulong kicked)
 {
     System.Diagnostics.Debug.Fail("Ban is not supported in lobbies");
 }
 protected override void OnClientBan(ref MyControlBanClientMsg data, ulong sender)
 {
     if (IsAdmin(sender))
         BanClient(data.BannedClient, data.Banned);
 }
        protected override void OnClientBan(ref MyControlBanClientMsg data, ulong sender)
        {
            if (data.BannedClient == MySteam.UserId && data.Banned == true)
            {
                // We don't want to send disconnect message because the clients will disconnect the client automatically upon receiving on the MyControlBanClientMsg
                m_clientJoined = false;

                Dispose();
                MyGuiScreenMainMenu.ReturnToMainMenu();
                MyGuiSandbox.AddScreen(MyGuiSandbox.CreateMessageBox(
                    messageCaption: MyTexts.Get(MySpaceTexts.MessageBoxCaptionKicked),
                    messageText: MyTexts.Get(MySpaceTexts.MessageBoxTextYouHaveBeenBanned)));
            }
            else
            {
                if (data.Banned) AddBannedClient(data.BannedClient);
                else RemoveBannedClient(data.BannedClient);

                if (m_members.Contains(data.BannedClient) && data.Banned == true)
                {
                    RaiseClientLeft(data.BannedClient, ChatMemberStateChangeEnum.Banned);
                }
            }
        }
        public override void BanClient(ulong userId, bool banned)
        {
            if (banned)
            {
                MyLog.Default.WriteLineAndConsole("Player " + GetMemberName(userId) + " banned");
                MyControlBanClientMsg msg = new MyControlBanClientMsg();
                msg.BannedClient = userId;
                msg.Banned = true;
                SendControlMessageToAll(ref msg);

                AddBannedClient(userId);
                if (m_members.Contains(userId))
                {
                    RaiseClientLeft(userId, ChatMemberStateChangeEnum.Banned);
                }

                MySandboxGame.ConfigDedicated.Banned.Add(userId);
            }
            else
            {
                MyLog.Default.WriteLineAndConsole("Player " + userId.ToString() + " unbanned");
                RemoveBannedClient(userId);
                MySandboxGame.ConfigDedicated.Banned.Remove(userId);
            }

            MySandboxGame.ConfigDedicated.Save();
        }
 public override void BanClient(ulong client, bool ban)
 {
     MyControlBanClientMsg msg = new MyControlBanClientMsg();
     msg.BannedClient = client;
     msg.Banned = ban;
     SendControlMessage(ServerId, ref msg);
 }