北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 3675|回复: 4

请问#if命令怎么样啊

[复制链接]
发表于 2010-6-27 11:39:16 | 显示全部楼层 |阅读模式
#if ([@jing-@maxjing/10-1]>=[@maxjingli*2-@jingli+1]) {tuna [@maxjingli*2-@jingli+1]} {tuna [@jing-@maxjing/10-1]}
我这样写哪里错了

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

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

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

为什么每次都是执行后面的那个指令啊
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-6-27 12:35:20 | 显示全部楼层
很少用[]来计算,试试用%eval代替看看有没有效果。
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
 楼主| 发表于 2010-6-27 12:55:07 | 显示全部楼层
可以了 谢谢
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-6-27 13:17:45 | 显示全部楼层
我从不用这种复杂的嵌套,难说就会出问题
用#math算好再执行最安全
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
发表于 2010-6-27 13:55:56 | 显示全部楼层
原帖由 wsdimxl 于 2010-6-27 11:39 AM 发表
#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 编辑 ]
北大侠客行Mud(pkuxkx.net),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-11-16 07:10 PM , Processed in 0.012311 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表