传奇里“个人修改的装备换元宝”通常有两种实现方式:
玩家把指定装备交给NPC,脚本检测装备是否存在,扣除装备后发放元宝。
玩家使用回收功能,把自定义装备、修改装备、特殊装备按设定价格换成元宝。
这类脚本主要用到传奇脚本里的物品检测、物品扣除、元宝增加、对话提示、条件判断等命令。不同引擎、不同版本命令写法可能略有差异,下面按通用写法整理,具体命令名称以当前版本脚本环境为准。
一、装备换元宝脚本的基本思路
装备换元宝的核心流程是:
玩家打开NPC对话。
脚本检测玩家背包或身上是否有指定装备。
如果装备存在,扣除装备。
给玩家增加对应元宝。
弹出提示,告诉玩家回收成功。
如果装备不存在,提示玩家准备材料。
常用命令逻辑如下:
功能 常用命令方向 作用
检测装备 CHECKITEM / CHECKITEMW 判断背包或身上是否有装备
扣除装备 TAKE / TAKEW 回收或扣除指定装备
增加元宝 GAMEGOLD + 数量 给玩家增加元宝
提示玩家 MESSAGEBOX / SENDMSG 显示回收成功或失败信息
如果装备是穿戴在身上的,优先使用检测穿戴和扣除穿戴类命令;如果装备放在背包里,使用普通物品检测和扣除命令即可。
二、单件装备换元宝脚本示例
下面是一个比较常见的单件装备换元宝脚本结构。
[@回收自定义装备]
IF
CHECKITEM 自定义武器 1
ACT
TAKE 自定义武器 1
GAMEGOLD + 100
MESSAGEBOX 成功回收【自定义武器】,获得100元宝。
ELSESAY
你背包中没有【自定义武器】,无法回收。
这段脚本的意思是:
先检测玩家背包里是否有1个“自定义武器”。
如果有,就扣除1个“自定义武器”。
然后给玩家增加100元宝。
最后弹出成功提示。
如果没有,就提示玩家背包中没有该装备。
这里的“自定义武器”要换成你版本里真实的装备名称。装备名字必须和游戏内显示名称一致,否则脚本检测不到。
三、多件装备分别换元宝脚本示例
如果版本里有多个自定义装备,可以分别设置不同价格。
[@装备换元宝]
IF
CHECKITEM 自定义武器 1
ACT
TAKE 自定义武器 1
GAMEGOLD + 200
MESSAGEBOX 成功回收【自定义武器】,获得200元宝。
ELSESAY
你背包中没有【自定义武器】。
[@装备换元宝2]
IF
CHECKITEM 自定义衣服 1
ACT
TAKE 自定义衣服 1
GAMEGOLD + 150
MESSAGEBOX 成功回收【自定义衣服】,获得150元宝。
ELSESAY
你背包中没有【自定义衣服】。
[@装备换元宝3]
IF
CHECKITEM 自定义项链 1
ACT
TAKE 自定义项链 1
GAMEGOLD + 80
MESSAGEBOX 成功回收【自定义项链】,获得80元宝。
ELSESAY
你背包中没有【自定义项链】。
每个装备单独写一个段落,方便修改价格和判断条件。
四、批量回收装备换元宝脚本示例
如果玩家背包里有多件相同装备,可以写成批量回收。
[@批量回收自定义武器]
IF
CHECKITEM 自定义武器 5
ACT
TAKE 自定义武器 5
GAMEGOLD + 1000
MESSAGEBOX 成功回收5件【自定义武器】,获得1000元宝。
ELSESAY
你背包中的【自定义武器】不足5件,无法批量回收。
这段脚本表示:
检测背包是否有5件“自定义武器”。
如果满足,扣除5件。
给玩家增加1000元宝。
不满足则提示数量不足。
如果还想支持单件回收,可以再单独写一个单件回收段落,避免玩家只有1件时无法操作。
五、检测穿戴装备换元宝脚本示例
如果装备已经穿在身上,不能只用普通背包检测命令,需要检测穿戴状态。
[@回收穿戴自定义武器]
IF
CHECKITEMW 自定义武器
ACT
TAKEW 自定义武器 1
GAMEGOLD + 300
MESSAGEBOX 成功回收穿戴的【自定义武器】,获得300元宝。
ELSESAY
你身上没有穿戴【自定义武器】,无法回收。
这段脚本适用于玩家把自定义武器穿在身上后,通过NPC回收换元宝。
如果版本支持指定部位回收,可以在扣除命令里加入部位参数。不同引擎写法不同,测试时要以当前版本支持的命令为准。
六、完整NPC对话菜单示例
可以把多个回收选项放进一个NPC菜单里。
[@main]
SAY
你好,这里是装备换元宝NPC。\
\
你可以把自定义装备回收成元宝。\
\
<回收自定义武器/@回收自定义武器>\
<回收自定义衣服/@回收自定义衣服>\
<回收自定义项链/@回收自定义项链>\
<批量回收自定义武器/@批量回收自定义武器>\
<回收穿戴自定义武器/@回收穿戴自定义武器>
然后分别写对应段落:
[@回收自定义武器]
IF
CHECKITEM 自定义武器 1
ACT
TAKE 自定义武器 1
GAMEGOLD + 200
MESSAGEBOX 成功回收【自定义武器】,获得200元宝。
ELSESAY
你背包中没有【自定义武器】。
[@回收自定义衣服]
IF
CHECKITEM 自定义衣服 1
ACT
TAKE 自定义衣服 1
GAMEGOLD + 150
MESSAGEBOX 成功回收【自定义衣服】,获得150元宝。
ELSESAY
你背包中没有【自定义衣服】。
[@回收自定义项链]
IF
CHECKITEM 自定义项链 1
ACT
TAKE 自定义项链 1
GAMEGOLD + 80
MESSAGEBOX 成功回收【自定义项链】,获得80元宝。
ELSESAY
你背包中没有【自定义项链】。
[@批量回收自定义武器]
IF
CHECKITEM 自定义武器 5
ACT
TAKE 自定义武器 5
GAMEGOLD + 1000
MESSAGEBOX 成功回收5件【自定义武器】,获得1000元宝。
ELSESAY
你背包中的【自定义武器】不足5件。
[@回收穿戴自定义武器]
IF
CHECKITEMW 自定义武器
ACT
TAKEW 自定义武器 1
GAMEGOLD + 300
MESSAGEBOX 成功回收穿戴的【自定义武器】,获得300元宝。
ELSESAY
你身上没有穿戴【自定义武器】。
这样玩家打开NPC后,可以选择不同装备进行回收。
七、增加限制条件的写法
如果不想让玩家无限制换元宝,可以加入等级、职业、每日次数等限制。
限制等级
[@回收自定义武器]
IF
CHECKLEVEL 50
CHECKITEM 自定义武器 1
ACT
TAKE 自定义武器 1
GAMEGOLD + 200
MESSAGEBOX 成功回收【自定义武器】,获得200元宝。
ELSESAY
你的等级不足50级,或背包中没有【自定义武器】。
限制职业
[@回收自定义武器]
IF
CHECKJOB WARR
CHECKITEM 自定义武器 1
ACT
TAKE 自定义武器 1
GAMEGOLD + 200
MESSAGEBOX 战士成功回收【自定义武器】,获得200元宝。
ELSESAY
你不是战士职业,或背包中没有【自定义武器】。
使用变量控制每日回收次数
如果版本支持变量,可以用变量记录玩家当天回收次数。
[@回收自定义武器]
IF
CHECKITEM 自定义武器 1
SMALL P0 10
ACT
TAKE 自定义武器 1
GAMEGOLD + 200
INC P0 1
MESSAGEBOX 成功回收【自定义武器】,获得200元宝。今日已回收:<P0>次。
ELSESAY
你背包中没有【自定义武器】,或今日回收次数已达上限。
这里的变量名、变量范围、重置方式要根据当前版本支持情况调整。有的版本使用P0到P9,有的版本使用其他变量规则。
八、修改装备换元宝时需要注意的问题
装备名称必须完全一致
脚本里的装备名称要和游戏内真实名称一致。
例如游戏里叫:
自定义裁决
脚本里就不能写成:
裁决
否则脚本可能检测不到。
元宝命令要写对
增加元宝一般使用类似:
GAMEGOLD + 数量
不要写成:
GAMEGOLD 数量
也不要漏掉加号。
不同引擎对元宝命令写法可能不同,如果当前版本有专门的元宝增加命令,要按当前版本命令表来写。
扣除装备前必须先检测
正确顺序是:
先检测装备是否存在。
检测通过后再扣除装备。
扣除装备后再增加元宝。
不要先给元宝再扣装备,否则容易出现刷元宝风险。
穿戴装备和背包装备要分开处理
背包里的装备用普通检测和扣除命令。
穿戴中的装备用穿戴检测和穿戴扣除命令。
如果混用,可能出现:
背包有装备但检测不到。
身上穿着装备但无法回收。
扣除失败。
元宝发放异常。
修改后重新加载脚本
脚本修改完成后,需要在M2或对应管理工具里重新加载脚本,否则新内容可能不会生效。
测试时建议先准备对应装备,分别测试:
背包有装备时能否正常回收。
背包没有装备时是否提示失败。
穿戴装备时能否正常回收。
数量不足时是否不会扣除。
元宝数量是否正确增加。
多次回收是否会出现异常。
九、常见错误排查
问题 可能原因 处理办法
脚本无反应 装备名称不一致 核对游戏内真实装备名称
有装备但提示没有 装备在穿戴栏 改用穿戴检测命令
扣除装备但不给元宝 元宝命令写错 检查GAMEGOLD或当前版本元宝命令
给元宝但不扣装备 TAKE命令写错 检查物品名称和数量
可以重复回收 缺少数量检测 增加CHECKITEM判断
脚本不生效 未重新加载 在M2或管理工具中重新加载脚本
个人修改的装备换元宝脚本,核心就是先检测装备,再扣除装备,最后增加元宝。写脚本时重点保证装备名称、数量、元宝命令、穿戴检测和扣除顺序正确。测试通过后再开放给玩家使用,避免因为命令写错导致装备误扣或元宝异常。
传奇个人修改装备换元宝脚本写法与回收设置方法
来源:
作者:
点击:

