xieshuren 发表于 2010-7-12 10:27:09

求教,zmud 7.21 ,条件语句嵌套问题

我做了一个自动检查气血精神trigger,如下语句
qixue_health, 取值是最高气血的百分数
用say 语句检查已经取值成功,trigger的目的是
自动登陆后查气血是否满,不满如果打于50%用
heal解决,小于50%去买药吃

实际执行起来发先,第一个if发生作用,
health<100

但第二个health>50的语句却被提示语法出错
而没被触发,我看不出语句错在那里,请高手门帮忙看看

hp
#show @qixue_health
#if {@qixue_health<100} {
#if {@qixue_health>50} {
    #wa 5000
    exert heal
    } {
    #2 e
    n
    eat yao
    s
    #2 w
    }
hp
#show 检查气血
} {
hq
#show 检查精神
}

[ 本帖最后由 xieshuren 于 2010-7-12 10:31 AM 编辑 ]

stevenson 发表于 2010-7-12 10:51:36

你确信你在#if {@qixue_health<100} 用的是 {}而不是()?

#if {@qixue_health》50} 同理

bluse 发表于 2010-7-12 11:28:02

#if 后面的条件不是应该用小括号的么,难道721是大括号?

xieshuren 发表于 2010-7-12 11:39:17

回复 2楼 的帖子

没错的,我查过了, 这个条件语句总是显示语法错误,过不了

xieshuren 发表于 2010-7-12 11:39:47

回复 3楼 的帖子

721好象是{},

stevenson 发表于 2010-7-12 12:31:04

原帖由 xieshuren 于 2010-7-12 11:39 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
721好象是{},

谁说的?721也是(),或者不用(),我前面没表达清楚。

你改成()试试。

[ 本帖最后由 stevenson 于 2010-7-12 12:32 PM 编辑 ]

seagate 发表于 2010-7-12 12:59:12

{}没问题,看看是不是少空格之类,看上去没发现错误。而且类似这样子的条件语句最好用#switch,写起来比较规整好看一点

seagate 发表于 2010-7-12 12:59:47

条件用()括起来,不能用{}

xieshuren 发表于 2010-7-12 13:39:53

试过了, 对于{}, 我写100>qixue_health, 就显示正确, qixue_health>100,就显示语法不正确

对()前面两种表达都认同,谢谢几位,我一直用{}做条件触发语句好象只要不嵌套也能使用,

顺便请教: #switch 没用过,语法表达式该是什么样的

[ 本帖最后由 xieshuren 于 2010-7-12 01:57 PM 编辑 ]

mister 发表于 2010-7-12 13:43:11

switch是cmud命令,不是zmud
页: [1] 2
查看完整版本: 求教,zmud 7.21 ,条件语句嵌套问题