Added /giverank Command

This commit is contained in:
hydrant
2018-10-16 00:16:07 +02:00
parent 5ec7dc0bc5
commit ad0dc01be2

View File

@@ -95,5 +95,45 @@ namespace reallife_gamemode.Server.Commands
return; return;
} }
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
public void CmdFactionGiverank(Client player, string name, string rank)
{
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
if (target == null || !target.IsLoggedIn())
{
ChatService.PlayerNotFound(player);
return;
}
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
{
player.SendChatMessage("~r~[FEHLER]~s~ Dieser Spieler ist nicht in deiner Fraktion.");
return;
}
using (var dbContext = new DatabaseContext())
{
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.RankName == rank && r.FactionId == player.GetUser(dbContext).FactionId);
if(fr == null)
{
player.SendChatMessage("~r~[FEHLER]~s~ Dieser Rang existiert nicht.");
return;
}
target.GetUser(dbContext).FactionRankId = fr.Id;
player.SendChatMessage("!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' gegeben.");
target.SendChatMessage("!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' erhalten.");
dbContext.SaveChanges();
}
}
} }
} }