wsdimxl 发表于 2010-6-27 11:39:16

请问#if命令怎么样啊

#if ([@jing-@maxjing/10-1]>=[@maxjingli*2-@jingli+1]) {tuna [@maxjingli*2-@jingli+1]} {tuna [@jing-@maxjing/10-1]}
我这样写哪里错了

≡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━≡
【 精神 】 619   / 619    【 精力 】 1506/ 1506(+   0)
【 气血 】 1149/ 1149   【 内力 】 1594/ 1594(+   0)
【 食物 】 356   / 400    [缺食]【 潜能 】 1416                  
【 饮水 】 356   / 400    [缺水]【 经验 】 167977               
≡━━━━━━━━━━━━━━━━━━━━━━━◎北大侠客行◎━━≡

tuna 557
你盘膝坐下,开始吐纳炼精。

可是
hp
≡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━≡
【 精神 】 619   / 619    【 精力 】 2620/ 1506(+   0)
【 气血 】 1149/ 1149   【 内力 】 1584/ 1594(+   0)
【 食物 】 345   / 400    [缺食]【 潜能 】 1416                  
【 饮水 】 345   / 400    [缺水]【 经验 】 167977               
≡━━━━━━━━━━━━━━━━━━━━━━━◎北大侠客行◎━━≡
> (557>=393) {tuna 393} {tuna 557}
什么?
> tuna 557
你盘膝坐下,开始吐纳炼精。

为什么每次都是执行后面的那个指令啊

seagate 发表于 2010-6-27 12:35:20

很少用[]来计算,试试用%eval代替看看有没有效果。

wsdimxl 发表于 2010-6-27 12:55:07

可以了 谢谢

zgbl 发表于 2010-6-27 13:17:45

我从不用这种复杂的嵌套,难说就会出问题
用#math算好再执行最安全

bluse 发表于 2010-6-27 13:55:56

原帖由 wsdimxl 于 2010-6-27 11:39 AM 发表 http://pkuxkx.com/forum/images/common/back.gif
#if ([@jing-@maxjing/10-1]>=[@maxjingli*2-@jingli+1]) {tuna [@maxjingli*2-@jingli+1]} {tuna [@jing-@maxjing/10-1]}
我这样写哪里错了

≡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ...
因为方括号运算和#if是处在脚本解析器的同一level,所以#if语句在寻找上下文时,这个句子实际上是将“557>=393”当做了一个字符串代入#if,因而得到了false的结果。而%eval是系统函数(%),处于脚本解析器中第一步解析的目标,优先级高于指令(#)。所以是先有计算结果,#if将这个上下文作为比较表达式代入

[ 本帖最后由 bluse 于 2010-6-27 02:01 PM 编辑 ]
页: [1]
查看完整版本: 请问#if命令怎么样啊