/tog d & ga

This commit is contained in:
hydrant
2021-04-20 23:41:22 +02:00
parent e3a9b0d7e5
commit d12f10fbb4
3 changed files with 29 additions and 6 deletions

View File

@@ -240,6 +240,29 @@ namespace ReallifeGamemode.Server.Commands
player.SendNotification("~g~[Info]~w~ Connect-Logs werden nun angezeigt."); player.SendNotification("~g~[Info]~w~ Connect-Logs werden nun angezeigt.");
} }
break; break;
case "d":
if (player.HasData("togd"))
{
player.ResetData("togd");
player.SendNotification("~g~[Info]~w~ D-Chat wird nun ausgeblendet.");
}
else
{
player.SetData("togd", true);
player.SendNotification("~g~[Info]~w~ D-Chat wird nun angezeigt.");
}
case "ga":
if (player.HasData("togga"))
{
player.ResetData("togga");
player.SendNotification("~g~[Info]~w~ GA-Chat wird nun ausgeblendet.");
}
else
{
player.SetData("togga", true);
player.SendNotification("~g~[Info]~w~ GA-Chat wird nun angezeigt.");
}
break;
} }
} }

View File

@@ -74,7 +74,7 @@ namespace ReallifeGamemode.Server.Commands
User user = player.GetUser(dbContext); User user = player.GetUser(dbContext);
Faction f = user?.Faction; Faction f = user?.Faction;
if ((f == null || !f.GangOwned) && !user.IsAdmin(AdminLevel.ADMIN)) if ((f == null || !f.GangOwned) && !user.IsAdmin(AdminLevel.ADMIN) && !player.HasData("togga"))
{ {
ChatService.NotAuthorized(player); ChatService.NotAuthorized(player);
return; return;
@@ -105,7 +105,7 @@ namespace ReallifeGamemode.Server.Commands
string broadcastMessage = "!{FF0000}** " + rank + " " + player.Name + ": " + message + " **"; string broadcastMessage = "!{FF0000}** " + rank + " " + player.Name + ": " + message + " **";
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())
{ {
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.GangOwned), true); ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.GangOwned), true, (admin) => admin.HasData("togga"));
} }
} }
@@ -154,7 +154,7 @@ namespace ReallifeGamemode.Server.Commands
User user = player.GetUser(dbContext); User user = player.GetUser(dbContext);
Faction f = user?.Faction; Faction f = user?.Faction;
if ((f == null || !f.StateOwned) && !user.IsAdmin(AdminLevel.ADMIN)) if ((f == null || !f.StateOwned) && !user.IsAdmin(AdminLevel.ADMIN) && !player.HasData("todg"))
{ {
ChatService.NotAuthorized(player); ChatService.NotAuthorized(player);
return; return;
@@ -185,7 +185,7 @@ namespace ReallifeGamemode.Server.Commands
string broadcastMessage = "!{CC3333}** " + factionName + " " + player.Name + ": " + message + ", over **"; string broadcastMessage = "!{CC3333}** " + factionName + " " + player.Name + ": " + message + ", over **";
using (var context = new DatabaseContext()) using (var context = new DatabaseContext())
{ {
ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned), true); ChatService.BroadcastFaction(broadcastMessage, context.Factions.ToList().FindAll(c => c.StateOwned), true, (admin) => admin.HasData("togd"));
} }
} }

View File

@@ -53,7 +53,7 @@ namespace ReallifeGamemode.Server.Services
/// </summary> /// </summary>
/// <param name="message">Die Nachricht, die gesendet werden soll</param> /// <param name="message">Die Nachricht, die gesendet werden soll</param>
/// <param name="factions">Die Liste an Fraktionen, die diese Nachricht bekommen sollen</param> /// <param name="factions">Die Liste an Fraktionen, die diese Nachricht bekommen sollen</param>
public static void BroadcastFaction(string message, List<Faction> factions, bool toAdmins = false) public static void BroadcastFaction(string message, List<Faction> factions, bool toAdmins = false, Predicate<Player> shouldSendToAdmins = null)
{ {
foreach (Player c in NAPI.Pools.GetAllPlayers()) foreach (Player c in NAPI.Pools.GetAllPlayers())
{ {
@@ -63,7 +63,7 @@ namespace ReallifeGamemode.Server.Services
{ {
ChatService.SendMessage(c, message); ChatService.SendMessage(c, message);
} }
else if (user.IsAdmin(AdminLevel.ADMIN) && toAdmins) else if (user.IsAdmin(AdminLevel.ADMIN) && (toAdmins && (shouldSendToAdmins == null || shouldSendToAdmins(c))))
{ {
ChatService.SendMessage(c, message); ChatService.SendMessage(c, message);
} }