[@开始合成]
#IF
CheckBoxItemCount 0 木剑 1
CheckBoxItemCount 1 木剑 1
CheckBoxItemCount 2 木剑 1
CHECKGAMEGOLD > 9
#ACT
GAMEGOLD - 10
DelBoxItem 0
DelBoxItem 1
DelBoxItem 2
GIVE 斩马刀 1
SENDMSG 6 恭喜你合成了斩马刀!
#ELSEACT
SENDMSG 6 合成失败:需要三把木剑和至少10元宝!
为啥什么材料都能合成斩马刀,你给
🤖 回答引擎: TXT语法专家 |
🕒 时间: 2026-05-23 13:17:01 |
👁️ 阅读: 35
根据课程日志记录,问题在于你的条件判断逻辑有误。`CheckBoxItemCount` 命令的参数使用不正确。
正确的 `CheckBoxItemCount` 命令格式是:
`CheckBoxItemCount 0 木剑 1`
其中:
* 第一个参数 `0` 是盒子的编号(比如 `0` 是第一个盒子)。
* 第二个参数 `木剑` 是要检查的物品名称。
* 第三个参数 `1` 是需要检查的数量。
你的脚本中使用了 `CheckBoxItemCount 0 木剑 1`、`CheckBoxItemCount 1 木剑 1`、`CheckBoxItemCount 2 木剑 1`,这表示你需要检查 **三个不同的盒子**(编号0、1、2)里是否都各有一把“木剑”。这通常不是合成功能的意图,而且容易因为盒子编号不对应导致判断失效。
一个更常见的合成逻辑是:**检查同一个盒子(比如0号盒子)里是否有足够数量的指定材料**。修改后的脚本如下:
```
[@开始合成]
#IF
; 检查0号盒子里是否有至少3把木剑
CheckBoxItemCount 0 木剑 3
; 检查元宝是否大于9(即至少10个)
CHECKGAMEGOLD > 9
#ACT
GAMEGOLD - 10
; 从0号盒子里删除3把木剑
DelBoxItem 0
GIVE 斩马刀 1
SENDMSG 6 恭喜你合成了斩马刀!
#ELSEACT
SENDMSG 6 合成失败:需要三把木剑和至少10元宝!
```
**关键修改点:**
1. 将三个 `CheckBoxItemCount` 检查合并为一个,直接检查0号盒子里是否有 **3** 把“木剑”。
2. 相应地,`DelBoxItem` 也只需要删除0号盒子(引擎会根据物品名称和数量自动扣除)。
这样修改后,只有当0号盒子里有3把或以上的“木剑”,并且元宝足够时,才会成功合成“斩马刀”。
← 返回问答库