babalae/better-genshin-impact · error · Exception

强制指定队伍角色数量不正确,必须是4个,当前{names.Length}个

Error message

强制指定队伍角色数量不正确,必须是4个,当前{names.Length}个

What it means

Error "强制指定队伍角色数量不正确,必须是4个,当前{names.Length}个" thrown in babalae/better-genshin-impact.

Source

Thrown at BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.cs:328

        else
        {
            if (topClass.Confidence < 0.7)
            {
                img.SaveAsPng(Global.Absolute($@"log\avatar_side_classify_error.png"));
                throw new Exception(
                    $"无法识别第{index}位角色,置信度{topClass.Confidence:F1},结果:{topClass.Name.Name}。请重新阅读 BetterGI 文档中的《快速上手》!");
            }
        }

        return topClass.Name.Name;
    }

    private void InitializeTeamFromConfig(string teamNames, AutoFightConfig autoFightConfig)
    {
        var names = teamNames.Split([",", ","], StringSplitOptions.TrimEntries);
        if (names.Length != 4)
        {
            throw new Exception($"强制指定队伍角色数量不正确,必须是4个,当前{names.Length}个");
        }

        // 别名转换为标准名称
        for (var i = 0; i < names.Length; i++)
        {
            names[i] = DefaultAutoFightConfig.AvatarAliasToStandardName(names[i]);
        }

        _logger.LogInformation("强制指定队伍角色:{Text}", string.Join(",", names));
        autoFightConfig.TeamNames = string.Join(",", names);
        Avatars = BuildAvatars([.. names], autoFightConfig: autoFightConfig);
    }

    public bool CheckTeamInitialized()
    {
        if (Avatars.Length != ExpectedTeamAvatarNum)
        {
            return false;

View on GitHub (pinned to a7cb36712d)

Solutions

  1. 强制指定队伍角色时必须恰好填写4个角色名
  2. 检查配置中是否有遗漏或多填的角色

Example fix

在强制指定队伍配置中恰好填写4个角色名,用英文逗号或中文逗号分隔。

When it happens

Trigger: 强制指定队伍 InitializeTeamFromConfig 按逗号/中文逗号拆分 teamNames,数量不等于4时抛出。

Common situations: “强制指定队伍角色”输入框填了3个或5个角色,或分隔符使用不当导致拆分数量不对。


AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13). Data as JSON: /api/errors/9191beb9f62179ef. Report an issue: GitHub.