装备与物品
检查放入普通物品框物品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一类取值命令处理。
