Files
reallife-gamemode/Server/Commands/Faction.cs
2018-09-23 23:11:22 +02:00

87 lines
2.8 KiB
C#

using GTANetworkAPI;
using Newtonsoft.Json;
using reallife_gamemode.Model;
using reallife_gamemode.Server.Entities;
using reallife_gamemode.Server.Extensions;
using reallife_gamemode.Server.Services;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
/**
* @overview Life of German Reallife - Faction Commands (Faction.cs)
* @author VegaZ, hydrant
* @copyright (c) 2008 - 2018 Life of German
*/
namespace reallife_gamemode.Server.Commands
{
class Faction : Script
{
[Command("f", "~m~Benutzung: ~s~/f [Nachricht]", GreedyArg = true)]
public void CmdFactionF(Client player, string message)
{
Entities.Faction f = player.GetFaction();
if(f == null || f.StateOwned)
{
ChatService.NotAuthorized(player);
return;
}
string broadcastMessage = "!{02FCFF}** " + player.Name + ": " + message + " )) **";
ChatService.BroadcastFaction(broadcastMessage, f);
}
[Command("r", "~m~Benutzung: ~s~/r [Nachricht]", GreedyArg = true)]
public void CmdFactionR(Client player, string message)
{
Entities.Faction f = player.GetFaction();
if (f == null || !f.StateOwned)
{
ChatService.NotAuthorized(player);
return;
}
string broadcastMessage = "!{33AA33}** " + player.Name + ": " + message + ", over **";
ChatService.BroadcastFaction(broadcastMessage, f);
}
[Command("d", "~m~Benutzung: ~s~/d [Nachricht]", GreedyArg = true)]
public void CmdFactionD(Client player, string message)
{
Entities.Faction f = player.GetFaction();
if (f == null || !f.StateOwned)
{
ChatService.NotAuthorized(player);
return;
}
string broadcastMessage = "!{CC3333}** " + player.Name + ": " + message + ", over **";
using(var context = new DatabaseContext())
{
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned));
}
}
[Command("managefactionranks")]
public void CmdFactionManageFactionRanks(Client player)
{
Entities.Faction f = player.GetFaction();
if (f == null)
{
ChatService.NotAuthorized(player);
return;
}
using(var context = new DatabaseContext())
{
List<FactionRank> factionRanks = context.FactionRanks.ToList().FindAll(r => r.FactionId == f.Id);
string json = JsonConvert.SerializeObject(factionRanks, Formatting.None);
player.TriggerEvent("manageFactionRanks", json);
}
}
}
}