文件列表读取脚本教程 - GOM引擎装备读取实现
摘要:本文讲解GOM引擎IncFileList命令的完整用法,包括命令格式、装备位置参数、保存变量与文件路径的对应关系,并给出切割装备列表的配置实操、三阶实战案例、常见坑点与常见问题排查思路。通过文本文件逐行匹配装备名并累加数值,实现本地调试时装备数据的快速汇总,全文内容仅供单机本地学习调试。…
文件列表读取是GOM引擎脚本里把文本文件中的装备数值载入变量的常用做法,适合本地单机调试时核对装备属性累计值,命令由帮助文档记为IncFileList。
新手第一次接触这个命令时,最容易被装备位置参数、保存变量、文件路径三个概念绕住,本文把命令格式、参数对照和配置步骤一次理清,全程以帮助文档原文为准。

IncFileList命令格式
帮助文档里给出的标准格式如下,引用原文:
IncFileList 装备位置(多个位置以逗号隔开“,”) 保存变量 文件
命令的完整写法是三个部分:第一段写装备位置,多个位置用英文逗号隔开;第二段写保存变量;第三段写文本文件路径。帮助文档的标题记作IncFileList,而示例命令行写作INCFILTLIST,少了一个字母,引用时以原文为准,GOM脚本命令本身不区分大小写。
官方示例代码整块引用:
[@Main]
#Act
INCFILTLIST 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 N$怪物伤害 ..\QuestDiary\切割装备.txt
这段示例把0到17共18个装备位置全部列出来,检测结果保存到变量N$怪物伤害,读取的文本文件是..\QuestDiary\切割装备.txt。装备位置编号与人物身上装备栏的对应关系,参考帮助文档的装备位置表:0衣服、1武器、2右手镯、3左手镯、4右戒指、5左戒指、6护身符、7腰带、8鞋子、9宝石、10斗笠、11军鼓、12马牌、13盾牌、17时装衣服等。

参数对照表
| 参数内容 | 参数释义 | 实操用法 |
|---|---|---|
| 装备位置 | 要检测的装备栏编号,多个位置以逗号隔开 | 只检测武器就写1,检测全部位置写0到17整段 |
| 保存变量 | 接收累计数值的变量,示例用N$怪物伤害 | 自定义变量以N$开头,便于在后续脚本中引用 |
| 文件 | 存放装备名与数值的文本文件,相对路径 | 放在QuestDiary目录下,路径用反斜杠 |
文本文件的格式有固定要求,帮助文档原文注释如下:
;一行装备名字,一行数字,检测到身上的装备是文本里某一行的名字,就把那一行名字下面的数字加到变量“N$怪物伤害”里面
文本文件读取完成后,数值会进入保存变量,这类带语义的列表变量在后续脚本里可以直接引用,命名时注意与版本里其他脚本的变量错开,避免互相覆盖。

配置切割列表实操
第一步,在版本目录Mir200\Envir\QuestDiary\下面新建文本文件,文件名与脚本里写的保持一致,例如切割装备.txt。
第二步,按一行装备名字、一行数字的格式写入内容,例如屠龙、100、木剑、20、金戒指、30,先写装备名换行再写数值。
第三步,在NPC脚本里写触发段,把官方示例的命令抄进去,注意装备位置、变量名、文件路径三处要和你的实际设置一致。
第四步,保存脚本后在M2里重新加载NPC脚本,或者重进游戏生效,再通过sendmsg输出变量核对累计结果。
这套流程在本地GOM引擎环境测试时,把文本文件放在QuestDiary目录下最容易排查路径问题,路径写错时脚本会提示找不到文件。
三阶实战案例
初级入门案例:只检测武器位置,文本里放三种武器,脚本里写成INCFILTLIST 1 N$武器伤害 ..\QuestDiary\切割武器.txt,本地调试时切换武器观察变量变化。
中级优化案例:同时检测衣服和武器两个位置,写成INCFILTLIST 0,1 N$装备伤害 ..\QuestDiary\切割装备.txt,文本里把衣服和武器的名字数值都列进去,一处配置多处生效。
高阶定制案例:按职业切换不同的切割列表,先在NPC脚本里判断职业,再分别调用INCFILTLIST读取对应文本,实现一套切割脚本适配多职业的装备读取需求,配合列表变量还能在不同玩法模块间复用同一份装备数据。
常见坑点
第一个坑点:装备名字必须与文本文件里的名字完全一致,多一个空格或少一个字都会匹配不上,检测结果始终为0。
第二个坑点:文件路径建议用相对路径写法,把文本放在QuestDiary目录下,避免绝对路径在不同机器上失效。
第三个坑点:保存变量如果和版本里其他脚本的变量冲突,会互相覆盖,命名时加前缀区分,比如N$怪物伤害这类带语义的名字。
第四个坑点:装备位置写错不会报错,只会静默跳过,所以本地测试时先用sendmsg把变量输出核对一遍。
常见问题
1. 文本文件里的装备名和游戏里不完全一致怎么办?
把文本文件里的装备名改成和游戏物品数据库里完全一致的名字,先复制粘贴再保存,避免手打错字;本地GOM引擎环境测试时,可以先用sendmsg输出匹配结果确认。(本条问题整理自百度知道真实提问:传奇脚本文件,2024-12)
2. 传奇服务器更新列表怎么做?
更新列表的做法是把文本文件内容整理好后重新生成列表文件,思路与切割装备列表的读取一致:文件按固定格式组织,脚本读取时逐行匹配;本文场景下就是维护切割装备.txt里的装备名与数值。(本条问题整理自百度知道真实提问:传奇服务器更新列表怎么做,2014-04)
3. SF传奇登录器列表文件在哪?
列表文件通常放在版本目录对应的配置文件区域,传奇目录一般包含DATE、MAP、WAV等文件夹,脚本读取的文本列表文件则放在QuestDiary目录下,路径在命令的第三个参数里指定。(本条问题整理自百度知道真实提问:SF传奇登录器列表文件在哪,2016-04)
4. INCFILTLIST和文本列表检测命令有什么区别?
文本列表检测命令通常只判断装备是否在列表里,返回是或否;INCFILTLIST除了匹配装备名,还会把该装备名下面的数值累加到保存变量,属于带取值的列表读取,适合数值汇总场景。
5. 保存变量用N$开头有什么讲究?
N$开头的写法是数字型自定义变量的命名习惯,与版本内普通变量区分开,避免和其他脚本共用变量时互相覆盖;本文示例的N$怪物伤害就是这种带语义的自定义变量。
6. 多件装备同名时数字怎么累加?
文本里同一装备名只保留一行,数值写在该名字的下一行;身上同时穿戴两件同名装备时,命令会按装备位置逐一匹配,把对应数值累加到保存变量里。
7. 装备位置参数填错会怎样?
不会报错,只会跳过该位置的检测,导致变量数值偏低;本地调试时建议先只检测一个位置验证变量是否正确,再扩展到全部位置。
写在最后
本文把GOM引擎的文件列表读取命令从格式、参数到实操完整梳理了一遍:命令用装备位置加保存变量加文件路径三个部分完成列表读取,文本文件按一行名字一行数字组织,配合QuestDiary目录下的文本文件就能在本地单机调试时快速核对装备数值。
以上INCFILTLIST切割列表读取配置全程在本地GOM引擎环境跑通;该命令面向GOM引擎设计,其他引擎是否兼容需要自行验证。本文内容仅供单机本地学习调试。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。













