public static void AssignPlayer(long playerId) { if (!PluginCore.Instance.Config.Enable || !PluginCore.Instance.Config.AssignFaction || playerId == 0) { return; } var factionDictionary = MySession.Static.Factions.Factions; if (factionDictionary == null || factionDictionary.Count == 0) { return; } IMyFaction potentialFaction = null; if (MySession.Static.Factions.GetPlayerFaction(playerId) != null) { return; } foreach (var(factionId, faction) in factionDictionary) { if (faction.IsEveryoneNpc() || MySession.Static.Players.IdentityIsNpc(faction.FounderId)) { continue; } if (faction.Members.Count >= PluginCore.Instance.Config.FactionSize) { continue; } potentialFaction = faction; } if (potentialFaction == null) { CreatePlayerFaction(playerId); return; } MyVisualScriptLogicProvider.SetPlayersFaction(playerId, potentialFaction.Tag); }