- -# 好多朋友+我QQ.~ 不过问的问题都大概一样.首先声明下..偶写的SS宏是自动山个dot 怪少什么dot上什么. 都上齐了按就没反映。一键多用~ 省几个快截键. 但是组队多SS的情况下不可用~ 主要判断的是怪被上的dot名字.~
OK.~ 这次发帖子做了一些优化. 写了个父类.~ 可以直接用.. 还缩短了一点代码.~~ 可以直接放进wow宏里. 即使没有超级宏插件也可以用. 依次放出来吧.
自动上生命虹吸 痛苦 腐蚀
超级宏 左边:
/script aaa();
右边
function aaa()
if UnitExists("target") then
local x,dot,dbuff,d,p=1,{"Requiem","Sargeras","Explosion"},{"生命虹吸","痛苦诅咒","腐蚀术"};
for i=1,3 do
p=true;
while (UnitDebuff("target", x) ~= nil) do
d=UnitDebuff("target", x);
if string.find(d,dot[i]) then
p=false;break;
end
x = x + 1;
end
if p then
CastSpellByName(dbuff[i]);break;
end
end
end
end
这个是可以自己往里套参数... 下面解释.~~
超级宏左边:
/script aaa({"Requiem","Sargeras","Explosion"},{"生命虹吸","痛苦诅咒","腐蚀术"},3);
左边可以改成
/script if (UnitManaMax("target")>100)then aaa({"CurseOfTounges","Requiem","Explosion"},{"语言诅咒","生命虹吸","腐蚀术"},3);else aaa({"Requiem","Sargeras","Explosion"},{"生命虹吸","痛苦诅咒","腐蚀术"},3);end;
就是如果对方是魔法怪。~ 就上语言诅咒","生命虹吸","腐蚀术" 如果是物理怪. 就上生命虹吸","痛苦诅咒","腐蚀术.~~
右边:
function aaa(aa,bb,cc)
if UnitExists("target") then
local x,dot,dbuff,j,d,p=1,aa,bb,cc;
for i=1,j do
p=true;
while (UnitDebuff("target", x) ~= nil) do
d=UnitDebuff("target", x);
if string.find(d,dot[i]) then
p=false;break;
end
x = x + 1;
end
if p then
CastSpellByName(dbuff[i]);break;
end
end
end
end
这里需要解释下。~~ 主要右边的aaa()方法可以往里加参数~~ 三个参数分别是
技能英文名 技能中文名 and 个数. 大家可以随意改.~ 根据上次我发的查怪被上dot名字的方法.
/script local a, x = "buffs: ", 1;while (UnitDebuff("target", x) ~= nil) do a = a .. UnitDebuff("target", x) .. ", ";x = x + 1;end;if (x == 1) then a = a .. "no buffs.";end;SendChatMessage(a);
直接把查出的名字最后一个单词输进去就可以。~ 比如要+上献祭 就可以把左边改成
/script aaa({"Requiem","Sargeras","Explosion","Immolation"},{"生命虹吸","痛苦诅咒","腐蚀术","献祭"},4);
技能放出的顺序就是都没有按顺序放.~~ 要不缺什么补什么.~~ 想往里扔几个dot扔几个.~~ 或者各种诅咒. 感觉这个蛮方便大家使用~~放上几个常用技能相对应英文名吧.~
ChillTouch 元素诅咒
AuraOfDarkness 厄运诅咒
CurseOfAchimonde 暗影诅咒
UnholyStrength 鲁莽诅咒
其他的自己查就好。 ~~ 其实这个宏可以多用其他职业.~~比如M4的痛和暗影伤害+成那个技能~~ 改完了以后方便很多。 直接套个参数进去就好了。
最后放上个不用超级宏可以直接放到WOW宏里的虹吸痛苦腐蚀三dot宏吧.~~ 缩短了下代码~ 可以直接在普通宏那里复制.~~
/script local **b,p=1,{"Requ","Sarg","Expl"},{"生命虹吸","痛苦诅咒","腐蚀术"};for i=1,3do p=true;while UnitDebuff("target",x)do if strfind(UnitDebuff("target",x),d[i])then p=false;break;end;x=x+1;end;if p then CastSpellByName(db[i]);end;end;
PS: 有朋友说想+上诅咒增幅.. 也稍改了下。 写下边吧.~ 让大家看的清楚点. 往里边+几行代码就好了。~~ 红字为+的代码~ 就相对应地方加上就好.~~在if(i==2) 这里。 是在第几个技能位置放增副.~ 比如现在是生命虹吸","痛苦诅咒","腐蚀术"三个技能 2就代表在痛苦的时候放~ 可以按自己爱好随意改.~ 当然. 不要超出三个技能哦。.
if p then
if (i==2) then
local st,du=CastSpellByName,GetActionCooldown(诅咒增幅编号)
if (du<=0) then
CastSpellByName("诅咒增幅");
SpellStopCasting();
end
end
CastSpellByName(dbuff[i]);break;
end
end
编号是用这个宏得出的数字~~
script local s,i,n="诅咒增幅",1;while 1 do n=GetSpellName(i,"spell");if n then if strfind(n,s) then ChatFrame1:AddMessage(i);break;end;i=i+1;else break;end;end;
by: 小森不在~
大家有不懂的或者有需要的回帖就好。~~~ 就这样了..~~