babalae/better-genshin-impact · error · Exception

角色名称校验失败:{alias}

Error message

角色名称校验失败:{alias}

What it means

Error "角色名称校验失败:{alias}" thrown in babalae/better-genshin-impact.

Source

Thrown at BetterGenshinImpact/GameTask/AutoFight/Config/DefaultAutoFightConfig.cs:36

    static DefaultAutoFightConfig()
    {
        var json = File.ReadAllText(Global.Absolute(@"GameTask\AutoFight\Assets\combat_avatar.json"));
        var config = Newtonsoft.Json.JsonConvert.DeserializeObject<IEnumerable<CombatAvatar>>(json) ?? throw new Exception("combat_avatar.json deserialize failed");
        //CombatAvatars = config;
        CombatAvatarNames = config.Select(x => x.Name).ToList();
        CombatAvatarMap = config.ToDictionary(x => x.Name);
        CombatAvatarNameEnMap = config.ToDictionary(x => x.NameEn);
        CombatAvatarAliasToNameMap = config.SelectMany(c => c.Alias.Select(a => new KeyValuePair<string, string>(a, c.Name))).ToFrozenDictionary();
    }

    public static string AvatarAliasToStandardName(string alias)
    {
        if (CombatAvatarAliasToNameMap.TryGetValue(alias, out string? name) && name != null)
        {
            return name;
        }
        throw new Exception($"角色名称校验失败:{alias}");

        // return CombatAvatars.Find(x => x.Alias.Contains(alias))?.Name ?? throw new Exception($"角色名称校验失败:{alias}");
    }
}

View on GitHub (pinned to a7cb36712d)

Solutions

  1. 检查战斗脚本/配置中的角色名或别名是否正确
  2. 参考角色别名表使用标准角色名
  3. 确认该角色已在程序的角色数据中收录

Example fix

改用角色标准全名或文档列出的官方别名;检查是否有错别字;新角色需等待版本更新收录。

When it happens

Trigger: AvatarAliasToStandardName 在别名映射表 CombatAvatarAliasToNameMap 中找不到传入的角色名/别名时抛出。

Common situations: 战斗脚本或强制指定队伍中填写的角色名拼写错误、使用了不支持的昵称或新角色尚未收录。


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