旧版水果忍者1.5.0:一个猎人宏的询问

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 16:05:36
我做了一个LR宏,如下:
/script if (UnitHealth("target")>300) then CastSpellByName(猎人印记(等级 2)) else CastSpellByName("奥术射击(等级 3)");end
我想这样:当目标血大于300时使用猎人印记,否则使用奥术射击.可以在实践中却发现,不管目标血量如何,都只执行else后面的语句??!!这是为什么啊?难道我if (UnitHealth("target")>300)错了?不会啊,系统没提示脚本错误.
晕~~~我把>300改成<300试试,却又是这个情况:不管目标血量如何,都施放猎人印记~~~~~~不对啊~~~怎么我的 if~~then~~~else 没起作用啊~~~~~

PS:我觉得特奇怪.既然是UnitHealth("target")>300,那么怪生命大于300,条件成立,返回1,那么应该执行then后面的语句,却怎么执行else后面的语句去了?后来改<300,但怪生命大于300,应该是返回0条件不成立,要执行else后面的语句啊~~却怎么又执行then后面的去了~~~???郁闷+狂寒汗+抓狂~~~~~~

ps:忘记说了,我是24级的号。对付的怪300+的血。其实我主要是想做个按HP++的宏,先用LR试试,却出现了上面的情况

/script if (UnitHealth("target")>300) then CastSpellByName(猎人印记(等级 2)) else CastSpellByName("奥术射击(等级 3)");end

大哥,你再检查一下~~

if ... then castspellbyname ... else castspellbyname
猎人印记是castspellbyname ,奥术射击呢?还写成castspellbyname?

我不太懂C语言(这是C语言吧,我只看过几天TurboC),但这好像不是语法错误,而是粗心。

看来if…then…else是起作用了。楼主几级了?会不会是你标记的目标满血也没有300血啊?因为你在最开始用>300的时候,他执行的是else的语句。而改成<300,执行的是if的语句,说明语句没问题。最可能的就是你标记的怪本身就没有300血。把数字改低一点试试,或者找个玩家决斗测试一下。

看来if…then…else是起作用了。楼主几级了?会不会是你标记的目标满血也没有300血啊?因为你在最开始用>300的时候,他执行的是else的语句。而改成<300,执行的是if的语句,说明语句没问题。最可能的就是你标记的怪本身就没有300血。把数字改低一点试试,或者找个玩家决斗测试一下。