装备与物品
拿走满持久物品
从背包中拿走满足满持久或未满持久条件的目标物品,适用于聚灵珠回收、经验珠兑换和特殊物品状态消耗。
命令用途
TakeDuraItem 用于从当前角色背包中拿走满足指定状态条件的目标物品。
它最常见的用途是配合 CheckItemDuraCount 回收聚灵珠、内功聚灵珠这类把状态写在持久字段里的特殊物品。
命令名
TakeDuraItem
调用格式
TakeDuraItem <物品名称> <是否聚满> [数量]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
物品名称 | 是 | 要扣除的目标物品名称,应与物品数据中的实际名称一致。 |
是否聚满 | 是 | 物品状态开关。0 表示扣除未满的目标物品,1 表示扣除已满的目标物品。 |
数量 | 否 | 要扣除的数量。省略时应按当前引擎默认行为理解,实际业务里更建议显式写出数量。 |
返回或影响
- 这是执行型命令,用于实际扣除目标物品。
- 它会按指定状态条件,从背包里拿走对应数量的目标物品。
- 如果背包里没有满足条件的物品,或数量不足,后续流程通常不会得到预期结果,因此应先配合
CheckItemDuraCount做前置判断。 - 该命令只负责扣物,不负责发奖、累计次数或回写其它状态。
示例
基础用法
#IF
CheckItemDuraCount 聚灵珠(大) 1 > 9
#ACT
TakeDuraItem 聚灵珠(大) 1 10
#SAY
已成功回收 10 个已聚满的聚灵珠(大)。
#ELSESAY
你背包里没有足够的已聚满聚灵珠(大)。
这段写法用于先确认目标物品数量足够,再一次性扣除指定数量,适合批量回收或兑换入口。
常见变体
#IF
CheckItemDuraCount 聚灵珠(大) 1 ? 1
#ACT
TakeDuraItem 聚灵珠(大) 1 1
Give 聚灵珠碎片(大) 1
Break
#ELSEACT
MessageBox "你背包里没有可以回收的聚灵珠(大)。"
这类写法用于每次只消耗 1 个满足条件的目标物品,再继续给奖励或进入循环处理。
注意事项
TakeDuraItem扣的是满足状态条件的特殊物品,不是普通背包物品的通用扣除命令。是否聚满的0和1语义不能写反;0扣未满,1扣已满。- 这类物品回收脚本里,建议总是先写
CheckItemDuraCount再写TakeDuraItem,避免直接扣除导致结果不可控。 - 如果业务要求“每次只扣一个并循环处理”,应把数量写成明确值,不要依赖省略参数的默认行为。
