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); } }
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); } }