请问#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
你盘膝坐下,开始吐纳炼精。
为什么每次都是执行后面的那个指令啊 很少用[]来计算,试试用%eval代替看看有没有效果。 可以了 谢谢 我从不用这种复杂的嵌套,难说就会出问题
用#math算好再执行最安全 原帖由 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]