帮我写段回收装备脚本
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-03-11 22:50:29 |
👁️ 阅读: 14
根据课程日志记录,回收装备脚本可以通过多种方式实现。以下是几种常见的方法:
**1. 使用TakeBagItem命令手动回收:**
这种方法可以精确控制回收的物品、数量和条件,并能检测极品属性。
```txt
[@回收装备]
#IF
#ACT
TakeBagItem 木剑|屠龙 20 N$回收数量 1
#IF
LARGE N$回收数量 0
#ACT
MUL N$获得材料 10 <$STR(N$回收数量)>
GAMEGIRD + <$STR(N$获得材料)>
SENDMSG 6 成功回收<$STR(N$回收数量)>个装备
```
**2. 使用cfg_recycling.xls表格配置回收(推荐):**
首先在`cfg_recycling.xls`表格中配置好回收组别和回收规则,然后在脚本中使用相关命令。
```txt
[@打开回收界面]
#IF
#ACT
; 增加回收组别,对应表格中的group字段
ADDRECYCLINGTYPE 1;2;3
; 执行回收
RECYCLING
; 或者开启自动回收(间隔20秒,背包格子<=10时触发)
AUTORECYCLING 20 10
```
**3. 带名额限制的回收脚本:**
使用全局变量(G变量)来记录总名额和剩余名额。
```txt
[@显示回收面板]
#IF
#ACT
; 假设G10为剩余名额,G11为总名额
MOV N$剩余名额 <$GLOBAL(10)>
MOV N$总名额 <$GLOBAL(11)>
#SAY
回收物品:开天\
回收灵符:100灵符\
剩余名额:<$STR(N$剩余名额)>\
总名额:<$STR(N$总名额)>\
<Button|text=回收|link=@灵符回收>
[@灵符回收]
#IF
LARGE <$GLOBAL(10)> 0
#ACT
TakeBagItem 六转证明 46 N$本次回收数量
#IF
LARGE N$本次回收数量 0
#ACT
MUL N$本次回收灵符 100 <$STR(N$本次回收数量)>
GAMEGIRD + <$STR(N$本次回收灵符)>
; 扣除剩余名额
DEC GLOBAL(10) <$STR(N$本次回收数量)>
MOV N$本次回收灵符 0
MOV N$本次回收数量 0
SENDMSG 6 回收成功,剩余名额:<$GLOBAL(10)>
```
**注意事项:**
- 如果需要检测装备的自定义属性,需要自己写回收逻辑并获取装备对象。
- 回收时出现显示问题(如列表错乱)需要检查脚本逻辑,可以参考论坛中的成熟版本。
- 使用表格配置回收时,相关命令在说明书中都有范例可以参考。
← 返回问答库