装备与物品

检查放入普通物品框物品ID

检查普通物品框中物品的 ID 是否等于指定值,适用于指定装备提交、定向回收和精确筛选流程。

命令用途

CheckDlgItemID 用于检查当前放入普通物品框中的物品 ID 是否等于指定值。

这条命令必须配合 QueryItemDlg 使用,通常写在 QueryItemDlg 的回调标签里,用来精确判断用户提交的是不是目标物品,再决定是否允许继续流程。

命令名

CheckDlgItemID

调用格式

CheckDlgItemID <物品ID>

参数说明

参数必填说明
物品ID是要匹配的物品 ID。只有当前普通物品框中的物品 ID 与这里一致时,#IF 条件才成立。

返回或影响

  • 这是检查型命令,只能在条件判断流程中使用。
  • 这条命令必须基于 QueryItemDlg 打开的当前普通物品框状态执行,不能脱离普通物品框流程单独使用。
  • 当当前普通物品框中的物品 ID 与参数一致时,#IF 条件成立。
  • 如果普通物品框为空、物品 ID 不一致,或当前没有有效提交物品,则条件不成立。

示例

基础用法

[@OnCheckItem]
#IF
CheckDlgItemID 123456
#ACT
MessageBox "已检测到你放入的是目标物品,可以继续处理。"
#ELSESAY
当前只接受指定物品,请重新放入。

这段写法用于限制普通物品框只能提交指定 ID 的物品,适合做精确回收或指定道具处理。

常见变体

[@OnCheckItem]
#IF
CheckDlgItemID 123456
#ACT
TakeDlgItem
Give 金币凭证 1
#ELSEACT
MessageBox "当前提交的物品不符合要求。"
Break

这类写法适合先按物品 ID 精确校验,符合条件就继续收走物品并发放结果,不符合时直接中断流程。

注意事项

  • CheckDlgItemID 只比较物品 ID,不判断名称、类型、属性或强化结果。
  • CheckDlgItemID 必须放在 QueryItemDlg 的后续标签中使用,没有当前普通物品框状态时无法单独成立。
  • 当脚本面向同名不同物品、同外观不同来源的道具时,用物品 ID 判断通常比名称判断更稳。
  • 如果你还需要把物品 ID 保存到变量,后续更适合配合 GetDlgItemID 一类取值命令处理。

相关命令