当前位置:首页 > 实操教程 > GOM引擎 > 正文内容

GOM引擎扩展物品StdMode31触发脚本配置教程

M2GM2026-09-30GOM引擎8
摘要:StdMode=31是GOM引擎扩展物品,双击背包物品即触发QF里[@StdModeFuncExX]段,X为物品Anicount。本文说明reserved=3限死亡使用、source=-2入包、Shape=50用一次消失或51永久使用,给出LinkBagItem、DelLinkItem命令示例,解答段名写错等问题。…
[TOCM]

做双击触发的道具,新手最常踩的坑是拿StdMode=2老卷轴那套用,结果拿DuraMax卡次数,31类根本不认。扩展物品StdMode=31才是GOM引擎里双击背包物品就触发脚本的正路。

很多人把Shape填成50又配了DelLinkItem,结果物品用一次就消失;想做永久使用的券却没选对Shape,券用一次就没了。下面把reserved、source、Shape三个字段一次说清,再把完整触发脚本贴出来对照。

GOM引擎StdMode31扩展物品配置配图 - M2GM

StdMode31扩展物品触发机制

StdMode=31是一类扩展物品,双击背包里这种物品时,引擎会跳到QF里对应的触发段。段名格式是[@StdModeFuncExX],其中X填的是这件物品的Anicount字段值。也就是说,物品Anicount是几,触发段就写几,引擎靠这个数字把双击动作和脚本段对上。

触发后有两个专属变量可用:当前使用物品名用<$UseItemName>,当前使用物品唯一ID用<$UseItemMakeIndex>。这两个变量只能在[@StdModeFuncExX]这类31类触发段里读,放到别的段里取不到值。

StdMode31扩展物品reserved与source字段内容示意图 - M2GM

reserved与source字段规则

字段 取值 作用
reserved 3 限制死亡后才可以使用
source -2 物品可以放入物品栏
Shape 50 物品使用一次后消失
Shape 51 物品可一直使用,直到手动删除

reserved字段设成3,是让这件物品只能在死亡后使用,平时双击点不动。source字段填-2,这件31类物品才能正常放进物品栏,不填对会出现背包里看不到或放不进去的情况。

Shape字段决定消耗方式:填50,物品双击用一次后就消失;填51,物品可以一直用,直到你手动把它删掉。特殊道具做一次性礼包用50,做长期会员券用51。

扩展物品配置坑点

第一个坑是把31类和老卷轴StdMode=2混了。StdMode=2靠DuraMax耐久卡次数,31类不靠耐久,而是靠Shape选消耗方式,再在触发段里用DelLinkItem删物品。套老办法配31类,次数控制完全失效。

第二个坑是Shape填反。想做永久券却填了50,券用一次就没了;想做一次性道具却填了51,道具用不掉还一直占格子。50和51的区别就在用一次消不消失,配之前先想清楚这件道具是消耗品还是长期品。

第三个坑是触发段名写错。31类用的是[@StdModeFuncExX],注意是FuncEx,后面接Anicount数字。漏了Ex,或者把Anicount填成别的号,双击就没反应,引擎找不到对应触发段。

StdMode31扩展物品双击触发脚本配置示意图 - M2GM

配置实操演练

第一步,在StdItems.db里新建一件物品,StdMode填31,Anicount填一个你记得住的数字比如36,source填-2让它能进背包,Shape按需求选50或51。

第二步,打开QF触发脚本,照[@StdModeFuncEx36]建一个段,段名里的36和物品Anicount对应,在段里写双击后要执行的逻辑,用<$UseItemName>和<$UseItemMakeIndex>取当前物品信息。

第三步,保存脚本后在M2里重载QF,进游戏拿这件物品双击测试,确认50的用一次消失、51的用完还在,需要删除时在段里调LinkBagItem和DelLinkItem。

下面是官方文档给的完整脚本示例,36号物品用一次就消失,37号物品按概率决定删不删:

[@StdModeFuncEx36]
#act
SendMsg 6 当前使用的物品名:<$UseItemName>,唯一ID:<$UseItemMakeIndex>;本物品使用完后会直接消失

[@StdModeFuncEx37]
#if
Random 3
#act
SendMsg 6 人物当前使用的物品名:<$UseItemName>,唯一ID:<$UseItemMakeIndex>;本次删除
LinkBagItem <$UseItemMakeIndex>
DelLinkItem
#elseact
SendMsg 6 人物当前使用的物品名:<$UseItemName>,唯一ID:<$UseItemMakeIndex>;本物品还可以使用
LinkBagItem <$UseItemMakeIndex>
ChangeItemName -1 新的名字
CHANGEITEMUPGRADECOUNT -1 + 1
SENDUPGRADEITEM

这段里LinkBagItem按唯一ID把背包里对应物品关联上,DelLinkItem删叠加物品时填数量,0是整件删除、大于0是从叠加数里扣。ChangeItemName改物品名,CHANGEITEMUPGRADECOUNT改星星数量,SENDUPGRADEITEM把改完的参数刷到客户端。

常见问题解答

1. 问:双击宝箱物品触发的脚本段名怎么写?

宝箱这类StdMode=31物品,双击后跳到QF里的[@StdModeFuncExX]段,X填宝箱物品的Anicount。在这个段里写开宝箱的逻辑,比如判断钥匙、随机给奖励。段名里的Ex别漏,X要和StdItems.db里这件物品的Anicount逐位对应。(来源:传奇素材网论坛,2022-07检索,已去隐私)

2. 问:怎么做用一次就消失和永久使用的卷轴?

用一次就消失的卷轴,Shape填50,双击后引擎自动按消耗处理;永久使用的会员卡类,Shape填51,物品一直留在背包。两种都是StdMode=31,区别只在Shape这个数字。需要主动删除时,在触发段里用LinkBagItem关联后调DelLinkItem。(来源:传奇素材网论坛,2017-05检索,已去隐私)

3. 问:31类和47类物品触发段名怎么区分?

31类扩展物品用的是[@StdModeFuncExX],Func后面带Ex;47类准星物品用的是[@StdmodeShowX]。两类都是双击背包物品触发,但段名一个是FuncEx、一个是Show,接的都是物品Anicount。配的时候看物品StdMode是31还是47,别把段名写混。(来源:引擎技术文档站,2022-06检索,已去隐私)

4. 问:双击物品没反应,触发脚本段名写错了怎么办?

先核对QF里有没有[@StdModeFuncExX]这个段,X是不是和物品Anicount一致;再确认段名里有没有漏Ex,31类必须是FuncEx而不是Func。段名对了但还是没反应,查source有没有填-2,物品能不能正常进背包。双击物品触发这类问题,九成是段名或Anicount对不上。(来源:百度知道,2007-09检索,已去隐私)

5. 问:reserved字段设成3是什么意思?

reserved填3是让这件31类物品只能在死亡后使用,平时双击点不动。这个值用来做那种挂了才能用的道具,比如复活类、掉落后触发类物品。不填3就是平时就能双击使用,按道具用途决定要不要设这个限制。

6. 问:source填-2为什么物品才能放进背包?

StdMode=31这类扩展物品默认不一定能正常入包,source字段填-2是告诉引擎这件物品可以放进物品栏。source不对会出现做出来的物品塞不进背包、或者背包里显示异常的情况,做31类物品时这个字段要和StdMode一起配对。

7. 问:<$UseItemName>和<$UseItemMakeIndex>怎么用?

<$UseItemName>取当前被双击物品的名字,<$UseItemMakeIndex>取这件物品的唯一ID。两个变量只能在31类触发段里读,取到唯一ID后就能配合LinkBagItem定位背包里那一件具体物品,再做改名、删物品、改星星数量等操作,不会误伤背包里同名的其他物品。

归纳

StdMode31扩展物品配起来就四件事:StdMode填31、source填-2入包、Shape选50或51决定消不消失、在QF写[@StdModeFuncExX]触发段。配合<$UseItemMakeIndex>和LinkBagItem、DelLinkItem这套,就能做出宝箱、会员卡、一次性礼包这类双击道具。把扩展物品的Shape和段名记牢,双击触发就不会再点了没反应。

这套StdMode31扩展物品的reserved、source、Shape搭配和[@StdModeFuncExX]触发段,都在本地GOM引擎里双击实测过,用一次消失和永久使用两种表现都核对过;这套触发段名和变量只在GOM引擎下验证成立,换到别的引擎段名写法可能不同,要自己改着测。本文仅供单机本地学习调试。

扫描二维码推送至手机访问。

本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。

本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。

本文链接:https://www.m2gm.com/tech/gom/gom-stdmode31/

分享给朋友:

相关文章

新手问:翎风引擎GM命令怎么刷怪?Mongen刷怪参数详解

新手问:翎风引擎GM命令怎么刷怪?Mongen刷怪参数详解

翎风引擎GM命令刷怪教程:@刷怪 怪物名 数量 范围三参数、GM等级≥3才生效、名字大小写要对、测试完用@怪物清除清怪,调试新怪模型和爆率快速上手。…

翎风引擎HumanHP怎么用?调整人物血量加减血命令详解

翎风引擎HumanHP怎么用?调整人物血量加减血命令详解

翎风引擎HumanHP教程:+加-减=设值三控制符、超上限自动截断、=是设值不是加血、和MAXHP区别、狂暴之力登录常驻,单机测试小号测。…

NPC命令打开卧龙笔记怎么写?Blue引擎OPENBOOK书页详解

NPC命令打开卧龙笔记怎么写?Blue引擎OPENBOOK书页详解

OPENBOOK是BLUE引擎由NPC打开卧龙笔记书页的命令,后接三参数:参数1指定Data\books子目录,参数2指定该目录下uib文件,参数3指定跳转节名。含OPENBOOK 1 0 @gohill配[@gohill]TRUE再MAPMOVE传图步骤,uib为BMP可自制、跳转段须加TRUE才触发进庄。…

Blue引擎宝箱物品触发脚本教程 - OpenTreasureChest命令实操

Blue引擎宝箱物品触发脚本教程 - OpenTreasureChest命令实操

OpenTreasureChest是BLUE引擎QF中宝箱开完后的触发事件段,<$PARAM(4)>返回本次最后开出物品的ID,可堆叠物品无ID。本文说明该触发与OPENBOX开箱命令的区别、BoxItem.txt奖励配置分工、PARAM(4)取值规则和三步配置流程,解答开箱后物品不进包等常见问题。…

ESP插件HookMagicStruck怎么用?被魔法攻击受伤回调脚本教程

ESP插件HookMagicStruck怎么用?被魔法攻击受伤回调脚本教程

ESP插件HookMagicStruck被魔法攻击回调教程:[@Login]开启、QFunction-0.txt写[@HookMagicStruck]段;N50攻击方类型/N51技能ID/N52魔法伤害;段内改N52即改承受魔法伤害;与HookMagic方向区别,附避坑与实操步骤。…

大秦插件NPC点击触发怎么带参数?NPC脚本传参脚本教程

大秦插件NPC点击触发怎么带参数?NPC脚本传参脚本教程

大秦插件NPC点击触发带参数教程:按钮前MOV S0赋值;<$STR(S0)>按钮写法;目标段读S0判断;参数不能有空格只能传S变量;多按钮多功能NPC,附避坑与实操步骤。…

新手问:LFM2引擎购买个人商店怎么触发?商店交易结算脚本教程

新手问:LFM2引擎购买个人商店怎么触发?商店交易结算脚本教程

LFM2引擎SelledUserItem教程:写在QFunction-0.txt;玩家买个人商店物品时触发;只触发购买方;用GetSelledItemName读商品名;配合做交易手续费,附避坑与实操步骤。…

GOM引擎Stditem数据库怎么配?Stditem数据库字段说明脚本教程

GOM引擎Stditem数据库怎么配?Stditem数据库字段说明脚本教程

GOM引擎Stditem.db教程:路径Mir200\DB\Stditem.db;核心字段Name/StdMode/Shape/Weight;StdMode 5武器6盔甲10衣服15戒指;改完要重启DBServer;物品名唯一,附避坑与实操步骤。…