Add some Faction commands, Try EF error fix

This commit is contained in:
hydrant
2018-09-23 13:34:02 +02:00
parent dfca89fc08
commit 4631f4bb75
4 changed files with 81 additions and 13 deletions

View File

@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GTANetworkAPI;
using reallife_gamemode.Model;
using reallife_gamemode.Server.Extensions;
using reallife_gamemode.Server.Services;
using reallife_gamemode.Server.Util;
@@ -199,5 +201,57 @@ namespace reallife_gamemode.Server.Commands
target.GiveWeapon(wHash, ammo);
}
[Command("factionlist", "~m~Benutzung: ~s~/factionlist")]
public void CmdAdminFactionlist(Client player)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
using(var dbContext = new DatabaseContext())
{
player.SendChatMessage("~m~__________ ~s~Fraktionen ~m~__________");
foreach(Entities.Faction f in dbContext.Factions)
{
player.SendChatMessage(f.Id.ToString().PadRight(3) + " | " + f.Name);
}
}
}
[Command("ainvite", "~m~Benutzung: ~s~/ainvite [Name] [Fraktion]")]
public void CmdAdminAinvite(Client player, string name, int faction)
{
if (!player.GetUser()?.IsAdmin(AdminLevel.ADMIN) ?? true)
{
ChatService.NotAuthorized(player);
return;
}
Client target = ClientService.GetClientByName(name);
if (target == null)
{
ChatService.PlayerNotFound(player);
return;
}
using (var dbContext = new DatabaseContext())
{
Entities.Faction f = dbContext.Factions.FirstOrDefault(x => x.Id == faction);
if(f == null)
{
player.SendChatMessage("~r~[FEHLER]~s~ Diese Fraktion existiert nicht (Liste: ~m~/factionlist).");
return;
}
target.GetUser(dbContext).Faction = f;
dbContext.SaveChanges();
player.SendChatMessage("~b~[ADMIN]~y~ " + player.Name + "~s~ hat den Spieler ~y~" + target.Name + "~s~ administrativ in die Fraktion ~o~" + f.Name + "~s~ eingeladen.");
target.SendChatMessage("~b~[ADMIN]~y~ Du wurdest von ~y~" + player.Name + "~s~ administrativ in die Fraktion ~o~" + f.Name + "~s~ eingeladen.");
}
}
}
}