Add warn / removewarn system
This commit is contained in:
@@ -126,6 +126,8 @@ namespace ReallifeGamemode.Database.Entities
|
|||||||
public int otheramount { get; set; } = 0;
|
public int otheramount { get; set; } = 0;
|
||||||
public int failpoints { get; set; } = 0;
|
public int failpoints { get; set; } = 0;
|
||||||
|
|
||||||
|
public int warn { get; set; } = 0;
|
||||||
|
|
||||||
[NotMapped]
|
[NotMapped]
|
||||||
public Player Player
|
public Player Player
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -728,6 +728,42 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
ChatService.Broadcast("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " gekickt: " + reason);
|
ChatService.Broadcast("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " gekickt: " + reason);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Command("warn", "~m~Benutzung: ~s~/warn [Player] [Grund]", GreedyArg = true)]
|
||||||
|
public void CmdAdminWarn(Player player, string targetname, string reason)
|
||||||
|
{
|
||||||
|
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
|
||||||
|
{
|
||||||
|
ChatService.NotAuthorized(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player target = PlayerService.GetPlayerByNameOrId(targetname);
|
||||||
|
if (target == null || !target.IsLoggedIn())
|
||||||
|
{
|
||||||
|
ChatService.PlayerNotFound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string targetPlayername = NAPI.Player.GetPlayerName(target);
|
||||||
|
string adminPlayername = NAPI.Player.GetPlayerName(player);
|
||||||
|
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
User userwarn = player.GetUser(dbContext);
|
||||||
|
|
||||||
|
userwarn.warn ++;
|
||||||
|
dbContext.SaveChanges();
|
||||||
|
if (userwarn.warn >= 3)
|
||||||
|
{
|
||||||
|
ChatService.Broadcast("~y~INFO: Das war der 3. Warn - bitte bannen!");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ChatService.SendMessage(target, "~r~WARNINFO: ~w~Du wurdest von " + adminPlayername + " verwarnt: " + reason);
|
||||||
|
|
||||||
|
ChatService.Broadcast("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " verwarnt: " + reason);
|
||||||
|
}
|
||||||
|
|
||||||
[Command("ip", "~m~Benutzung: ~s~/ip [Spieler]")]
|
[Command("ip", "~m~Benutzung: ~s~/ip [Spieler]")]
|
||||||
public void CmdAdminIp(Player player, string targetname)
|
public void CmdAdminIp(Player player, string targetname)
|
||||||
{
|
{
|
||||||
@@ -1604,6 +1640,41 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
|
|
||||||
#region ALevel1337
|
#region ALevel1337
|
||||||
|
|
||||||
|
[Command("removewarn", "~m~Benutzung: ~s~/removewarn [Player] [Grund]", GreedyArg = true)]
|
||||||
|
public void CmdAdminRemovewarn(Player player, string targetname, string reason)
|
||||||
|
{
|
||||||
|
if (!player.GetUser()?.IsAdmin(AdminLevel.HEADADMIN) ?? true)
|
||||||
|
{
|
||||||
|
ChatService.NotAuthorized(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Player target = PlayerService.GetPlayerByNameOrId(targetname);
|
||||||
|
if (target == null || !target.IsLoggedIn())
|
||||||
|
{
|
||||||
|
ChatService.PlayerNotFound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
string targetPlayername = NAPI.Player.GetPlayerName(target);
|
||||||
|
string adminPlayername = NAPI.Player.GetPlayerName(player);
|
||||||
|
|
||||||
|
using (var dbContext = new DatabaseContext())
|
||||||
|
{
|
||||||
|
User userwarn = player.GetUser(dbContext);
|
||||||
|
if (userwarn.warn == 0)
|
||||||
|
{
|
||||||
|
player.SendChatMessage("~r~WARNINFO: ~w~Der User hat bereits 0 Warns");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
userwarn.warn--;
|
||||||
|
dbContext.SaveChanges();
|
||||||
|
}
|
||||||
|
ChatService.SendMessage(target, "~r~WARNINFO: ~w~Dir wurde von " + adminPlayername + " ein Warn entfernt: " + reason);
|
||||||
|
|
||||||
|
ChatService.Broadcast("~y~INFO: ~w~" + targetPlayername + " wurde von " + player.GetUser().AdminLevel.GetName() + " " + adminPlayername + " ein Warn entfernt: " + reason);
|
||||||
|
}
|
||||||
|
|
||||||
[Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")]
|
[Command("setskill", "~m~Benutzung: ~s~/setskill [Playerid] [Bus/Pilot] [Menge]")]
|
||||||
public void CmdAdminSetSkill(Player player, string name, string Skill, int SkillLevel)
|
public void CmdAdminSetSkill(Player player, string name, string Skill, int SkillLevel)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user