GOM引擎掉落身上装备教程 - TakeEx命令用法详解
摘要:GOM引擎掉落身上装备分两条路:TakeEx按0到16装备位把身上装备脱下放进背包,Take按名称收背包物品,两者不能混用。死亡掉地面由@HumDropItem触发段接管,段内先LINKPICKUPITEM关联刚掉落物品,再改名加星发击杀提示。本文给出QFunction死亡掉落改色加星配置,排查漏写关联导致改动落空。…
说到让玩家失去身上装备,新手第一反应是用Take命令按名字把物品收走,但Take收的是背包里的堆叠物,对已经穿在身上的装备根本不生效;真正能把身上穿着的那件装备脱下来放进背包、再按位置掉落的,是TakeEx系列。这就是掉落身上装备这件事里,收包命令和脱装命令的本质区别。
一个按名字收、一个按位置脱,用错了就会出现背包空空、装备却还穿在身上的尴尬。下面把TakeEx的位置参数、死亡掉落触发段@HumDropItem以及Take扩展参数讲清楚,配置时对照着选。

格式与用法
把人物身上指定位置的装备脱下来放进背包,用TakeEx 位置,位置参数填0到16对应的装备位。帮助文档给的示例写法很简单:
[@脱装测试]
#IF
#ACT
TakeEx 1
SENDMSG 5 已经把1号位置的装备脱下放进背包!
死亡或被击杀时身上装备掉落,引擎会跑进@HumDropItem触发段,这就是人物掉落触发HumDropItem机制,英雄对应英雄掉落触发段。在这个段里可以关联掉落物品、改名字颜色、统计掉落,标准写法如下:
[@HumDropItem]
#IF
#ACT
LINKPICKUPITEM
CHANGEITEMNAMECOLOR -1 253
CHANGEITEMUPGRADECOUNT -1 +1
SENDMSG 5 你被【<$CURRRTARGETNAME>】杀死,掉落物品【<$CURRTEMNAME>】
Take命令本身也做了扩展,后面可以跟是否部分匹配、是否检测改名名称两个开关,用来收走背包里的物品。

参数详解
TakeEx、@HumDropItem段与Take扩展的参数对照如下。
| 命令 | 参数 | 含义 |
|---|---|---|
TakeEx 位置 |
位置0到16 | 把该装备位上穿的装备脱下,放入背包 |
@HumDropItem |
触发段 | 人物死亡掉落物品时引擎自动进入此段 |
LINKPICKUPITEM |
无参 | 把后续操作关联到刚掉落的那件物品上 |
Take 物品名 数量 部分匹配 检测改名 |
四个参数 | 收走背包物品,后两位控制匹配方式 |
TakeEx按位置脱装,不关心穿的是哪件,位上有东西就脱。Take按名称收包,两个命令的作用对象完全不同:一个作用于身上装备位,一个作用于背包格子。@HumDropItem段里LINKPICKUPITEM是关键,先把后续命令关联到刚掉落的物品,后面改颜色、加星才会落在正确那件上。
新手易错点
拿Take去脱身上装备是第一坑。Take 屠龙 1只会从背包里收走一把屠龙,身上穿着的那把纹丝不动。要脱身上的,必须用TakeEx按位置,位置对了装备才会离手。
位置编号填错是第二坑。TakeEx只认0到16这一段装备位,传17以上引擎不执行。写之前先确认武器、衣服、头盔各对应几号位,别凭感觉填。
掉落触发段不写LINKPICKUPITEM是第三坑。没有这句关联,后面的CHANGEITEMNAMECOLOR不知道作用在哪件物品上,改颜色加星都会落空。死亡掉段里这条关联命令要放在最前面。
脱装后背包满了会异常。TakeEx是把装备放进背包,背包格子满了放不下,装备会处理失败或直接消失。涉及批量脱装前,先确认背包有足够空位。

配置步骤
下面做一个完整场景:死亡掉落时,把掉落物品的名字改成红色、掉落提示告诉玩家是谁击杀的,这就是TakeEx取下装备与掉落触发联动的实际配置。
第一步,打开本地测试版本目录D:\本地传奇版本\Mir200\Envir\Market_Def下的QFunction-0.txt,拉到文件末尾准备写掉落触发段。
第二步,写入@HumDropItem段,第一行先放LINKPICKUPITEM关联刚掉落的物品,这是后续改色加星生效的前提。
[@HumDropItem]
#IF
#ACT
LINKPICKUPITEM
CHANGEITEMNAMECOLOR -1 253
CHANGEITEMUPGRADECOUNT -1 +1
第三步,在段尾加一行SENDMSG提示,用<$CURRRTARGETNAME>取击杀者名字、<$CURRTEMNAME>取掉落物品名,把击杀信息播报出来。
SENDMSG 5 你被【<$CURRRTARGETNAME>】杀死,掉落物品【<$CURRTEMNAME>】
第四步,保存后在M2控制台重载QFunction脚本,上线找个角色把自己击杀一次,观察地面物品名字是否变红、聊天栏是否弹出击杀与掉落提示。
问题速查
1. 问:TakeEx脱下来的装备是直接掉地上还是进背包?
TakeEx 位置是把身上装备脱下放进背包,不是直接掉地面。它解决的是主动脱装、转移装备的需求。要做成死亡掉落地面,靠的是引擎在死亡时触发@HumDropItem段,把物品抛到地面再关联处理。一个进背包、一个掉地面,两者别混。
2. 问:为什么我用Take收身上穿着的装备,背包里却没少东西?
Take是Take命令扩展里收背包物品的写法,按物品名称从背包格子里扣除,对身上已穿戴的装备不生效。要让身上那件离手,必须用TakeEx 位置按装备位脱。判断清楚目标在背包还是在身上,选对应命令,是这类不生效最常见的原因。
3. 问:@HumDropItem这个掉落触发段应该写在哪个文件里?
它属于全局死亡掉落触发,段名固定@HumDropItem,必须写在QFunction-0.txt里,路径为D:\本地传奇版本\Mir200\Envir\Market_Def\QFunction-0.txt。写在普通NPC脚本不会被引擎在死亡时调用。保存后记得重载QFunction才生效,英雄掉落触发段另起。(本条问题整理自百度知道真实提问:传奇gom引擎脚本命令常用命令分类,2026-07)
4. 问:死亡掉落后想给掉落物品改名或加星,为什么改了没反应?
九成是漏了LINKPICKUPITEM。这条命令的作用是把后续操作关联到刚掉落的那件物品上,不写它,CHANGEITEMNAMECOLOR、CHANGEITEMUPGRADECOUNT就没有作用对象。正确顺序是先LINKPICKUPITEM,再改颜色、加星,最后发提示,顺序颠倒会让改动落空。
5. 问:回收脚本里想先把玩家身上的装备脱下来再回收,怎么写?
先TakeEx 位置把目标装备位上的装备脱下放进背包,再用Take 物品名 数量从背包里收走完成回收。两步分开:脱装用位置命令,收包用名称命令。一次回收多件就按装备位逐个TakeEx,再统一Take收走,注意脱装前确认背包有空位。(本条问题整理自百度知道真实提问:传奇设置装备回收脚本,2026-06)
6. 问:Take后面那两个0和1的开关参数分别控制什么?
Take 物品名 数量 部分匹配 检测改名第三位填0或空表示完全匹配,填1表示部分匹配;第四位填0或空表示不检测改名后的名称,填1表示检测改名名称。收改名装备时第四位要开1,否则按原名收不到。平时完全匹配、不检测改名,留空即可。
7. 问:英雄死亡掉落会不会也进这个@HumDropItem段?
不会共用。人物死亡掉落进@HumDropItem,英雄死亡掉落走的是英雄对应的掉落触发段,两段互相独立。要让英雄掉落也有改色加星提示,需要在英雄对应段里再写一遍LINKPICKUPITEM与提示语句。配置时人物和英雄两段都要维护。(本条问题整理自百度知道真实提问:传奇设置NPC回答后自动关闭脚本,2025-08)
小结
掉落身上装备在GOM引擎里要分清两条路:主动按位脱装进背包用TakeEx 位置,死亡掉地面由@HumDropItem触发段接管,段内先LINKPICKUPITEM关联物品再改色加星提示。收背包物品用扩展后的Take,别拿它去脱身上装备,位置编号不越界、背包留足空位,整套流程就顺了。
本文脱装命令与死亡掉落触发相关案例已在本地GOM引擎环境逐项跑通;命令仅适配GOM引擎,部分其他引擎存在兼容可能性,跨引擎使用需要自行测试修改。仅供单机本地学习调试。
扫描二维码推送至手机访问。
本文章M2GM发布,如需转载请注明出处。如有侵权请联系站长删除。
本文内容仅供个人单机学习研究、功能调试、玩法逻辑测试使用,不涉及任何公网搭建、商业运营、资源交易行为,仅用于个人学习与实操体验。







