» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

继续请教新的宏改良方法,请firesun进

例1:
/cast 自然迅捷
/cast 治疗之触(等级 8)
/script TargetUnit("player"

以上的宏作用是按第1下先施放3分钟冷却的自然迅捷,按第2下就施放治疗之触(等级 8)。这个宏我只能用于给自己连续施放这2个法术,无论我选定的目标是什么,因为按第1次的时候,目标会自动切换成我自己,所以按第2次就给自己施放了治疗了。请问怎么才能改写一下,让作用变为:如果我选定的是敌人或没有选定任何目标,则给自己施放治疗之触(等级 8);如果我选定的是队友或其他同阵营的玩家,则对他施放治疗之触(等级 8)。


例2:
/cast 治疗之触(等级 8)
/script if ( UnitName("target" ~=nil and UnitIsFriend("player","target" ) then SendChatMessage("开始对 %T 施放耗时3.5秒且容易OT的大治疗法术", "EMOTE"; end

以上的宏作用是当我选定友方目标的时候,我按宏键,就会给友方目标施放治疗之触(等级 8)。但是存在缺陷,当我选定的目标是敌人或者没有选定目标的时候,按宏键,无法给自己施放治疗之触(等级 8)。请问怎么才能改写一下,让作用变为:如果我选定的是敌人或没有选定任何目标,则给自己施放治疗之触(等级 8);如果我选定的是队友或其他同阵营的玩家,则对他施放治疗之触(等级 8)。


其实以上2段宏都用了不同的处理目标的脚本,但是都无法两全其美,换用则等于缺陷互换而已。望高人指导。


TOP

谢firesun指点,问题解决了,在国家地理发了2贴也没能得到解答。继续请教新的宏:

以下例子:
/say 月神艾露尼,请以野兽之力赐福 %t。
/script l={1,10,20,30,40,50,60};
/script t=UnitLevel("target";
/script for j=5,1,-1 do if (t>=l[j]-10) then CastSpellByName("野性印记(等级 "..j.."";break;end;end;

宏的作用是按目标的级别施放相应等级的野性印记,但是如果选择了敌对目标或者没有选择目标,则不会对自己施放印记,而且/say也说出了错误的语句。

请问有办法改良成:如果选择了敌对目标或者没有选择目标,则会对自己施放最大等级(由j=5决定)的印记,而且这个时候不会运行/say说话。



TOP

1、是的不允许,我那个宏是连按2下来实现作用的
2、写宏主要是想一个键就可以实现对别人或对自己的综合性智能加血,自己加血一个给别人加血一个就不方便了

暴走男在上个帖子中说
引用:
1、一个宏是不允许有2个Cast的。
2、其实给自己加血用SelfCast最高。写宏不够麻烦的


TOP

发新话题
     
官方公众号及微博