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:452
}
}
public Avatar? SelectAvatar(string name)
{
return Avatars.FirstOrDefault(avatar => avatar.Name.Equals(name));
}
/// <summary>
/// 使用编号切换角色
/// </summary>
/// <param name="avatarIndex">从1开始</param>
/// <returns></returns>
public Avatar SelectAvatar(int avatarIndex)
{
if (avatarIndex < 1 || avatarIndex > AvatarCount)
{
_logger.LogError("切换角色编号错误,当前角色数量{Count},编号{Index}", AvatarCount, avatarIndex);
throw new Exception("不存在的角色编号");
}
return Avatars[avatarIndex - 1];
}
/// <summary>
/// 获取当前出战角色名
/// 不考虑重新刷新编号框位置
/// 不推荐使用
/// </summary>
/// <param name="force"></param>
/// <param name="region"></param>
/// <param name="ct"></param>
/// <returns></returns>
public string? CurrentAvatar(bool force = false, ImageRegion? region = null,
CancellationToken ct = default)
{
if (!force && LastActiveAvatarIndex > 0)View on GitHub (pinned to a7cb36712d)
Solutions
- 检查传入的角色编号是否在有效范围内(1-4)
- 确认当前队伍人数与编号匹配
- 联机模式下使用联机对应的编号规则
Example fix
联机时使用与可控角色数匹配的脚本;确认脚本中切人编号不超过当前可操控角色数量。
When it happens
Trigger: SelectAvatar(int) 按编号切人,传入编号小于1或大于当前 AvatarCount 时抛出。
Common situations: 战斗脚本/流程中的角色编号超出实际队伍人数,如联机时只剩2个可控角色却按4人脚本切3、4号位。
AI-assisted analysis of babalae/better-genshin-impact@a7cb36712d (2026-08-13).
Data as JSON: /api/errors/73b21bea54cb4030.
Report an issue: GitHub.