LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
查看: 38829|回复: 181

[辅助]1.12 supermacro 超级宏汉化版

  [复制链接]
发表于 2016-6-9 15:22:59 | 显示全部楼层 |阅读模式
本帖最后由 cwendian 于 2017-6-16 20:27 编辑


单纯的可以写7000个字符罢了……

先说一下这个插件怎么用,ESC到超级宏,新建一个普通宏,内容为空即可(一定要这么做,不然后面一页的宏不能拖动),然后点击到“超级宏”选项卡,创建新的宏,写脚本。

举个栗子:/script CastSpellByName("防护暗影结界(等级 1)")
               /script CastSpellByName("魔甲术(等级 1)")


已知用cast是不能施法的,必须新建一个普通的空宏,后续继续修改

当然,还有更多的是/in的用法:
/in 5 CastSpellByName("寒冰箭(等级 1)")
表示让你的角色在5秒后施放寒冰箭。相信/in的用法很多玩家都很熟悉了,但是在112版本必须要有超级宏插件才能实现。





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入我们

x

评分

参与人数 1伸手费 +50 收起 理由
爱琴海小猪 + 50 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2016-6-9 16:42:36 | 显示全部楼层
非常牛逼的插件,辛苦狗血编剧男了。感谢分享!
回复 支持 反对

使用道具 举报

发表于 2016-6-9 17:20:34 | 显示全部楼层
编剧又开始大手笔了!!!!
回复 支持 反对

使用道具 举报

发表于 2016-6-9 17:22:48 | 显示全部楼层
编剧你需要的是普通宏还是超级宏的代码??
回复 支持 反对

使用道具 举报

发表于 2016-6-9 17:28:33 | 显示全部楼层
术士---一键输出宏
脚本代码(超级宏):function ScanDebuffs()
if UnitExists('target') then
local i=1;
HasCOA=0;
HasCorruption=0;
HasImmolate=0;
HasSiphon=0;
while UnitDebuff('target', i) do
GameTooltipTextLeft1:SetText(nil);
GameTooltip:SetUnitDebuff('target',i);
local DebuffName = GameTooltipTextLeft1:GetText();
if DebuffName == '痛苦诅咒' then
HasCOA = 1;
elseif DebuffName == '腐蚀术' then
HasCorruption = 1;
elseif DebuffName == '献祭' then
HasImmolate = 1;
elseif DebuffName == '生命虹吸' then
HasSiphon = 1;
end
i = i + 1;
end
end
end

function CastDebuffs()
if UnitExists('target') then
if HasSiphon == 0 then
CastSpellByName('生命虹吸(等级 4)');
elseif HasCorruption == 0 then
CastSpellByName('腐蚀术(等级 6)');
elseif HasCOA == 0 then
local start, duration = GetSpellCooldown(164, SpellBookFrame.bookType);
if (duration <= 0) then
CastSpellByName('诅咒增幅');
else
CastSpellByName('痛苦诅咒(等级 6)');
end
elseif HasImmolate == 0 then
CastSpellByName('献祭(等级 7)');
end
end
end

说明:这个我收集到的。。功能:
1.自动check目标身上的DEBUFF。
2.如果没有虹吸就上虹吸,如果没有腐蚀就上腐蚀,如果没有痛苦就上痛苦(自动使用诅咒增幅),如果没有献祭就上献祭。简单点说,,闭眼睛按一个键就实现智能判断上什么dot。。
黄色那里的字需要替换,是我自己的诅咒增幅在法书书里的位置,因为我出了夜莫,增幅,延烧,所以是164,正确数字需要运行以下宏
/script for id = 1, 180, 1 do local spellName, subSpellName = GetSpellName(id,
SpellBookFrame.bookType);if spellName and string.find(spellName, '诅咒增幅', 1, true) then ChatFrame1:AddMessage('ID is '..id, 1.0, 1.0, 0.5); end; end;
用得到的数字来替换。

评分

参与人数 1伸手费 +5 收起 理由
狗血编剧男 + 5 党和人民需要你!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2016-6-9 20:03:58 | 显示全部楼层
狗头就是不一般,大力支持哦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-6-9 23:18:15 | 显示全部楼层
joyliu 发表于 2016-6-9 17:22
编剧你需要的是普通宏还是超级宏的代码??

都行,回复得越多越好
回复 支持 反对

使用道具 举报

发表于 2016-6-9 23:23:59 | 显示全部楼层
战士宏
. 自动检测自己的BUFF中是不是有 战斗怒吼.没有就施放.有则普通攻击.

/script for i=1,20,1 do if (UnitBuff("player",i) ~= nil) then if (string.find(UnitBuff("player",i),"BattleShout") ~= nil) then CastSpellByName("攻击");break; end end if (i==20) then CastSpellByName("战斗怒吼(等级 6)"); end end

以上你可以把它使用在一个综合宏中使用.或者单独使用都可以.
比如
/施放 破甲
/......

2.自动切换到狂暴姿态=>狂暴之怒=>然后切换到防御姿态
/script GS=GetShapeshiftFormInfo;CS=CastSpellByName;_,_,isActive,_ = GS(3);if isActive~=nil then CS("狂暴之怒") else CS("狂暴姿态");end
/script _,_,isActive,_ = GS(2);if isActive~=nil then CS("攻击") else CS("防御姿态");end
  



一,冲锋,压制,拦截,断筋

/script C=CastSpellByName;
/script U=IsUsableAction;
/script R=IsActionInRange;
/script if(U(61)==1)then C("冲锋");elseif(R(61)==1)then C("拦截");elseif(U(63)==nil)then C("断筋");elseif(GetActionCooldown(63)==0)then C("压制");else C("断筋");end

前3行是定义语句,要不然写不下,另外也使宏更加好看和简练

首先判断冲锋是否可以用,如果能用则冲锋;

如果不能用,判断是否目标在拦截的范围以内,如果在范围内则拦截;

如果不在拦截的范围内,判断压制是否可以使用,如果不能使用则用断筋;

如果压制可以使用,判断压制的冷却是否为0,如果为0则压制,如果不为0则使用断筋。


效果就是,如果离敌人远就冲锋或者拦截,如果接近了就断筋,如果断筋被躲闪则立刻压制。

压制完了继续上断筋。断筋上好就该用下面的宏了。


二,致死,旋风,压制,英勇打击

/script C=CastSpellByName;
/script if(GetActionCooldown(63)==0) then C("压制");end
/script if(UnitHealth("target")<20) then C("斩杀");end
/施放 致死打击
/script if(IsActionInRange(63)==1)then C("旋风斩");end
/script if(UnitMana("layer")>39) then C("英勇打击");end

第一行为定义语句

第二行判断压制的CD是否为0,如果CD为0则压制,如果不能压制此行无效

第三行判断是否能处决,能则处决

第四行释放致死打击,(我为什么要用中文?用英文的话宏图标会一直是亮的,用中文明暗时间同致死打击)

第五行,判断敌人的距离,如果在5码内的话用旋风(利大弊大?自己衡量吧)

第六行,怒气大于39放英勇打击(这个自己可以随便定义)


效果,能压制压制,不能压制能处决就处决,都不能就放致死,致死CD中,敌人在攻击范围内就用旋风

怒非常多的时候就用英勇打击代替普通攻击。

三,破胆绷带

/施放 破胆怒吼
/script SpellStopCasting();
/target 安达里克
/script if(GetActionCooldown(69)>0) then UseContainerItem(3,1);end
/script TargetLastEnemy()

第一行,释放战士的技能

第二行,停止当前动作

第三行,选择绷带目标,名字改成你自己

第四行,判断破胆这个技能的CD是否大于0,用处就是看看你破胆是否释放成功,

经常我按技能的同时,对手跑出范围了,结果我在那傻傻的绷带,现在破胆不在CD中不会绷带了。

第五行,选择最后一个敌人

效果,目标被恐惧畏缩的同时你自己绷带,1秒都不浪费,恐惧结束刚好绷带完


四,群体攻击

/script G=GetActionCooldown;C=CastSpellByName;
/script F=CastShapeshiftForm;if(G(71)<2)then F(1);else F(3);end
/script if(IsUsableAction(71)==1)then C("横扫攻击");end
/施放 旋风斩
/施放 顺劈斩
/script if(UnitHealth("target")<5)then TargetNearestEnemy();end

自动判断横扫攻击的CD,当CD好了的时候如果不在战斗姿态则自动切换到战斗姿态放横扫攻击

然后再自动切换回狂暴姿态,放旋风和顺劈

最后一行判断目标的血量,如果少于5%,则切换下一个目标

五,双手武器和盾切换

/script P=PickupInventoryItem;
/script C=PickupContainerItem;
/script P(17);if(CursorHasItem())then C(4,2);C(4,1)(16);else C(4,1)(16);C(4,2)(17);end

第1、2步骤:定义P为拾取人物目前装备函数的别名,定义C为拾取背包物品函数的别名,纯粹是为了节省字数
第3步骤:P(17),拿起目前装备的副手物品(如果是双手武器,副手没有,这样就没有拾取到物品,如果当前是单手+盾牌,这里就拾取了盾牌)
第4步骤:判断,if (CursorHasItem()) then,检查当前有没有拾取物品()
第4.1步骤:如果第4步判断是真,就是当前拾取了盾牌
第4.1.1步骤:C(4,2),,那么将盾牌放到背包2号位置中;
第4.1.2步骤:C(4,1),拿起背包1号位置的物品——双手武器;
第4.1.3步骤:P(16),将双手武器替换掉当前主手武器;
第4.2步骤:如果第4步判断为否,就是当前没拾取到物品,那么表明当前装备是双手武器
第4.2.1步骤:C(4,1),拾取背包第1位置的物品——单手武器;
第4.2.2步骤:P(16),将单手武器装备到主手位置;
第4.2.3步骤:C(4,2),拾取背包第2号位置的物品——盾牌;
第4.2.4步骤:P(17),将盾牌装备到副手位置;

六,使用饰物

/script UseInventoryItem(13)
用处,即使你换了饰物,仍然可以不换快捷键的使用,前提是你把这个语句做成宏

七,盾牌格档,复仇,破甲,英勇打击

/施放 盾牌格档
/script if((GetActionCooldown(64)==0) and (IsUsableAction(64)==1))then CastSpellByName("复仇");end
/施放 破甲攻击
/script if(UnitMana("layer")>44) then CastSpellByName("英勇打击");end

盾牌格档,能放复仇则复仇,放破甲,大于44怒放英勇打击


八,另外一个换武器的宏,这个连弓一块换,我是为了吃面包做的
/script P=PickupInventoryItem;C=PickupContainerItem;
/script P(17);if(CursorHasItem())then C(4,14);C(4,13)(16);else C(4,13)(16);C(4,14)(17);end
/script UseContainerItem(4,15)
使用后同时换单手武器,盾,弓




九,切换防御姿态,缴械
/script CastShapeshiftForm(2)
/施放 缴械
如果不在防御姿态则切防御姿态,如果在则缴械
如果你是战斗或者狂暴姿态要缴械需要连续按2下


从防御姿态切换到狂暴姿态释放狂暴之怒再切换回防御姿态
/script G=GetActionCooldown;
/script if(G(70)<2)then CastShapeshiftForm(3);end
/script if(IsUsableAction(70)==1)then CastSpellByName("狂暴之怒");end
/script if(G(70)>0)then CastShapeshiftForm(2);end
狂暴之怒放在第70号键位,就是左下额外技能拦的第10个。
效果:如果狂暴之怒不在CD中,则切狂暴姿态,释放狂暴之怒,如果狂暴之怒开始CD,则切回防御姿态
需要连续按很多次,不过只要鼠标狂点此傻瓜宏就可以了。比如MT黑龙看见地板震动,立刻狂点,就OK
注意:此技能不要放在数字拦那里,因为换姿态后技能就变了,托到别的地方用鼠标连续点。

十,战斗怒吼宏,有就不管,没有就补上。我自己觉得不太好用。
/script local q; local t;for i=0,15,1 do t=GetPlayerBuffTexture(i); if (t and string.find(t, "BattleShout")) then q=1; break; end; end;if not (q ==1) then CastSpellByName("战斗怒吼") end;

十一 扔炸弹(很重要的)
/script if(IsCurrentAction(72)==nil)then UseAction(72);else SpellStopCasting();end
把炸弹放到左下第12个格子
第一下按是扔(必须要鼠标点地,本来想做个全自动的,但是命令,楼上的那个被封了,遗憾)

第二下按是取消扔炸弹,比按ESC容易多了。
十五自动攻击的,如果按T,多按了就会取消攻击很讨厌,这个就不会取消了,哈
/script if(IsCurrentAction(50)==nil)then UseAction(50);end
把攻击放到右下中间第2个(或者从左数第14个)
如果没有攻击的话自动开始攻击
如果已经攻击则什么也不做。

评分

参与人数 1伸手费 +5 收起 理由
狗血编剧男 + 5 党和人民需要你!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2016-6-9 23:25:04 | 显示全部楼层
盗贼宏
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割");elseif p==5 and f then c("割裂");else c("邪恶攻击");end;
pve一键dps宏.....战斗剑专精作用是有星就切割5星就割裂平时邪恶攻击,战斗匕首就把邪恶攻击改成背刺即可....当年打pw就这宏= =#然后,你懂的.

【自动切割宏】
平时用邪恶搌星 若无切割状态 只要有星 立即施放切割 若有 则继续 邪恶搌星 若能搌到5星时切割状态还在 则施放剔骨
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割\");elseif p==5 and f then c("剔骨");else c("邪恶攻击\");end;

【邪恶还击宏 】
用 还击 在动作条上的序号替换下边红色字,查编号看上边基础知识 /script local s,d=GetActionCooldown(还击编号);if IsUsableAction(还击编号) and d<2 then CastSpellByName("还击\");else CastSpellByName("邪恶攻击\");end;
法术书版
/script local s,d=GetSpellCooldown(还击编号,"spell");if IsUsableAction(还击编号) and d<2 then CastSpellByName("还击\");else CastSpellByName("邪恶攻击\");end;


【致盲 + 绷带 】
没满60级的或者在战场中的绷带名自己改
/施放 致盲
/script local b,s,l;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"厚符文布绷带\") then UseContainerItem(b,s,1);break;end;end;end
1.12新潜行宏(不会因反复按而导致取消潜行)
/script local a,_;if not UnitAffectingCombat("player") then _,_,a=GetShapeshiftFormInfo(1);if not a then CastSpellByName("潜行");end;end;


/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then CastSpellByName("邪恶攻击(等级 8)") else PickupContainerItem(0,1); PickupInventoryItem(16); end

说明:如果主手不是匕首,则用邪恶攻击。如果主手是匕首,则把主背包第1格的武器换到主手。
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then PickupContainerItem(0,1); PickupInventoryItem(16);else CastSpellByName("背刺(等级 8)");end

说明:如果主手不是匕首,则把主背包第1格的武器换到主手。如果是匕首,就背刺。
注意,以上2个宏要求匕首有唯一属性。如果匕首不是唯一,把GameTooltipTextRight4改成3。

/施放 冷血
/script SpellStopCasting();
/施放 剔骨(等级 8)

说明:这个宏应该大部分贼都知道。冷血+剔骨,一键发出

PvE一键DPS宏
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割");elseif p==5 and f then c("割裂");else c("邪恶攻击");end;

抓贼宏
/script TargetNearestEnemy({reverse})
/施放 闷棍



首先说明一下,宏无法判断是否在背后,所以做不出背后就背刺,否则就邪恶之类的宏,不要再问了
绷带不丢星,这其实就是自我施法,暴雪已经整合了这个功能,打开主菜单 -> 界面设置 -> 自动自我施法 打个勾就解决了

冷血 + 剔骨
如果目标是怪,连击点>=4才冷剔,否则普通剔骨;
如果目标是玩家,连击点>=3就冷剔,如果冷血未CD,才使用普通剔骨。
/script local p,f=GetComboPoints(),UnitIsPlayer("target");if f and p>2 or not f and p>3 then CastSpellByName("冷血");SpellStopCasting();end;
/施放 剔骨

剑刃乱舞 + 护符
/script c,s,x,u,p,d,e,_=CastSpellByName,SpellStopCasting;GetInventoryItemCooldown,UseInventoryItem,"player";c("剑刃乱舞");s();_,d,e=x(p,13);if d<2 and e>0 then u(13);else _,d,e=x(14);if d<2 and e>0 then u(14);end;end;

自动切割宏
平时用邪恶搌星 若无切割状态 只要有星 立即施放切割 若有 则继续 邪恶搌星 若能搌到5星时切割状态还在 则施放剔骨
/script local p,c,b,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do b=UnitBuff("player",i);if b and strfind(b,"SliceDice") then f=1;break;end;end;if p>0 and not f then c("切割");elseif p==5 and f then c("剔骨");else c("邪恶攻击");end;

自动割裂宏
平时用邪恶搌星 若目标无割裂状态 只要有星 立即施放割裂 若有 则继续 邪恶搌星 若能搌到5星时割裂状态还在 则施放剔骨
/script local p,c,d,i,f=GetComboPoints(),CastSpellByName;for i=1,16 do d=UnitDebuff("target",i);if d and strfind(d,"Rupture") then f=1;break;end;end;if p>0 and not f then c("割裂");elseif p==5 and f then c("剔骨");else c("邪恶攻击");end;

偷袭起手,护符 + 背刺
/script local c,a,_=CastSpellByName;_,_,a=GetShapeshiftFormInfo(1);if a then c("偷袭");elseif UnitMana("player")>=60 then if GetInventoryItemCooldown("player",13)==0 then UseInventoryItem(13);SpellStopCasting();end;c("背刺");end;
护符放在饰品1上
如果在潜行状态,按第一下偷袭,再按就护符+背刺,不在潜行状态的话直接护符+背刺
自己掌握好距离和能量

邪恶还击宏
用 还击 在动作条上的序号替换下边红色字,查编号看上边基础知识
/script local s,d=GetActionCooldown(还击编号);if IsUsableAction(还击编号) and d<2 then CastSpellByName("还击");else CastSpellByName("邪恶攻击");end;

出血鬼魅宏
用 鬼魅攻击 在动作条上的序号替换下边红色字,查编号看上边基础知识
/script local c,s,d=CastSpellByName,GetActionCooldown(鬼魅编号);if d<2 then c("鬼魅攻击") else c("出血");end;

法术书版
/script local c,s,d=CastSpellByName,GetSpellCooldown(鬼魅编号,"spell");if d<2 then c("鬼魅攻击") else c("出血");end;

RAID专用: 平时邪恶攻击,目标转向自己就闪避
/script if UnitIsUnit("targettarget","player") then CastSpellByName("闪避");SpellStopCasting();end;CastSpellByName("邪恶攻击");

预备 + 消失
能消失就消失,消失冷却中就预备
消失编号参见上边基础知识
/script local c,s,d=CastSpellByName,GetActionCooldown(你消失编号);if d>2 then c("预备");SpellStopCasting();end;c("消失");

法术书版
/script local c,s,d=CastSpellByName,GetSpellCooldown(你消失编号,"spell");if d>2 then c("预备");SpellStopCasting();end;c("消失");

致盲 + 绷带
没满60级的或者在战场中的绷带名自己改
/施放 致盲
/script local b,s,l;for b=0,4 do for s=1,18 do l=GetContainerItemLink(b,s);if l and strfind(l,"厚符文布绷带") then UseContainerItem(b,s,1);break;end;end;end

一键脱光
注意,你身上的包至少要都是16格的
local e,b,s=0;for b=0,4 do for s=1,16 do if not GetContainerItemLink(b,s) then while e<18 do e=e+1;if e==11 then e=16;end;if GetInventoryItemLink("player",e) then PickupInventoryItem(e)ickupContainerItem(b,s);break;end;end;end;end;end

远程武器宏
自动判定当前远程武器类型而决定使用该种武器进行射击,弓,弩使用箭,枪械使用子弹
这个不会切换,所以弹药自己处理
/script local l,_=GetInventoryItemLink("player",18);_,_,l=strfind(l,"item%d+)");_,_,_,_,_,l=GetItemInfo(l);l=strsub(l,1,6);if l~="投掷" then l=l.."射击";end;CastSpellByName(l);

1.12新潜行宏(不会因反复按而导致取消潜行)
/script local a,_;if not UnitAffectingCombat("player") then _,_,a=GetShapeshiftFormInfo(1);if not a then CastSpellByName("潜行");end;end;

暗夜精灵贼专用 - 潜行CD中使用影遁,连续按也不会取消影遁,潜行冷却完毕使用潜行,连续按不会取消潜行
连续按不取消影遁写不下了,去掉,但潜行中不取消潜行还可以,用时自己注意点
把潜行放动作条上,查出编号,替换下边红色字,查编号看上边基础知识
/script local c,s,d,a,_=CastSpellByName;_,_,a=GetShapeshiftFormInfo(1);if not a then s,d=Get(潜行编号);if d>2 then c("影遁");else c("潜行");end;end;

法术书版
/script local c,s,d,a,_=CastSpellByName;_,_,a=GetShapeshiftFormInfo(1);if not a then s,d=GetSpellCooldown(潜行编号,"spell");if d>2 then c("影遁");else c("潜行");end;end;

不取消潜行的:需要SuperMacro支持
左边窗口:
/script NEStealth();

右边窗口Code (c):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

function NEStealth()
   local c,i,b,f,s,d,a,_=CastSpellByName;
   _,_,a=GetShapeshiftFormInfo(1);
   if not a then
      s,d=GetActionCooldown(你潜行编号);
      if d>2 then
         for i=1,16 do
            b=UnitBuff("player",i);
            if b and strfind(b,"Ambu") then
               f=1;break;
            end;
         end;
         if not f then c("影遁");end;
      else c("潜行");
      end;
   end;
end;





法术书版Code (c):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

function NEStealth()
   local c,i,b,f,s,d,a,_=CastSpellByName;
   _,_,a=GetShapeshiftFormInfo(1);
   if not a then
      s,d=GetSpellCooldown(你潜行编号,"spell");
      if d>2 then
         for i=1,16 do
            b=UnitBuff("player",i);
            if b and strfind(b,"Ambu") then
               f=1;break;
            end;
         end;
         if not f then c("影遁");end;
      else c("潜行");
      end;
   end;
end;






/cast [target=mouseover, exists] 致盲; 致盲
闷棍目标
如果你没有目标的话,将会闷棍你周围最近的敌人。如果已经有目标了,将不会丢失。对于寻找附近的潜行敌人时,这个宏有很好的效果


#showtooltip 闷棍
/targetenemy [harm][nodead]
/targetenemy [noharm][dead]
/cast 闷棍



战斗中消失,否则潜行
/cast [nocombat] 潜行; 消失





/script if ( GetComboPoints() >= 5 ) then CastSpellByName("剔骨(等级 8)"); else CastSpellByName("背刺(等级 8)"); end
/script if not (dagger == GetInventoryItemLink("player", 16)) then CastSpellByName("邪恶攻击(等级 8)") end

说明:这个宏首先判断目标身上是否有5星,如果有,则剔骨。如果没有,且主手是匕首,则背刺,如果主手不是匕首,则邪恶攻击。测试有效。但是背刺要在目标背后。注意宏的格式,不要有回车。

/script if ( GetComboPoints() >= 5 ) then CastSpellByName("冷血") SpellStopCasting();CastSpellByName("剔骨(等级 8)");else CastSpellByName("邪恶攻击(等级 8)"); end

说明:类似的判断宏,如果目标有5星,则冷血剔骨。如果有5星,冷血没冷却,就普通剔骨。没5星就邪恶攻击
/script CastSpellByName("背刺")
/script if not (dagger == GetInventoryItemLink("player", 16)) then CastSpellByName("邪恶攻击") end

说明:能背刺就背刺,不能就邪恶攻击……
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then CastSpellByName("邪恶攻击(等级 8)") else PickupContainerItem(0,1); PickupInventoryItem(16); end

说明:如果主手不是匕首,则用邪恶攻击。如果主手是匕首,则把主背包第1格的武器换到主手。
/script GameTooltip:SetInventoryItem("player", GetInventorySlotInfo("MainHandSlot")); if(GameTooltipTextRight4:GetText()~="匕首") then PickupContainerItem(0,1); PickupInventoryItem(16);else CastSpellByName("背刺(等级 8)");end

说明:如果主手不是匕首,则把主背包第1格的武器换到主手。如果是匕首,就背刺。
注意,以上2个宏要求匕首有唯一属性。如果匕首不是唯一,把GameTooltipTextRight4改成3。
/施放 冷血
/script SpellStopCasting();
/施放 剔骨(等级 8)

说明:这个宏应该大部分贼都知道。冷血+剔骨,一键发出
/Script UseContainerItem(0,1);
/Script TargetUnit("player");

说明:绷带给自己,不丢星。其中绷带放在主背包第1个格。也就是最左上的格
/script x="player";d=UnitHealthMax(x)-UnitHealth(x);if (d>1800) then UseContainerItem(0,1);end
/Script TargetUnit("player");

说明:绷带给自己,不丢星。只有在角色掉1800血以上才使用绷带。
/Script UseInventoryItem(14);
/Script UseInventoryItem(13);
/Script SpellStopCasting();
/施放 冲动
kuloukyc提供的双开饰品宏。
/施放 凿击
/Script SpellStopCasting();
/Script d=UnitHealthMax("player")-UnitHealth("player");if (d>1000) then UseContainerItem(4,14);end
/Script SpellTargetUnit("player");

守望狼狼提供的凿击+绷带宏。(4,14)是绷带在背包的位置,可以换。
/Script if (GetComboPoints() >= 4 ) then CastSpellByName("冷血");end
/Script SpellStopCasting();
/施放 剔骨

守望狼狼提供的宏:4星以上冷血剔骨,不到3星就普通剔骨。
/施放 还击
/施放 邪恶攻击(等级 8)

需要说明吗?
/script if (UnitIsUnit("targettarget","player")) then CastSpellByName("闪避") end;
/script if (GetComboPoints() >= 5) then CastSpellByName("剔骨") else CastSpellByName("邪恶攻击"); end;

NAX教官用的,学员提前脱离,OT了自动开闪避。平时就是邪恶,5星剔骨。

评分

参与人数 1伸手费 +5 收起 理由
狗血编剧男 + 5 很给力!

查看全部评分

回复 支持 反对

使用道具 举报

发表于 2016-6-9 23:29:50 | 显示全部楼层
骑士宏
=========================技能的选择=======================
需要用到的治疗技能,1级和6级圣光闪,4级和8级圣光术。
由于60年代20级以下的技能有一定的加成衰减,而1级的闪和4级的圣光是治疗效果全部加成的最低级别治疗法术。

往往治疗强调预读,但是这个版本的奶骑却无需考虑这么多,预读留给乳德和乳牧,乳骑要做的就是无脑顶过量。
满级的两个治疗技能,根据个人的习惯以及场上的不同状态来定,这里不多强调。
==========================Macro=========================
1.治疗过量宏和预读打断宏
/script x="target";d=UnitHealthMax(x)-UnitHealth(x);if (d<1200) then CastSpellByName("Flash of Light(Rank 1)") else CastSpellByName("Holy Light(Rank 4)") end;
/cast Flash of Light(Rank 1)
复制代码
目标掉血1200之内用1级闪,1200之外用4级圣光,空蓝用1级闪现无视目标血量。
/script x="target";d=UnitHealthMax(x)-UnitHealth(x);if (d<1000) then CastSpellByName("Flash of Light(Rank 1)") else CastSpellByName("Flash of Light(Rank 6)") end;
/cast Flash of Light(Rank 1)
复制代码
目标掉血800之内用1级闪,800之外用6级闪,空蓝用1级闪现无视目标血量。
/cast Holy Light()
/script x="target";d=UnitHealthMax(x)-UnitHealth(x); if (d<1000) then SpellStopCasting() end
复制代码
预读打断大圣光宏

2.审判宏
/script for i=1,16 do if(UnitBuff("player",i)) then if(string.find(UnitBuff("player",i),"RighteousnessAura")) then CastSpellByName("Judgement");break;end;else CastSpellByName("Seal of Wisdom()");break;end;end
复制代码
智慧审判宏,会按照智慧+审判的顺序出招,抽筋狂按不会给自己狂刷buff。

**审判
InnerRage--Command
HealingAura—Light
RighteousnessAura—wisdom
HolySmite—Crusader

3.圣疗宏
/script if(UnitHealth("target")<2000) then CastSpellByName("Lay on Hands(Rank 3)");SendChatMessage(">>LOH on[%t]<<使用圣疗!");end
复制代码
这个宏需要调整那个血量,直到你认为满意为止。这个宏会判断目标来使用圣疗,不会因为别人的治疗浪费自己的圣疗。

4.复活宏
/Y 复活Redemtion on>>>%t<<< Up my love
/script CastSpellByName("Redemption(Rank 5)");SendChatMessage(">>>>圣光赐予你猪的第九条命,如果你是小猪,请点接受<<<<", "WHISPER",GetDefaultLanguage("player"),UnitName("target"))
复制代码
每个治疗都有属于自己的复活宏。

4.1保护宏(新加,和复活宏基本一样...)
/script CastSpellByName("Blessing of Protection()");SendChatMessage(">>>> BOP on U ! <<<<保护祝福", "WHISPER",GetDefaultLanguage("player"),UnitName("target"))
复制代码
每个治疗都有属于自己的复活宏。

5.战场旗手宏
/cast Divine Shield(Rank 1)
/script local i for i = 0,15 do if ( GetPlayerBuffTexture(i) == "Interface\\Icons\\Spell_Holy_DivineIntervention") then CancelPlayerBuff(i);end;end
复制代码
这个宏的必要性,在于骑士不像法师点2次取消冰箱buff。

6.奉献宏
/script if UnitCanAttack("target","player") then CastSpellByName("Consecration");else CastSpellByName("Consecration(Rank 1)");end;
复制代码
同法师,抓贼用!

7.Raid要buff宏
/script local x,c,i,s={["Mage"]="智力",["Priest"]="韧",["Druid"]="爪子"},UnitClass("target");for i,s in x do if i==c then SendChatMessage("给个小"..s..",亲~","whisper",nil,UnitName("target"));end;end;
复制代码
根据目标要相应buff

8.问法师要水宏
/script if(UnitIsFriend("target","player") and UnitClass("target")=="Mage") then local tf_un=UnitName("target");SendChatMessage(tf_un..",给点水吧英雄?!", "WHISPER",GetDefaultLanguage("player"),tf_un);end
复制代码


9.使用物品宏
/cast Hammer of Justice()
/script UseContainerItem(4,18)

评分

参与人数 1伸手费 +5 收起 理由
狗血编剧男 + 5 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-4-26 12:33 AM , Processed in 0.070059 second(s), 39 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表