Пример #1
0
        public static bool SetGroup(this Entity player, string groupname, LAdmin.GroupsDatabase database)
        {
            groupname = groupname.ToLowerInvariant();
            player.setLogged(false);
            if (database.GetGroup(groupname) == null)
            {
                return(false);
            }
            var matchedplayerinfo = database.FindEntryFromPlayersAND(player.GetInfo());

            if (matchedplayerinfo != null)
            {
                if (groupname == "default")
                {
                    database.Players.Remove(matchedplayerinfo.Value.Key);
                }
                else
                {
                    database.Players[matchedplayerinfo.Value.Key] = groupname;
                }
            }
            else if (groupname != "default")
            {
                database.Players[player.GetInfo()] = groupname;
            }
            return(true);
        }
Пример #2
0
        //CHANGE
        public static bool FixPlayerIdentifiers(this Entity player, LAdmin.GroupsDatabase database)
        {
            player.setLogged(false);
            var matchedplayerinfo = database.FindEntryFromPlayersOR(player.GetInfo());

            if (matchedplayerinfo != null)
            {
                database.Players.Remove(matchedplayerinfo.Value.Key);
                database.Players[LAdmin.PlayerInfo.CommonIdentifiers(player.GetInfo(), matchedplayerinfo.Value.Key)] = matchedplayerinfo.Value.Value;
                return(true);
            }
            return(false);
        }
Пример #3
0
 public static void setImmune(this Entity entity, bool state, LAdmin.GroupsDatabase database)
 {
     LAdmin.PlayerInfo playerFromImmunes = database.FindMatchingPlayerFromImmunes(entity.GetInfo());
     if (playerFromImmunes == null && state)
     {
         database.ImmunePlayers.Add(entity.GetInfo());
     }
     if (playerFromImmunes != null && !state)
     {
         database.ImmunePlayers.Remove(playerFromImmunes);
     }
     return;
 }
Пример #4
0
 public static string GetFormattedName(this Entity player, LAdmin.GroupsDatabase database)
 {
     LAdmin.GroupsDatabase.Group grp = player.GetGroup(database);
     if (!string.IsNullOrWhiteSpace(grp.short_name))
     {
         return(LAdmin.Lang_GetString("FormattedNameRank").Format(new Dictionary <string, string>()
         {
             { "<shortrank>", grp.short_name },
             { "<rankname>", grp.group_name },
             { "<name>", player.Name },
         }));
     }
     return(LAdmin.Lang_GetString("FormattedNameRankless").Format(new Dictionary <string, string>()
     {
         { "<name>", player.Name },
     }));
 }
Пример #5
0
        public static LAdmin.GroupsDatabase.Group GetGroup(this Entity entity, LAdmin.GroupsDatabase database)
        {
            KeyValuePair <LAdmin.PlayerInfo, string>?playerFromGroups = database.FindEntryFromPlayersAND(entity.GetInfo());

            if (playerFromGroups == null)
            {
                return(database.GetGroup("default"));
            }
            LAdmin.GroupsDatabase.Group grp = database.GetGroup(playerFromGroups.Value.Value);
            if (grp != null)
            {
                return(grp);
            }
            else
            {
                LAdmin.WriteLog.Error("# Player " + entity.Name + ": GUID=" + entity.GUID + ", HWID = " + entity.GetHWID().ToString() + ", IP:" + entity.IP.ToString());
                LAdmin.WriteLog.Error("# Is in nonexistent group: " + playerFromGroups);
                return(database.GetGroup("default"));
            }
        }
Пример #6
0
 public static bool HasPermission(this Entity player, string permission_string, LAdmin.GroupsDatabase database)
 {
     if (LAdmin.ConfigValues.DEBUG && LAdmin.ConfigValues.DEBUGOPT.PERMSFORALL)
     {
         return(true);
     }
     return(database.GetEntityPermission(player, permission_string));
 }
Пример #7
0
 public static bool isImmune(this Entity entity, LAdmin.GroupsDatabase database)
 {
     return(database.FindMatchingPlayerFromImmunes(entity.GetInfo()) != null);
 }