improve /giverank command
This commit is contained in:
@@ -237,7 +237,20 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
[Command("giverank", "~m~Benutzung: ~s~/giverank [Name] [Rang]", GreedyArg = true)]
|
||||||
public void CmdFactionGiverank(Player player, string name, string rank)
|
public void CmdFactionGiverank(Player player, string name, string rank)
|
||||||
{
|
{
|
||||||
if (player.GetUser()?.FactionId == null || player.GetUser().FactionLeader == false)
|
if (!player.IsLoggedIn())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
using var dbContext = new DatabaseContext();
|
||||||
|
User user = player.GetUser(dbContext);
|
||||||
|
|
||||||
|
if (user == null)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (user.FactionId == null || !user.FactionLeader)
|
||||||
{
|
{
|
||||||
ChatService.NotAuthorized(player);
|
ChatService.NotAuthorized(player);
|
||||||
return;
|
return;
|
||||||
@@ -250,28 +263,32 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (target.GetUser()?.FactionId != player.GetUser()?.FactionId)
|
User targetUser = target.GetUser(dbContext);
|
||||||
|
if (targetUser == null)
|
||||||
|
{
|
||||||
|
ChatService.PlayerNotFound(player);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetUser.FactionId != user.FactionId)
|
||||||
{
|
{
|
||||||
ChatService.ErrorMessage(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
ChatService.ErrorMessage(player, "Dieser Spieler ist nicht in deiner Fraktion");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
using (var dbContext = new DatabaseContext())
|
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.Order == int.Parse(rank) && r.FactionId == user.FactionId);
|
||||||
|
if (fr == null)
|
||||||
{
|
{
|
||||||
FactionRank fr = dbContext.FactionRanks.FirstOrDefault(r => r.Order == int.Parse(rank) && r.FactionId == player.GetUser(dbContext).FactionId);
|
ChatService.ErrorMessage(player, "Dieser Rang existiert nicht");
|
||||||
if (fr == null)
|
return;
|
||||||
{
|
|
||||||
ChatService.ErrorMessage(player, "Dieser Rang existiert nicht");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
target.GetUser(dbContext).FactionRankId = fr.Id;
|
|
||||||
|
|
||||||
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben.");
|
|
||||||
ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten.");
|
|
||||||
|
|
||||||
dbContext.SaveChanges();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
targetUser.FactionRankId = fr.Id;
|
||||||
|
|
||||||
|
ChatService.SendMessage(player, "!{02FCFF}Du hast " + target.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ") gegeben.");
|
||||||
|
ChatService.SendMessage(target, "!{02FCFF}Du hast von " + player.Name + " den Rang '" + fr.RankName + "' (" + fr.Order + ")' erhalten.");
|
||||||
|
|
||||||
|
dbContext.SaveChanges();
|
||||||
}
|
}
|
||||||
|
|
||||||
[Command("lc", "~m~Benutzung: ~s~/lc [Nachricht]", GreedyArg = true)]
|
[Command("lc", "~m~Benutzung: ~s~/lc [Nachricht]", GreedyArg = true)]
|
||||||
|
|||||||
Reference in New Issue
Block a user