传奇脚本CSV表格读取功能使用教程
在传奇脚本编写过程中,CSV表格读取是常用的核心功能,能够高效读取游戏配置数据、属性参数、材料需求等内容,大幅提升传奇脚本的运行效率和数据管理规范性。下面为大家详细讲解传奇脚本中CSV表格读取的功能说明、核心命令及实战示范脚本。一、CSV表格读取功能说明传奇脚本中的CSV表格读取功能,主要用于读取本…
在传奇脚本编写过程中,CSV表格读取是常用的核心功能,能够高效读取游戏配置数据、属性参数、材料需求等内容,大幅提升传奇脚本的运行效率和数据管理规范性。下面为大家详细讲解传奇脚本中CSV表格读取的功能说明、核心命令及实战示范脚本。
一、CSV表格读取功能说明
传奇脚本中的CSV表格读取功能,主要用于读取本地CSV配置文件,将表格内的等级属性、材料数据、倍率参数等游戏配置内容加载到脚本内存中,实现数据调取、匹配、查询等自动化操作。
该功能支持缓存运行模式,针对不常修改的游戏配置文件,开启缓存后可极大降低脚本运行损耗,让传奇游戏功能触发更流畅、响应更快速。
二、传奇脚本CSV核心操作命令
1、CSV缓存加载命令
;将文件设置为缓存,所有的操作都是缓存操作(不使用缓存命令读取的文件可以实时操作)
;如果不经常更改文件内容的情况下建议放在QM的[@Startup]启动触发执行缓存命令,加快脚本运行效率
;修改文件后可使用 CSVOpenCache 重新加载文件命令更新缓存内容
加载csv表格内容到内存中
CSVOpenCache 文件路径
2、CSV表格数据获取命令
获取CSV文件的最大行数和最大列数
CSVGetCellInfo 文件路径 最大行数保存变量 最大列数保存变量
读取单元格的内容
CSVGetCellText 文件路径 行数 列数 保存变量
查找内容出在第几行
CSVFindTextRow 文件路径 字符串 开始行~结束行 列数(从第几列查找) 0/1(0:开始出现的行;1:最后出现的行) 保存变量
三、传奇脚本CSV测试表格数据
本次示范使用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
四、传奇CSV脚本实战示范代码
1、基础遍历读取脚本
;循环读取CSV表格所有行列数据,打印游戏属性参数
[@测试]
#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列中
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)>
五、传奇CSV脚本使用注意事项
1、固定配置的CSV文件,建议在QM启动触发命令中加载缓存,无需每次调用脚本重复读取文件,提升传奇服务器运行稳定性。
2、修改CSV表格内的转生属性、材料数据等内容后,必须重新执行CSVOpenCache命令,刷新内存缓存,确保脚本读取最新数据。
3、进行内容行查找时,需精准设置查找行列区间,避免数据匹配错误,影响传奇游戏功能正常触发。


