第4个回答 2007-02-06
如何设置宏
输入/macro
按“新建”
起个名字
选个图标
如果你打开了这篇文章,你就可以高亮一个下面的模版,拷贝—粘贴到宏命令框里,然后替换变量。要多加东西就随便你啦
你的宏建好后,就可以通过把图标拉到快捷栏或者用/macro <宏名字>来使用它。
关键词
Max_Spell_Rank = 你目前最高等级的魔法,用数字来替换
月之火(把Rank 7替换为你目前拥有的最高等级):
/script if string.find(UnitName("target"),"Totem") then CastSpellByName("Moonfire(Rank 1)") else CastSpellByName("Moonfire(Rank 7)");end
另一个月之火的宏(图腾破坏,作者Darke):
/script TargetByName("Totem1");
/script TargetByName("Totem2");
/script TargetByName("Totem3")
/script TargetByName("Totem4");
/script TargetByName("Totem5");
/script TargetByName("Totem6");
/script TargetByName("Totem7");
/cast Moonfire(Rank 1)
图腾名称列表(译注:来自原文的回帖部分)
-- Air
"Nature Resistance Totem",
"Windwall Totem",
"Windfury Totem",
"Grace of Air Totem",
"Grounding Totem"
-- Earth
"Stoneclaw Totem",
"Earthbind Totem",
"Tremor Totem",
"Strength of Earth Totem",
"Stoneskin Totem"
-- Water
"Fire Resistance Totem",
"Poison Cleansing Totem",
"Disease Cleansing Totem",
"Healing Stream Totem",
"Mana Spring Totem"
-- Fire
"Frost Resistance Totem",
"Flametongue Totem",
"Magma Totem",
"Fire Nova Totem",
"Searing Totem"
(译注:前一个宏是如果目标名字是图腾,那么放出来的魔法就是1级的月之火;不是图腾就放7级的月之火。后一个宏是自动选择一个图腾并释放1级月之火。当然如果用汉语客户端,就要把英文名字相应的换为中文名字,下同)
野性印记:
/script l={1,10,20,30,40,50,60};
/script t=UnitLevel("target");
/script for i=Max_Spell_Rank,1,-1 do if (t>=l-10) then CastSpellByName("Mark of The Wild(Rank "..i..")");break;end;end;
60级德鲁伊的例子:
/script l={1,10,20,30,40,50,60};
/script t=UnitLevel("target");
/script for i=7,1,-1 do if (t>=l-10) then CastSpellByName("Mark of The Wild(Rank "..i..")");break;end;end;
荆棘:
/script l={6,14,24,34,44,54};
/script t=UnitLevel("target");
/script for i=Max_Spell_Rank,1,-1 do if (t>=l-10) then CastSpellByName("Thorns(Rank "..i..")");break;end;end;
60级德鲁伊的例子:
/script l={6,14,24,34,44,54};
/script t=UnitLevel("target");
/script for i=6,1,-1 do if (t>=l-10) then CastSpellByName("Thorns(Rank "..i..")");break;end;end;
愈合:
/script l={12,18,24,30,36,42,48,54,60};
/script t=UnitLevel("target");
/script for i=Max_Spell_Rank,1,-1 do if (t>=l-10) then CastSpellByName("Regrowth(Rank "..i..")");break;end;end;
60级德鲁伊的例子:
/script l={12,18,24,30,36,42,48,54,60};
/script t=UnitLevel("target");
/script for i=9,1,-1 do if (t>=l-10) then CastSpellByName("Regrowth(Rank "..i..")");break;end;end;
回春:
/script l={4,10,16,22,28,34,40,46,52,58};
/script t=UnitLevel("target");
/script for i=Max_Spell_Rank,1,-1 do if (t>=l-10) then CastSpellByName("Rejuvenation(Rank "..i..")");break;end;end;
60级德鲁伊的例子:
/script l={4,10,16,22,28,34,40,46,52,58};
/script t=UnitLevel("target");
/script for i=10,1,-1 do if (t>=l-10) then CastSpellByName("Rejuvenation(Rank "..i..")");break;end;end;
疗伤之触(现在只能对队友使用)
这个魔法不受等级限制,但是魔法值的控制很重要。
没有“自然的礼物”天赋(引自thottbot):
/script H=UnitHealthMax("target")-UnitHealth("target");S="Healing Touch(Rank ";SR={0,87,194,362,571,741,935,1198,1515,1889};for i=Max_Spell_Rank,1,-1 do if (H>SR) then CastSpellByName(S..i..")");break;end;end;
有“自然的礼物”天赋(只适用46级德鲁伊):
/script H=UnitHealthMax("target")-UnitHealth("target");S="Healing Touch(Rank ";SR={41,98,213,394,617,799,1005,1269};for i=Max_Spell_Rank,1,-1 do if (H>SR) then CastSpellByName(S..i..")");break;end;end;
自然之速+疗伤之触(需要cosmos。新版本里被取消,效果需要测试):
/script TargetByName("name");
/script CastSpellByName("Nature's Swiftness");
/in 1 /script CastSpellByName("Healing Touch(Rank Max_Spell_Rank)");
45级德鲁伊的例子(译注:就是作者自己 把名字Ashnod替换成你自己的名字就对了):
/script TargetByName("Ashnod");
/script CastSpellByName("Nature's Swiftness");
/in 1 /script CastSpellByName("Healing Touch(Rank 8)");
更新:(2月20日)
自我施法的宏:
/script r=Spell_Rank;TargetByName("name");CastSpellByName("Spell_Name(Rank "..r..")");
疗毒、抗毒和祛除诅咒:
/script TargetByName("name");CastSpellByName("Spell_Name")");
--------------------俗俗的分割线-----------------------------------------------------
这些宏很多是有问题的 即使是改成中文技能名 也有些不能在CWOW里用 大家注意