增加了CSV接口及相关命令,更新了支持CSV为常量形式进行操作,扩展了CSVOpenCache加载表格到内存支持热加载 加载csv表格内容到内存中CSVOpenCache 文件路径 修改文件后可使用CSVOpenCache重新加载文件命令更新缓存内容
功能说明: CSV表格读取 CSV相关命令
;-------------------------------------------
;将文件设置为缓存,某一文件执行此命令后,所有的操作都是缓存操作(不使用缓存命令读取的文件可以实时操作)
;如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行缓存命令,可加快脚本运行速度与效率
;修改文件后可使用CSVOpenCache重新加载文件命令更新缓存内容
加载csv表格内容到内存中
CSVOpenCache 文件路径
;-------------------------------------------
获取CSV文件的最大行数和最大列数
CSVGetCellInfo 文件路径 最大行数保存变量 最大列数保存变量
读取单元格的内容
CSVGetCellText 文件路径 行数 列数 保存变量
查找内容出在第几行
CSVFindTextRow 文件路径 字符串 开始行~结束行 列数(从第几列查找) 0/1(0:开始出现的行;1:最后出现的行) 保存变量
--------------------------------------------------------------
下面示范脚本的Test.csv内容
; 备注符号,读取时会忽略此行
; 转生等级,当前属性,下级属性,需求材料
0,当前攻击1.05倍,1.10倍,转生晶石,1
1,当前攻击1.10倍,1.15倍,转生晶石,2
2,当前攻击1.15倍,1.20倍,转生晶石,3
3,当前攻击1.20倍,1.25倍,转生晶石,4
4,当前攻击1.25倍,1.30倍,转生晶石,5
5,当前攻击1.30倍,1.35倍,转生晶石,6
-------------------------------------------------------------
;示范脚本
[@测试]
#act
;CSVOpenCache ..\QuestDiary\Test.csv
CSVGetCellInfo ..\QuestDiary\Test.csv N$总行数 N$总列数
Mov N$行数 0
While N$行数 < N$总行数
CSVGetCellText ..\QuestDiary\Test.csv <$STR(N$行数)> 0 S0
CSVGetCellText ..\QuestDiary\Test.csv <$STR(N$行数)> 1 S1
CSVGetCellText ..\QuestDiary\Test.csv <$STR(N$行数)> 2 S2
Sendmsg 6 [<$STR(N$行数)>,0]<$STR(S0)>;[<$STR(N$行数)>,1]<$STR(S1)>;[<$STR(N$行数)>,2]<$STR(S2)>;
Inc N$行数 1
EndWhile
CSVFindTextRow ..\QuestDiary\Test.csv 1.25倍 0~10 2 0 N0
Sendmsg 6 "1.25倍"在<$STR(N0)>行,第2列中
;--------------------------------------------------------
;表格内容作为常量进行获取,仅对CSVOpenCache的可用...
;读取时会已常量形式存放在内存中(如果不经常更改的情况下建议放在QM的[@Startup]启动触发执行)
;修改CSV文件后可使用CSVOpenCache重新加载文件命令更新缓存内容
;通过以下去读相关内存中的表格常量值
[@测试]
#act
CSVOpenCache ..\QuestDiary\Test.csv
SendMsg 7 TEST表格内第一行第二列值为:<$TEST(1,2)>
Mov S1 <$TEST(1,2)>
SendMsg 5 1行2列的值为:<$STR(S1)> <$TEST(1,2)>