装备与物品

拿走满持久物品

从背包中拿走满足满持久或未满持久条件的目标物品,适用于聚灵珠回收、经验珠兑换和特殊物品状态消耗。

命令用途

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,避免直接扣除导致结果不可控。
  • 如果业务要求“每次只扣一个并循环处理”,应把数量写成明确值,不要依赖省略参数的默认行为。

相关命令