传奇如何弄装备宝宝和自动修装备脚本?这样设置很简单

来源: 作者: 点击:
在传奇私人服务器里,“装备宝宝” 能帮玩家自动捡装备,“自动修装备” 能省去手动找 NPC 的麻烦,这两个功能都能靠脚本来实现。不用复杂编程,掌握基本命令和设置步骤,新手也能轻松搞定。下面就分别说说这两种脚本的写法,从基础逻辑到具体代码,一步步讲清楚。
先说说:如何设置 “装备宝宝” 脚本
“装备宝宝” 其实是一个特殊的 NPC 或宠物,能自动拾取地面上的装备并交给玩家。实现这个功能的核心是 “让宝宝定时扫描地面物品,符合条件就捡起来”。
1. 确定宝宝的触发方式
常见的有两种形式:
召唤型:玩家使用 “召唤宝宝” 命令(比如 @召唤宝宝)召唤出宝宝,宝宝存在期间自动捡装备;
跟随型:宝宝默认跟随玩家,只要玩家在线就一直工作。
这里以 “召唤型” 为例,脚本需要包含 “召唤宝宝”“宝宝捡装备”“解散宝宝” 三个部分。
2. 召唤宝宝的基础脚本
在 QFunction-0.txt(功能脚本)里添加召唤命令:
[@召唤宝宝]
#act
SummonNPC 装备宝宝 1 ; 召唤名为 “装备宝宝” 的 NPC,1 代表跟随状态
SENDMSG 6 装备宝宝已召唤,会自动帮你捡装备!
break
[@解散宝宝]
#act
DismissNPC 装备宝宝;解散宝宝
SENDMSG 6 装备宝宝已解散!
break
这里的 “SummonNPC” 是召唤 NPC 的命令,“装备宝宝” 是 NPC 名称(需在 NPC 列表里提前添加),“1” 代表宝宝会跟随玩家移动。
3. 让宝宝自动捡装备
给 “装备宝宝” 的专属脚本(比如 “装备宝宝.txt”)添加捡物逻辑,让它每隔几秒扫描一次周围物品:
#timer 2000 ; 每 2000 毫秒(2 秒)执行一次
#act
FindItem 武器 | 首饰 | 防具 5 ; 扫描 5 格范围内的武器、首饰、防具
IfFindItem ; 如果找到物品
PickUpItem ; 捡起物品
GiveItemToMaster ; 把物品交给主人(玩家)
SENDMSG 6 装备宝宝为你捡起一件物品!
EndIf
break
这里的 “#timer 2000” 是定时命令,让宝宝每 2 秒执行一次捡物操作;“FindItem” 指定要捡的物品类型(可以写具体名称,比如 “屠龙刀 | 沃玛头盔”);“PickUpItem” 和 “GiveItemToMaster” 实现捡取和移交功能。
4. 限制宝宝捡物范围和类型
如果不想让宝宝捡垃圾装备,可以加过滤条件。比如只捡品质≥5 的装备:
#timer 2000
#act
FindItem 武器 | 首饰 | 防具 5
IfFindItem
CheckItemQuality <$CURRENTITEM> 5 ; 检查当前物品品质是否≥5
IfTrue
PickUpItem
GiveItemToMaster
SENDMSG 6 装备宝宝捡起一件高品质装备!
Else
SENDMSG 7 装备宝宝忽略了低品质物品。 ;7 号颜色为灰色,不显眼
EndIf
EndIf
break
这样宝宝就会自动过滤掉垃圾装备,只捡有价值的物品。
再讲讲:如何设置 “自动修装备” 脚本
自动修装备的核心是 “让系统定时检查玩家装备耐久度,低于阈值就自动修复”,可以绑定在 NPC 身上,也可以设置成无条件自动修复。
1. 绑定 NPC 的自动修装备(需要玩家交互)
在 “铁匠铺老板.txt” 等 NPC 脚本里添加自动修复选项:
#say
需要自动修复装备吗?每次低于 50% 耐久会自动修理。
<开启自动修复 /@AutoRepairOn>
< 关闭自动修复 /@AutoRepairOff>
[@AutoRepairOn]
#act
Set [101] 1 ; 用变量 101 标记开启状态(1 = 开启,0 = 关闭)
SENDMSG 6 自动修复已开启,装备耐久低于 50% 时会自动修理。
break
[@AutoRepairOff]
#act
Set [101] 0 ; 关闭自动修复
SENDMSG 6 自动修复已关闭。
break
然后在 QFunction-0.txt 里加定时检查命令:
#timer 5000 ; 每 5 秒检查一次
#if
Check [101] 1 ; 判断是否开启自动修复
#act
CheckEquipDurability 50 ; 检查所有装备耐久是否≤50%
IfTrue
RepairAllEquip ; 修复所有装备
TakeGold 1000 ; 每次修复扣 1000 金币(可选)
SENDMSG 6 装备已自动修复,当前耐久 100%!
EndIf
break
这里的 “CheckEquipDurability 50” 是判断耐久度的命令,“RepairAllEquip” 是修复命令,适合需要消耗金币的场景。
2. 无条件自动修复(无需玩家操作)
如果想让玩家装备永远保持满耐久(比如新手福利),脚本更简单,直接在 QFunction-0.txt 里加:
#timer 10000 ; 每 10 秒修复一次
#act
RepairAllEquip ; 无条件修复所有装备
; 不需要扣金币,适合新手期或 VIP 玩家
break
这种方式适合给特定玩家群体(如 VIP)开福利,普通玩家仍用手动修理。
3. 按装备类型单独修复
如果只想自动修复武器和衣服(损耗快的装备),可以指定装备位置:
#timer 5000
#act
CheckEquipDurability 50 2 ; 检查 2 号位置(武器)耐久≤50%
IfTrue
RepairEquip 2 ; 修复武器
EndIf
CheckEquipDurability 50 8 ; 检查 8 号位置(衣服)耐久≤50%
IfTrue
RepairEquip 8 ; 修复衣服
EndIf
break
这里的 “2” 和 “8” 是装备位置编号(参考之前的位置对照表),实现针对性修复。
常见问题:脚本不生效怎么办?
设置后如果宝宝不捡装备或装备不自动修复,可能是这几个原因:
命令不兼容:不同引擎的命令可能不同,比如有的引擎用 “CallPet” 代替 “SummonNPC”,“FixEquip” 代替 “RepairEquip”。查引擎手册确认正确命令。
定时参数错误:“#timer” 后面的数字单位是毫秒,比如写成 “#timer 2” 会导致每秒执行 500 次,服务器卡顿;写成 “#timer 200000” 则间隔太长,效果不明显。建议捡装备用 2000-5000 毫秒,修装备用 5000-10000 毫秒。
变量或条件冲突:比如自动修复的变量 101 被其他脚本占用,导致状态判断错误。可以换一个不常用的变量(如 200、300),避免冲突。
物品名称或位置错误:宝宝捡物时 “FindItem” 后面的物品名称写错(比如 “屠珑刀” 而非 “屠龙刀”),或自动修复的位置编号填错(比如用 3 代表武器,实际应为 2),都会导致功能失效。仔细核对名称和编号。
比如有个 GM 设置装备宝宝时,发现宝宝只捡武器不捡首饰,后来检查脚本发现 “FindItem” 后面只写了 “武器”,加上 “| 首饰” 后就正常了。
总的来说,装备宝宝脚本的关键是 “定时扫描 + 条件捡物”,自动修装备脚本的核心是 “定时检查耐久 + 自动修复”。两种脚本都可以根据需求调整细节,比如限制捡物类型、设置修复费用、指定修复装备等。多测试几次,根据服务器引擎调整命令,很快就能让这两个功能顺畅运行,提升玩家体验。