LFM2引擎设置假人捡物品列表 - SetDummyPickItemFile命令教程
摘要:LFM2引擎SetDummyPickItemFile命令用于给指定假人挂自定义捡取清单,列表一行一个物品名,开关留空为优先列表、写1为允许列表,未定义假人走列表信息1默认,只设一边与默认互补、两边都设则替代默认。本文按帮助文档整理格式、参数对照、步骤与对比,并给不捡物排查,助GM落地假人捡物配置。…
昨晚在本地服务端测试假人巡逻时,我遇到一个典型问题:地图里刷了几个假人,怪物打死后地上掉了一堆药水和金币,假人却站着不动,一件都不捡。排查下来才发现,假人默认只捡列表信息1里登记过的物品,想让它按自定义清单捡东西,就得用LFM2引擎的SetDummyPickItemFile命令。设置假人捡物品列表,就是给假人单独挂一份捡取清单,让它按版本需要自动拾取指定物品。
这条命令的价值在于把假人捡物从统一的列表配置里解放出来:你可以给不同假人指定不同的清单,做成专属捡垃圾、专属捡装备的差异化表现。列表文件里一行写一个物品名,配合优先捡取与允许捡取两种模式,组合空间很大。本文按LFM2引擎帮助文档原文整理命令格式、列表文件参数、配置步骤与命令对比,供版本GM调试假人脚本参考。

假人捡物列表格式
SetDummyPickItemFile命令在脚本中的写法是命令名加捡取列表文件路径,再加一个是否优先捡取的开关参数,中间以空格分隔。帮助文档原文说明,默认情况下假人捡物品列表为列表信息1中的允许捡取物品和优先捡取物品,本命令可对指定假人设置自定义列表进行捡物品,未定义的假人全部使用默认列表信息1。
格式:自定义设置假人捡物品列表
SetDummyPickItemFile 捡取列表文件名(一行一个物品名) 是否优先捡取(0或空:优先捡取列表;1:允许捡取列表)
[@设置捡物品列表]
#IF
#ACT
;优先捡物品列表
SetDummyPickItemFile D:\假人捡垃圾1.txt
sendmsg 8 设置假人优先捡取列表为D:\假人捡垃圾1.txt
;允许捡物品列表
SetDummyPickItemFile D:\假人捡垃圾2.txt 1
sendmsg 8 设置假人允许捡取列表为D:\假人捡垃圾2.txt
上例是帮助文档原文示例:第一条不带开关参数,把优先捡取列表指向假人捡垃圾1.txt;第二条末尾加1,把允许捡取列表指向假人捡垃圾2.txt。开关参数留空或写0表示这是一份优先捡取列表,写1表示这是一份允许捡取列表,两者是两种不同性质的清单,不能混用。
列表文件参数说明
捡取列表文件本身是一个纯文本文件,格式非常简单,帮助文档要求文件里一行写一个物品名,引擎按行读取作为可捡取的物品清单。把两种列表的差异整理如下。
| 参数项 | 填写方式 | 作用说明 |
|---|---|---|
| 列表文件路径 | 完整路径,如D:\假人捡垃圾1.txt | 一行一个物品名 |
| 是否优先捡取 | 0或留空 | 该文件作为优先捡取列表 |
| 是否优先捡取 | 1 | 该文件作为允许捡取列表 |
| 未定义假人 | 不执行本命令 | 沿用列表信息1的默认列表 |
优先捡取与允许捡取的区别在于拾取优先级:优先捡取列表里的物品会被假人优先拾取,允许捡取列表则是在默认范围之外补充的可捡物品。帮助文档还给了三条搭配说明,如果命令只设置了优先捡,假人就捡命令设置的优先捡列表加列表信息1的允许捡列表;如果命令只设置了允许捡,假人就捡命令设置的允许捡加列表1的优先捡;如果优先和允许都用命令设置了,假人就只按命令设置的两份列表捡,不再捡列表1。
设置假人捡物列表步骤
把自定义捡物列表接到假人脚本里,按下面几步操作。
第一步,先在本地准备好列表文本文件,按一行一个物品名写好要让假人捡的物品清单,例如D:\假人捡垃圾1.txt,保存为纯文本。
第二步,在假人相关脚本段里执行SetDummyPickItemFile并填写文件路径,需要优先捡就把开关留空,需要允许捡就把开关写1。
第三步,若要同时区分优先与允许,就连续执行两条命令分别指向两个文件,参考帮助文档原文示例的写法。
第四步,保存脚本后在M2引擎中重新加载,让假人重新刷新进入地图,观察它是否按新清单自动走向并拾取对应物品。
完成上述步骤后,假人捡物就脱离了列表信息1的默认范围。需要注意路径要写对、文件要真实存在,路径写错假人读不到清单,自然不会按预期捡物。
假人捡物命令对比分析
假人捡物容易和列表信息1的默认配置、内挂自动捡物混在一起,这里做一组对比。
SetDummyPickItemFile与列表信息1的区别在于作用范围:列表信息1是所有假人共用的默认捡取范围,SetDummyPickItemFile是给指定假人单独挂自定义清单,未定义的假人仍走默认。帮助文档的三条PS正是讲两者叠加关系,只设一边就和默认清单互补,两边都设就完全用命令清单替代默认。
它也不同于人物内挂的自动捡物。内挂自动捡物是真人角色按物品过滤清单拾取,假人捡物是由引擎脱机驱动的人形角色拾取,两者配置入口不同,不要把人物内挂的过滤列表直接套到假人身上。其他引擎的假人配置往往写在单独的假人配置文件里,LFM2引擎则用这条脚本命令动态指定,写法以帮助文档原文为准。
常见问题
1. 问:SetDummyPickItemFile适合在哪些脚本场景用?
答:适合在假人巡逻、假人挂机类玩法里给假人指定专属捡物清单,比如让某个假人专门捡药水金币维持消耗、另一个假人专门捡装备。需要按假人区分捡物范围、或想临时替换默认捡取清单时,都可以用这条命令在脚本段里动态挂载列表文件。
2. 问:为什么假人设置了列表还是不自动捡取物品?
答:先确认列表文件路径是否写对、文件是否真实存在,引擎按路径逐行读取物品名,路径错了就读不到清单。再确认假人是否已经重新刷新,脚本改动后需要重载配置并让假人重新进入地图。最后核对开关参数,留空是优先列表、写1是允许列表,模式写反会导致捡取范围不符合预期。(本条问题整理自百度知道真实提问:游戏里设定的”假人”不自动捡取物品是怎么回事?,2018-12)
3. 问:假人捡取装备的配置文件路径在哪里?
答:LFM2引擎里假人可捡物品既可以在列表信息1里统一登记,也可以用SetDummyPickItemFile指定一个外部文本文件,文件里一行一个物品名。想要单独控制某个假人的捡取装备范围,就在这条命令里填好对应的清单文件路径,配合假人脚本使用,未指定的假人继续走默认列表。(本条问题整理自百度知道真实提问:GOM假人装备配置文件在哪?,2016-04)
4. 问:SetDummyPickItemFile和列表信息1的默认列表叠加时怎么算?
答:按帮助文档的三条PS计算:只设命令优先列表时,假人捡命令优先加列表1允许;只设命令允许列表时,假人捡命令允许加列表1优先;优先和允许都用命令设置时,假人完全按命令两份清单捡,不再捡列表1。想完全自定义就两边都设,想在默认基础上补充就只设一边。
5. 问:列表文件里物品名写错会怎样?
答:列表文件按一行一个物品名读取,写错的物品名引擎匹配不到,那一行就不会被捡取,不会影响其他行生效。建议先拿一两个已知物品名测试,确认假人能捡到后再扩充清单,避免一次性写一大堆物品名却因个别错字排查困难。
6. 问:假人自动喊话和假人捡物是同一套配置吗?
答:不是一回事。其他引擎里脱机假人的随机喊话内容往往写在单独的说话配置文件里,按行随机抽取;LFM2引擎的假人捡物则由SetDummyPickItemFile指定捡取清单,喊话与捡物分属不同配置入口。做假人玩法时要分别处理喊话与捡物,不要指望一条捡物命令顺带控制说话。(本条问题整理自百度知道真实提问:BLUE引擎假人自动喊话是哪个版本的功能?如何设置假人喊话?,2020-09)
7. 问:一条命令能同时设优先和允许两份清单吗?
答:不能,一条SetDummyPickItemFile只对应一个文件和一种模式,想同时区分优先与允许就要连续执行两条命令,第一条留空开关指向优先清单,第二条写1指向允许清单,这也是帮助文档原文示例的标准写法。
假人捡物配置小结
回到开头,设置假人捡物品列表用SetDummyPickItemFile就能把假人从默认列表里解放出来。格式记住命令名加文件路径加开关,开关留空是优先列表、写1是允许列表;叠加关系记住只设一边就和默认互补、两边都设就完全替代默认;排查记住路径要真实、物品名一行一个、改完要重载刷新。把这套假人捡物配置按清单理顺,脱机假人巡逻的画面就自然了。
假人捡物示例按LFM2引擎帮助文档写就,本地引擎实测跑通SetDummyPickItemFile列表加载后整理成文,版本差异以实际表现为准。
来源可溯:LFM2引擎帮助文档(脚本命令详解-功能操作命令页面)。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。
本文链接:https://www.m2gm.com/tech/lfm2/lfm2-setdummypickitemfile-pick/










