示例#1
0
        public bool BanPlayer(Client player, BanData data)
        {
            string path = Path.Combine(NAPI.Resource.GetResourceFolder(this), bannedFolderName, player.SocialClubName.ToString() + ".json");

            if (!File.Exists(path))
            {
                File.WriteAllText(path, JsonConvert.SerializeObject(data, Formatting.Indented));
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#2
0
文件: Admin.cs 项目: mrkesl/projectx
        public void CMD_Ban(Client player, string targetName, string reason)
        {
            AdminAccount acc = AccountHandler.instance.GetAccount(player);

            if (acc != null)
            {
                if (DoesPlayerHaveAccess(acc.Level, AdminRanks.Admin))
                {
                    Client target = GetPlayerByNameOrID(targetName);
                    if (target != null)
                    {
                        BanData data = new BanData
                        {
                            SocialClub = target.SocialClubName,
                            HardwareID = target.Serial,
                            IP         = target.Address,

                            BannedBy = acc.AdminName,
                            Reason   = reason,
                            Date     = DateTime.Now
                        };
                        if (Database.instance.BanPlayer(target, data))
                        {
                            // Player doesn't seem to get the kick reason, hence the sendchat has been added.
                            NAPI.Chat.SendChatMessageToPlayer(target, "BANNED: " + reason);
                            NAPI.Player.KickPlayer(target, "BANNED: " + reason);
                            SendGlobalAdmCmd(target.Name + " was banned by " + acc.AdminName + ". Reason: " + reason);
                        }
                        else
                        {
                            SendAdmMsg(player, "Something went wrong.. A file for this player already exists!");
                        }
                    }
                    else
                    {
                        SendPlayerNotFound(player);
                    }
                }
                else
                {
                    SendNoPermMsg(player);
                }
            }
            else
            {
                SendNoPermMsg(player);
            }
        }