1.A 对友好单位或自己施法/cast 治疗术(等级1)/script TargetUnit("player") 如果你当前选择的目标是可以对其使用此魔法的友好单位的话,则对其使用魔法。如当前目标是不能接受此魔法的单位,或没有选择任何目标的话,则对自己使用魔法。而且不会对当前目标进行切换,不会中断对当前敌人的攻击。将 “治疗术(等级1)” 换成任何能对友好单位释放的魔法与技能。如在最后再加上如下代码/script if ( UnitName("target") ~=nil and UnitInParty("player","target") ) then SendChatMessage("<治疗 %T >", "PARTY"); end 则在治疗队友时,在party中发出相应的信息。将<治疗 %T>换成任何你喜欢的信息,%T表示接受治疗的目标的名字。将UnitInParty换成UnitIsFriend,则对任何友好单位施法时都发出信息。将"PARTY"换为"EMOTE",则以自定义表情的方式发出信息。如SendChatMessage(" 将在3秒内治疗 %T", "EMOTE"),则别人在聊天窗口中看到:"汉客将在三秒内治疗小郎"将"PARTY"换成"WHISPER", "COMMON", UnitName("target"),则采用密语形式对你施法的目标发送信息。"COMMON"表示密语所用的语言种类。下面是一个语言列表:Common 人类语,联盟通用语Orcish 兽人语,部落通用语Dwarvish 矮人语Gnomish 侏儒语Darnassian 暗夜精灵语还有其他的一些实现方法如:/cast 治疗术(等级1) /script if SpellIsTargeting() then TargetUnit("player") /script if ( not UnitIsFriend("player", "target") ) then CastSpellByName("治疗术(等级1)"); end /script if ( SpellIsTargeting() ) then SpellTargetUnit("player"); end /script if (UnitName("target") ~=nil and UnitIsFriend("player","target")) then CastSpellByName("治疗术(等级1)") SendChatMessage("即将治疗 %T", "Party") else TargetUnit ("player") CastSpellByName("治疗术(等级1)") TargetLastEnemy(); end 并不值得推荐。而且后一个宏会切换当前目标,中断攻击。1.B 只对自己使用如果想在任何条件下都只对自己使用治疗的话,用如下的宏:/target "player"/cast 治疗术(等级1)/script TargetLastEnemy() 但这个宏同样有切换当前目标,中断攻击的弊病。1.C 对特定队员施法下面的这个宏只对队伍中的第一名队员施法。party1,party2,party3,party4分别指代队伍中的其他4名成员。也可以结合组队相关中的目标设置宏来使用。/script if (UnitName("party1") ~= nil) then CastSpellByName("治疗术(等级1)") SpellTargetUnit("party1") SendChatMessage("即将治疗 >>" .. UnitName("party1") .. "<< (3.5s)", "Party") TargetLastEnemy(); end
对于以上的说法我不反对,但是说实话,现在许多新手都不知道,自己输入 /施放 XXXX,是没有用的,需要你自己去法术书里找到要制作的法术的宏,按住shift,接着点法术,在输入窗口里出现 /释放 XXXX,才有用,貌似许多人都不知道啊!!