fix /tog command
This commit is contained in:
@@ -224,7 +224,7 @@ namespace ReallifeGamemode.Server.Commands
|
|||||||
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||||
{
|
{
|
||||||
User pUser = p.GetUser();
|
User pUser = p.GetUser();
|
||||||
if ((pUser?.FactionLeader ?? false) || pUser.IsAdmin(AdminLevel.ADMIN))
|
if ((pUser?.FactionLeader ?? false) || (pUser.IsAdmin(AdminLevel.ADMIN) && !p.HasData("toglc")))
|
||||||
{
|
{
|
||||||
ChatService.SendMessage(p, broadcastMsg);
|
ChatService.SendMessage(p, broadcastMsg);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -70,7 +70,10 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
{
|
{
|
||||||
Autowanted.Check_AutoWanted(killer, player);
|
Autowanted.Check_AutoWanted(killer, player);
|
||||||
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + Managers.WeaponManager.GetCauseOfDeathByHash(reason) + ")";
|
string message = "~y~[HINWEIS]: " + killer.Name + " hat " + player.Name + " getötet (" + Managers.WeaponManager.GetCauseOfDeathByHash(reason) + ")";
|
||||||
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN);
|
ChatService.BroadcastAdmin(message, AdminLevel.ADMIN, shouldSendMessage: admin =>
|
||||||
|
{
|
||||||
|
return admin.HasData("togdeath");
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -92,15 +92,30 @@ namespace ReallifeGamemode.Server.Events
|
|||||||
ChatService.BroadcastGroup(msg, user.Group);
|
ChatService.BroadcastGroup(msg, user.Group);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string message = string.Empty;
|
||||||
|
|
||||||
if (GlobalHelper.CustomJoinMessages.ContainsKey(player.SocialClubName))
|
if (GlobalHelper.CustomJoinMessages.ContainsKey(player.SocialClubName))
|
||||||
{
|
{
|
||||||
ChatService.BroadcastAdmin("!{#FFFF00}*** " + GlobalHelper.CustomJoinMessages[player.SocialClubName] + " [ID: " + player.Handle.Value + "] (" + user.AdminLevel.GetName() + ")", AdminLevel.MAPPING);
|
message = "!{#FFFF00}*** " + GlobalHelper.CustomJoinMessages[player.SocialClubName] + " [ID: " + player.Handle.Value + "] (" + user.AdminLevel.GetName() + ")");
|
||||||
}
|
}
|
||||||
else if (user.IsAdmin(AdminLevel.MAPPING))
|
else if (user.IsAdmin(AdminLevel.MAPPING))
|
||||||
{
|
{
|
||||||
ChatService.BroadcastAdmin("!{#FFFF00}*** " + user.Name + " [ID: " + player.Handle.Value + "]" + " hat sich als " + user.AdminLevel.GetName() + " eingeloggt!", AdminLevel.MAPPING);
|
message = "!{#FFFF00}*** " + user.Name + " [ID: " + player.Handle.Value + "]" + " hat sich als " + user.AdminLevel.GetName() + " eingeloggt!";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
string addInfoStr = " (IP: " + player.Address + ")";
|
||||||
|
|
||||||
|
if(!string.IsNullOrEmpty(message))
|
||||||
|
{
|
||||||
|
ChatService.BroadcastAdmin(message, AdminLevel.MAPPING, admin =>
|
||||||
|
{
|
||||||
|
if(admin.HasData("togip"))
|
||||||
|
{
|
||||||
|
return addInfoStr;
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
var userItems = dbContext.UserItems.Where(u => u.UserId == user.Id).ToList();
|
var userItems = dbContext.UserItems.Where(u => u.UserId == user.Id).ToList();
|
||||||
player.SetData("items", userItems);
|
player.SetData("items", userItems);
|
||||||
|
|||||||
@@ -94,12 +94,25 @@ 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="minLevel">Das mindest Admin Level, das für das Erhalten dieser Nachricht benötigt wird</param>
|
/// <param name="minLevel">Das mindest Admin Level, das für das Erhalten dieser Nachricht benötigt wird</param>
|
||||||
public static void BroadcastAdmin(string message, AdminLevel minLevel)
|
public static void BroadcastAdmin(string message, AdminLevel minLevel, Func<Player, string> getAddInfoMessage = null, Predicate<Player> shouldSendMessage = null)
|
||||||
{
|
{
|
||||||
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
NAPI.Pools.GetAllPlayers().ForEach(p =>
|
||||||
{
|
{
|
||||||
if (p.GetUser()?.IsAdmin(minLevel) ?? false)
|
if (p.GetUser()?.IsAdmin(minLevel) ?? false)
|
||||||
{
|
{
|
||||||
|
if(shouldSendMessage != null)
|
||||||
|
{
|
||||||
|
if(!shouldSendMessage(p))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(getAddInfoMessage != null)
|
||||||
|
{
|
||||||
|
message += getAddInfoMessage(p);
|
||||||
|
}
|
||||||
|
|
||||||
ChatService.SendMessage(p, message);
|
ChatService.SendMessage(p, message);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user