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); }
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")); } }