{"record":{"id":"865d9458270e6086","repo":"babalae/better-genshin-impact","slug":"error-865d94","errorCode":null,"errorMessage":"战斗脚本格式错误，必须以空格分隔角色和指令","messagePattern":"战斗脚本格式错误，必须以空格分隔角色和指令","errorType":"exception","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"BetterGenshinImpact/GameTask/AutoFight/Script/CombatScriptParser.cs","lineNumber":151,"sourceCode":"        var character = defaultAvatarName ?? CurrentAvatarName;\n        var commands = line;\n        if (separatorIndex > 0)\n        {\n            character = line[..separatorIndex];\n            character = DefaultAutoFightConfig.AvatarAliasToStandardName(character);\n            commands = line[(separatorIndex + 1)..];\n        }\n        else\n        {\n            // 无显式前缀时，若提供了 defaultAvatarName 则对其标准化；否则走验证失败\n            if (defaultAvatarName != null)\n            {\n                character = DefaultAutoFightConfig.AvatarAliasToStandardName(defaultAvatarName);\n            }\n            else if (validate)\n            {\n                Logger.LogError(\"战斗脚本格式错误，必须以空格分隔角色和指令\");\n                throw new Exception(\"战斗脚本格式错误，必须以空格分隔角色和指令\");\n            }\n        }\n\n        oneLineCombatCommands.AddRange(ParseLineCommands(commands, character));\n        combatAvatarNames.Add(character);\n        return oneLineCombatCommands;\n    }\n\n    public static List<int> ParseRoundCommand(CombatCommand roundCommand) {\n        // 解析round命令的入参，返回一个整数列表，代表在哪些回合执行后续指令\n        // 支持Round(1)、Round(1,3,5)、Round(2-4)、Round(1,3-5)等格式\n        var activatingRounds = new List<int>();\n        if (roundCommand.Args == null || roundCommand.Args.Count == 0) {\n            Logger.LogError(\"round方法必须有入参，代表在哪些回合执行后续指令，例：round(1)、round(1,3-5)\");\n            throw new ArgumentException(\"round方法必须有入参，代表在哪些回合执行后续指令，例：round(1)、round(1,3-5)\");\n        }\n        foreach (var arg in roundCommand.Args) {\n            if (arg.Contains('-')) {","sourceCodeStart":133,"sourceCodeEnd":169,"githubUrl":"https://github.com/babalae/better-genshin-impact/blob/a7cb36712dcb409be610257d877fcea3597e9d6b/BetterGenshinImpact/GameTask/AutoFight/Script/CombatScriptParser.cs#L133-L169","documentation":"Error \"战斗脚本格式错误，必须以空格分隔角色和指令\" thrown in babalae/better-genshin-impact.","triggerScenarios":"解析脚本某行时找不到空格分隔的“角色名+指令”结构，且未提供默认角色名，验证模式下抛出。","commonSituations":"脚本行缺少角色名前缀，如直接写“e; a(0.3)”而没有“角色名 指令”格式。","solutions":["检查战斗脚本每行格式：角色名与指令之间用空格分隔","参考文档中的战斗脚本示例修正格式","确认每行只有一个角色和一组指令"],"exampleFix":"每行按“角色名 指令1|指令2”格式书写，角色名后用一个空格分隔指令。","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"a7cb36712dcb409be610257d877fcea3597e9d6b","analyzedAt":"2026-08-13T16:44:57.548Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}