传奇服务端背包一键回收脚本配置教程

来源: 作者: 点击:
核心命令与基础脚本框架

一键回收功能依赖服务端脚本命令TakeBagItem,该命令支持批量回收指定物品并发放货币或经验。基础脚本需在NPC对话中配置,玩家点击后触发。

基础回收脚本示例(GOM/GEE引擎通用):
[@一键回收]
#ACT
MOVN20
TakeBagItem木剑|布衣(男)|布衣(女)|青铜剑|轻型盔甲(男)|轻型盔甲(女)4600010000N20
#IF
LARGEN20
#ACT
MOVN1<$STR(N2)>
MULN110000
GAMEGOLD+<$STR(N1)>
SENDMSG6成功回收<$STR(N2)>件装备,获得<$STR(N1)>元宝
BREAK

•参数说明:TakeBagItem后的参数依次为:物品名称(支持|分隔)、收取数量(46代表全部)、元宝值、金币值、泡点值、经验值、数量变量、聚灵珠经验。

-逻辑解析:脚本先初始化变量N2为0,执行回收命令后,实际回收数量存入N2。若N2大于0,则计算总收益(N1=N2×单件价值)并发放元宝,最后发送提示消息。

进阶配置:分类回收与列表文件

为避免误删高级装备,通常采用分类回收或读取列表文件的方式。

1.分类回收(沃玛/祖玛/赤月系列)
在NPC脚本中分标签设置,玩家可自主选择回收档次:
[@main]
<一键回收沃玛系列/@沃玛回收><一键回收祖玛系列/@祖玛回收>

[@沃玛回收]
#ACT
MOVN20
TakeBagItem沃玛号角|沃玛战刀|沃玛魔杖|沃玛道戒460005000N20
...(后续发放奖励逻辑)

[@祖玛回收]
#ACT
MOVN20
TakeBagItem祖玛雕像|祖玛卫士|祖玛裁决|祖玛骨玉4600015000N20
...(后续发放奖励逻辑)


2.列表文件回收(推荐)
将垃圾装备名称写入文本文件,脚本读取文件进行回收,便于批量管理。
-创建列表文件:在QuestDiary目录下新建垃圾装备列表.txt,每行一个装备名(如:青铜头盔、魔法头盔、金项链)。
-脚本调用(V8等新引擎支持):
[@垃圾回收]
#ACT
movn00
movn10
movs1
#IF
CheckBagItems..\QuestDiary\垃圾装备列表.txts1n1
#ACT
getdbitemfieldvalue<$STR(s1)>price
formulation<$STR(n0)>*4/10n2
takebagitem<$STR(s1)><$STR(n1)>0<$STR(n2)>00n00
sendmsg6回收<$STR(n1)>个<$STR(s1)>,单价<$STR(n2)>

此方法通过CheckBagItems检查背包匹配项,并支持按数据库价格(price字段)的百分比(如40%)进行回收。

自动回收与定时清理配置

对于挂机版本,可配置定时器实现自动清包。

自动回收脚本示例:
[@开启自动回收]
#ACT
MOVN$自动回收1
SETONTIMER1818;开启18号定时器,每18秒执行一次
MESSAGEBOX自动回收已开启

[@OnTimer18]
#IF
EQUALN$自动回收1
#ACT
;此处插入上述TakeBagItem回收命令
QueryBag;可选:整理背包
SENDMSG6自动回收整理完成
BREAK

[@关闭自动回收]
#ACT
MOVN$自动回收0
SETOFFTIMER18
MESSAGEBOX自动回收已关闭


常见问题与避坑指南

1.命令不生效:检查引擎是否支持TakeBagItem命令(GOM/GEE/V8均支持),确认物品名称与数据库完全一致,包括括号是否为全角。
2.货币发放错误:确认脚本中的货币变量,GAMEGOLD通常为元宝,GAMEGOLD?可能为另一种货币;部分版本需使用GAMEGIRD(灵符)或GAMEDIAMOND(金刚石)。
3.误删装备:务必在回收列表中排除顶级装备,或在回收前增加二次确认对话框(使用MessageBox命令)。
4.数量统计不准:确保使用变量(如N2)接收回收数量,并在发放奖励前判断LARGEN20,避免无物品时误发空奖励。

脚本部署流程

1.定位文件:进入服务端Mir200\Envir\Market_Def目录,找到对应NPC脚本(如:盟重省-3.txt)。
2.插入代码:在NPC的[@main]菜单中添加<一键回收/@回收>选项,并在文件末尾添加上述回收脚本段落。
3.重载脚本:在游戏内使用@reloadnpc(GM命令)或重启服务端使配置生效。
4.测试:背包放入测试装备,点击NPC验证回收数量与货币到账情况。
[顶部]