大秦插件LOADCONLIST导入CSV常量配置方法 - 自定义数据表实战案例
摘要:LOADCONLIST后接CSV文件路径表头列标签行三个参数;加载后脚本用<$CL_表名(行关键字.列关键字)>语法取值;改数值只改CSV不用改脚本;文件要放在插件指定目录;文件名全版本不能重名不然串表;多次调用会刷新整个表建议放QM启动段载入一次;常用于怪物血量配置、装备属性数值、活动参数管理。…
把数值写死在脚本里和用CSV常量管起来,维护成本差很多。写死的话策划说「白野猪血量翻倍」,得把每条写过白野猪属性的脚本全翻出来改;用LOADCONLIST把数值放进CSV表格,脚本里只写引用,改数值改表格就行,一条命令三个参数把CSV导进引擎。
新手问CSV常量怎么导入,参数写对再启动载入即可。刚上手最容易踩两个坑:CSV改了不重新载入还是旧值,或者两张表文件名重复导致串数据。下面把命令格式、表格引用语法和实操配置分开讲清楚。

LOADCONLIST命令格式与三个参数
载入命令一行,接在启动或管理段里写:
#ACT
LOADCONLIST 文件路径 表头列 标签行
| 参数内容 | 参数释义 | 实操用法 |
|---|---|---|
| 参数1 | CSV文件路径 | 相对路径写法,如 .\Mon.csv |
| 参数2 | 表头所在列(A、B、C……) | 留空默认A列;排版特殊的表显式填 |
| 参数3 | 标签所在行(1、2、3……) | 留空默认第1行;表头不在首行时显式填 |
以官方示例的Mon.csv为例,用A列关键字索引行、第1行关键字索引列:
#ACT
LOADCONLIST .\Mon.csv A 1
sendmsg 7 载入怪物常量表
LOADCONLIST .\item.csv A 1
sendmsg 7 载入装备常量表
break

表格引用语法
载入之后,脚本里用<$CL_表名(行关键字.列关键字)>取值。官方文档原文举例:<$CL_Mon(白野猪.变量攻击2)>表示Mon.csv里D3单元格的内容——白野猪在A列对应的是第3行,”变量攻击2”在第1行表头里对应的是D列,行列交叉点就是D3。
NPC对话里直接拼出来:
[@显示怪物常量]
<返回/@main>\
<显示怪物常量>\
白野猪血量=<$CL_Mon(白野猪.变量血量)>\
白野猪攻击1=<$CL_Mon(白野猪.变量攻击1)>\
白野猪攻击2=<$CL_Mon(白野猪.变量攻击2)>\
白野猪攻击3=<$CL_Mon(白野猪.变量攻击3)>\
装备表用同样的写法,行关键字填装备名称、列关键字填表头名,显示段示例:
[@显示装备常量]
<返回/@main>\
<显示装备常量>\
屠龙攻击1=<$CL_Item(屠龙.装备攻击1)>\
屠龙攻击2=<$CL_Item(屠龙.装备攻击2)>\
数值全部维护在CSV里,NPC脚本只负责把单元格内容读出来显示,这就是自定义常量配置的标准思路。
跨脚本共享常量和写死脚本的区别
| 对比项 | LOADCONLIST CSV常量 | 直接写死在脚本里 |
|---|---|---|
| 改数值 | 改CSV表就行 | 要翻遍所有脚本 |
| 维护 | 集中一张表 | 分散在各处 |
| 出错率 | 低,改表一处生效 | 高,容易漏改 |
| 适用 | 怪物属性、装备数值 | 流程逻辑 |
LOADCONLIST是配置和逻辑分离,写死是配置和逻辑混在一起。改数值频繁的用CSV,逻辑固定的写死在脚本里,两者按内容性质分工。

三张表载入与读取实操配置
官方示例还演示了表头不在第1行的写法。工作2.csv里表头写在第2行、行索引列是D列,载入和显示这样配:
[@载入常量文件2]
#ACT
LOADCONLIST .\工作2.csv D 2
sendmsg 7 载入工作表2
break
[@显示工作常量2]
<返回/@main>\
<显示工作常量2>\
张爽.序号=<$CL_工作2(张爽.标签1)>\
张爽.班级=<$CL_工作2(张爽.标签2)>\
张爽.宿舍=<$CL_工作2(张爽.标签3)>\
三个参数跟着实际CSV排版走:表头在哪一列、行标签在哪一行,参数2和参数3就填什么。怪物属性配置表用Mon.csv、装备数值管理用Item.csv、活动参数用Work1.csv,每张表用途单一,排版对齐后引用一次写对。表头错位时引用全部取空值,先对一遍行列位置再喊不生效。
两个必须记住的坑
多次调用会刷新整个表。官方注意1写着:二次或多次调用会重新刷新常量内容,固定不怎么变的表比如怪物基础属性,建议放QM启动段里调用一次,启动后全程只读,别在玩家频繁点的NPC选项里反复载入,白耗性能还容易把还在加载中的表读空。
文件名全版本不能重名。官方注意2特别标了重要:文件名不能重复,不同目录下的同名文件也不行。两张不同的表用了同一个文件名,载入时只认后加载的那个,脚本引用会串表。给每张表起不重复的名字,比如Mon.csv、Item.csv、Work1.csv。
问题定位
CSV改完数值不生效怎么排查?
问题现象:Excel里把白野猪血量改成999,游戏里对话显示还是旧数值。
核心成因:CSV改了但没重新载入,常量在内存里还是旧内容。
分步排查:确认CSV文件保存编码没跑偏,中文单元格乱码会读成空;确认文件路径和实际放置目录一致;确认启动段里LOADCONLIST调用在读取之前执行。
完整修复:QM启动段放LOADCONLIST启动载入一次,改表后重启M2或加一个管理NPC选项手动重新调用载入命令刷新内存,对话里再看数值已更新。
热点问答
1. CSV里的数值改了游戏里为什么不跟着变?
常量载入一次后常驻内存,直接改磁盘上的CSV文件不会自动同步。要么在QM启动段里载入并重启M2,要么在管理NPC里做一个重载常量选项手动再跑一遍LOADCONLIST,内存刷新后新数值才生效,日常调试用管理NPC选项最省事。
2. 一张表能放多少行多少列?
官方示例示范了怪物属性配置表、装备表、工作表三类用法,行关键字用文字名称、列关键字用表头名称,多少行看你表设计。实际版本里建议一张表只放一类用途的数据,别把怪物和装备塞一张表,行数一长排错行就难查。
3. <$CL_表名(行.列)>取不到值是空还是0?
取不到是空字符串,不是0。脚本里拼接显示会看到一行半截文字。排查时先对着CSV数行列:行关键字拼写和A列单元格完全一致、列关键字和表头行完全一致,一个字差都会落空,全角半角引号也要对齐。
4. 主城NPC写一份数值,别的NPC脚本怎么读到同一份?
能。表一旦载入进内存,全脚本通用,任意NPC、QM、QF段都能用<$CL_表名(…)>引用。这正是它的价值——数值集中维护,全版本脚本共享引用,不用每个NPC各存一份,策划调表全服脚本同时生效,和全局变量跨场景共享数据是同一个思路,只是把数值从脚本搬进了CSV表。(本条问题整理自百度知道真实提问:百度知道2024-08,对应功能词LOADCONLIST,答案结合大秦插件帮助文档与本地实测)
5. 怪物属性这类固定数值,是写死在脚本里还是放配置表好?
变量适合存单人临时数据,比如今天打了几只怪;CSV常量适合存全版本固定配置,比如怪物基础属性、装备攻击。配置类需求别用一堆全局变量手工初始化,那样改配置还要翻脚本,直接上CSV表,行关键字用怪物或装备名称、列关键字填表头名,策划改表不动脚本。(本条问题整理自百度知道真实提问:百度知道2013-11,对应功能词LOADCONLIST,答案结合大秦插件帮助文档与本地实测)
6. CSV表格改了数值,游戏里为什么不跟着变?
常量载入一次后常驻内存,直接改磁盘上的CSV文件不会自动同步。要么在QM启动段里载入并重启M2,要么在管理NPC里做一个重载常量选项手动再跑一遍LOADCONLIST刷新内存。官方注意1写明二次或多次调用会重新刷新常量内容,固定表建议放QM启动段调用一次,文件名全版本不能重名否则串表,内存刷新后新数值才生效。(本条问题整理自百度知道真实提问:百度知道2022-11,对应功能词LOADCONLIST,答案结合大秦插件帮助文档与本地实测)
要点回顾
LOADCONLIST做自定义常量配置,把版本配置从脚本里剥离出来:CSV管数值,脚本管逻辑,启动载入一次,全表只读引用。改怪物血量、装备属性这类配置,打开Excel改表重启生效,不用在脚本里搜来搜去。两条硬规则刻在脑子里——多次调用会刷新表所以放启动段载入、文件名全版本不能重名。
LOADCONLIST导入CSV常量案例均经过本地大秦插件环境实测验证;命令仅适配大秦插件,其他引擎导入外部数据表的写法可能不同,跨引擎使用需自行测试修改。全文仅供单机本地学习调试、版本技术研究与功能测试使用。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。





