CheckStateValue — 检测对象状态 使用说明
命令概述
CheckStateValue 是一条 条件(#IF)脚本命令,
用于检测当前脚本对象是否存在指定状态。对应状态剩余时长大于 0 时,条件成立。
如果需要获取状态剩余时长,请使用动作命令 GetStateValue 状态类型 保存变量。
命令格式
CheckStateValue <状态值>
| 位置 | 参数 | 类型 | 必填 | 说明 |
| 第 1 参 |
状态值 |
整数 |
是 |
要检测的状态编号,见下方状态值说明。 |
状态值说明
| 状态值 | 状态名称 | 说明 |
| 0 | 绿毒 | 检测对象是否处于绿毒状态。 |
| 1 | 红毒 | 检测对象是否处于红毒状态。 |
| 2 | 不能攻击 | 检测对象是否处于不能攻击状态。 |
| 4 | 不能移动 | 检测对象是否处于不能移动状态。 |
| 5 | 麻痹 | 检测对象是否被麻痹。 |
| 8 | 隐身 | 检测对象是否处于隐身状态。 |
| 9 | 神圣战甲术 | 检测对象是否有神圣战甲术效果。 |
| 10 | 幽灵盾 | 检测对象是否有幽灵盾效果。 |
| 11 | 魔法盾 | 检测对象是否有魔法盾效果。 |
| 12 | 冰冻 | 检测对象是否处于冰冻状态。 |
| 13 | 紫毒 | 检测对象是否处于紫毒状态。 |
| 14 | 蛛网 | 检测对象是否被蛛网罩住。 |
| 15 | 护体神盾 | 检测对象是否有护体神盾效果。 |
| 16 | 无极真气 | 检测对象是否有无极真气效果。 |
脚本示例
示例一:检测是否中红毒
[@MAIN]
#IF
CheckStateValue 1
#SAY
你中红毒了
示例二:检测是否被麻痹
[@检测麻痹]
#IF
CheckStateValue 5
#ACT
SENDMSG 7 你被麻痹中
#ELSEACT
SENDMSG 7 你没有被麻痹
示例三:检测魔法盾并取得剩余时长
[@检测魔法盾]
#IF
CheckStateValue 11
#ACT
GetStateValue 11 N10
SENDMSG 7 魔法盾存在,剩余时长:<$STR(N10)>
#ELSEACT
SENDMSG 7 当前没有魔法盾
示例四:检测蛛网状态
[@检测蛛网]
#IF
CheckStateValue 14
#ACT
SENDMSG 7 你当前被蛛网罩住,不能跑动
#ELSEACT
SENDMSG 7 当前没有蛛网状态
注意事项
CheckStateValue 只能用于 #IF 条件段。
- 命令只判断状态是否存在,不返回剩余时间;获取剩余时间请使用
GetStateValue。
- 状态值必须使用上表中的编号,未支持的编号会按脚本条件错误处理。
- 状态值
3、6、7 当前未定义,请不要使用。
- 该命令检测的是当前触发脚本的对象状态,在人物、英雄、怪物等不同触发环境中对象不同。
如果脚本需要同时判断状态并显示剩余时间,建议先用 CheckStateValue 判断,再在成立分支中调用 GetStateValue 保存时长变量。