babalae/better-genshin-impact · error · Exception
联机状态下,此方法必须传入队伍角色编号位置信息
Error message
联机状态下,此方法必须传入队伍角色编号位置信息
What it means
Error "联机状态下,此方法必须传入队伍角色编号位置信息" thrown in babalae/better-genshin-impact.
Source
Thrown at BetterGenshinImpact/GameTask/AutoFight/Model/CombatScenes.cs:367
return true;
}
private Avatar[] BuildAvatars(List<string> names, List<Rect>? nameRects = null, List<Rect>? avatarIndexRectList = null, AutoFightConfig? autoFightConfig = null)
{
if (autoFightConfig == null)
{
autoFightConfig = TaskContext.Instance().Config.AutoFightConfig;
}
var cdConfig = autoFightConfig.ActionSchedulerByCd;
if (avatarIndexRectList == null && ExpectedTeamAvatarNum == 4)
{
avatarIndexRectList = [.. _autoFightAssets.AvatarIndexRectList];
}
if (avatarIndexRectList == null)
{
throw new Exception("联机状态下,此方法必须传入队伍角色编号位置信息");
}
var namesCount = names.Count;
var avatars = new Avatar[namesCount];
for (var i = 0; i < namesCount; i++)
{
var nameRect = nameRects?[i] ?? default;
// 根据手动写的出招表来优化CD
var cd = Avatar.ParseActionSchedulerByCd(names[i], cdConfig);
avatars[i] = new Avatar(this, names[i], i + 1, nameRect, cd ?? -1)
{
IndexRect = avatarIndexRectList[i]
};
}
return avatars;
}
View on GitHub (pinned to a7cb36712d)
Solutions
- 联机状态下调用相关方法时传入队伍角色编号位置信息
- 退出联机状态后再使用该方法的单机调用方式
Example fix
联机场景确保队伍人数识别正常;若稳定复现属程序内部问题,携带日志反馈开发者。
When it happens
Trigger: 构建 Avatar 数组时 ExpectedTeamAvatarNum 不是4(联机状态),且调用方未传入 avatarIndexRectList 编号框位置信息,也没有默认资源可用时抛出。
Common situations: 联机模式下走需要编号框位置的识别路径,但上层未提供该信息(内部调用不匹配)。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/87a37f87e1e25252.
Report an issue: GitHub.