{"text_format":"3","workbook":"xlsx","n_sheets":5,"sheets":["基本框架","战斗逻辑同步","战斗数据调试","战斗日志调试","前端战斗架构"],"not_rendered":{"images":14},"read":"whole","date_system":"1900"}

{"sheet":"基本框架","index":0,"n_rows":0,"n_cols":0,"rows_kept":0}

{"sheet":"战斗逻辑同步","index":1,"n_rows":32,"n_cols":1,"rows_kept":32}
["同步工具已经写好，直接调用即可"]
{"$rows_empty":8}
["新同步的代码默认会同步到该目录下"]
{"$rows_empty":20}
["提交即可"]
["通知后端同学同步逻辑即可"]

{"sheet":"战斗数据调试","index":2,"n_rows":153,"n_cols":16,"rows_kept":153}
["当后端出现战斗异常时，表明战斗报错并被服务器捕获"]
["找到logerror文件下的日志"]
{"$rows_empty":41}
["错误日志会保留错误堆栈信息"]
["本场战斗的数据"]
["以及前5场战斗的数据"]
[]
["打开战斗逻辑工程"]
["用vscode打开本地服务器工程下的luafight文件夹"]
[]
["编辑BattleMain",{"$nulls":14},"参考代码："]
[]
[{"$nulls":15},"BattleMain.Execute({seed=1575601910, type=3, maxTime=300},\"战斗数据\",{})"]
{"$rows_empty":30}
["下载codeRunner插件，右键运行BattleMain"]
["即可运行战斗逻辑"]
{"$rows_empty":57}
["战斗逻辑数据在客户端每打完一场战斗之后会打印出来"]
{"$rows_empty":7}
["上一条日志是战斗数据"]
["下一条是随机数种子"]
["把上述数据拷贝到BattleMain.Execute方法作为参数即可"]

{"sheet":"战斗日志调试","index":3,"n_rows":202,"n_cols":1,"rows_kept":202}
["当前后端计算出来的战斗结果不一致时，需要通过对比前后端战斗日志来查找差异部分"]
["前端部分"]
["打开BattleLogic文件，修改IsOpenBattleRecord 为true"]
["或者在战斗开始之前某个地方修改该变量"]
{"$rows_empty":57}
["然后随意进入一场战斗，注意不要一键跳过"]
["然后在项目的该文件夹下会生成战斗日志文件"]
{"$rows_empty":17}
["后端部分"]
["打开本地服务器工程，找到BattleMain"]
{"$rows_empty":20}
["修改变量，重启本地服务器"]
{"$rows_empty":26}
["运行项目，连接本地服务器，进入一场有后端计算的战斗"]
["注意不要一键跳过"]
["这时候看到后端也生成了战斗日志"]
{"$rows_empty":16}
["用对比工具打开前后端战斗日志，进行对比，即可对比前后端差异"]
{"$rows_empty":52}
["大部分前后端不同步是由于代码，配置不同步造成的，因而如果出现不一致先检查配置，代码是否同步"]

{"sheet":"前端战斗架构","index":4,"n_rows":0,"n_cols":0,"rows_kept":0}