public void UpdateRegisteredPlayersRanks(string newName) { foreach (var player in PlayerAccountModule.PlayersAccounts) { player.Rank = newName; PlayerAccountModule.UpdatePlayerAccount(player); //Log.Info($"Binding ranks to {player.}'s session (Expires when server restarts)"); RankData MainRank = GetRankData(PlayerAccountModule.GetRank(player.SteamID)); if (!PlayersInheritedRanksStore.ContainsKey(player.SteamID)) { List <RankData> ListRanks = new List <RankData>(); PlayersInheritedRanksStore.Add(player.SteamID, ListRanks); foreach (var InheritedRank in MainRank.Inherits) { RankData rankData = GetRankData(InheritedRank); PlayersInheritedRanksStore[player.SteamID].Add(rankData); GetInheritedRanks(rankData, player.SteamID); } } //Only Re-apply users rank if perm override is enabled. if (EssentialsPlugin.Instance.Config.OverrideVanillaPerms) { MySession.Static.SetUserPromoteLevel(player.SteamID, ParseMyPromoteLevel(MainRank.KeenLevelRank)); } string Ranks = ($"{MainRank.RankName},"); foreach (RankData inherited in PlayersInheritedRanksStore[player.SteamID]) { Ranks += ($"{inherited.RankName},"); } Ranks = Ranks.TrimEnd(','); //Log.Info($"The following ranks have been assiged to {player.Name}: {Ranks}"); } }
public static void InsertDiscord(ulong steamID, string discordID, string discordName, Dictionary <ulong, string> RoleData) { if (steamID == 0) { Log.Info($"Cannont Insert Discord, SteamId is 0"); return; } Log.Info($"DiscordID for {steamID} received from SEDB!... Inserting into player account ({discordID})"); var AccModule = new PlayerAccountModule(); var account = AccModule.GetAccount(steamID); account.DiscordData.DiscordID = ulong.Parse(discordID); account.DiscordData.DiscordName = discordName; foreach (var role in RoleData) { if (account.DiscordData.DiscordID == ulong.Parse(discordID)) { account.DiscordData.DiscordName = discordName; if (!account.DiscordData.Roles.ContainsKey(role.Key)) { account.DiscordData.Roles.Add(role.Key, role.Value); } } } AccModule.UpdatePlayerAccount(account); }