zio fork 1.8.2b-zio5: staff chat shows rank
@ in team chat and css_asay read ">[STAFF][RANK] name: message", and @ in all chat and a player's css_say read ">[RANK] name: message", with the rank from the sender's highest #rank/... group (O, SA, A, TA, M, TM, H). Staff in no rank group get ">[STAFF] name" and "> name". A non-staff player's @ team chat reads ">[PLAYER] name: message". Console's messages are unchanged. The lines are new en.json keys: sa_staffchat_template, sa_staffsay_template, their _norank variants and sa_staffchat_template_player.
This commit is contained in:
parent
bc6e32892d
commit
3c9f65e121
6 changed files with 69 additions and 7 deletions
|
|
@ -144,6 +144,30 @@ internal static class Helper
|
|||
return string.Join(" ", parts);
|
||||
}
|
||||
|
||||
// zio: staff rank groups, highest first, and their chat abbreviations.
|
||||
private static readonly (string Group, string Tag)[] StaffRanks =
|
||||
[
|
||||
("#rank/owner", "O"),
|
||||
("#rank/senioradmin", "SA"),
|
||||
("#rank/admin", "A"),
|
||||
("#rank/trialadmin", "TA"),
|
||||
("#rank/mod", "M"),
|
||||
("#rank/trialmod", "TM"),
|
||||
("#rank/helper", "H"),
|
||||
];
|
||||
|
||||
// zio: the player's highest staff rank abbreviation, or null if they're in no rank group.
|
||||
internal static string? GetStaffRankTag(CCSPlayerController player)
|
||||
{
|
||||
var groups = AdminManager.GetPlayerAdminData(new SteamID(player.SteamID))?.Groups;
|
||||
if (groups == null) return null;
|
||||
foreach (var (group, tag) in StaffRanks)
|
||||
{
|
||||
if (groups.Contains(group)) return tag;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static void KickPlayer(int userId, NetworkDisconnectionReason reason = NetworkDisconnectionReason.NETWORK_DISCONNECT_KICKED, int delay = 0)
|
||||
{
|
||||
var player = Utilities.GetPlayerFromUserid(userId);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue