游客您好
第三方账号登陆

1.12.1版本战士宏指南

职业攻略-战士 wowclassic 2019-6-9 00:25 99人浏览 0人回复
摘要

注意:由于我的宏功能比较强,所以要求技能和装备的位置必须必须在我指定的位置,否则我的宏你是不能用的声明:不管你信不信,所有的宏都是可以用的,我自己都实际测试过,给出的宏直接用都OK(4楼由于未测试,也许 ...

注意:要求技能和装备的位置必须必须在我指定的位置,否则不能生效
声明:不管你信不信,所有的宏都是可以用的,我自己都实际测试过,给出的宏直接用都OK
当然,位置也可以你自己定,只要把相应的技能编号改下,具体的编号我都给出了 


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

/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("Player")>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);P(16);else C(4,1);P(16);C(4,2);P(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("Player")>44) then CastSpellByName("英勇打击");end 

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


八,另外一个换武器的宏,这个连弓一块换,我是为了吃面包做的 

/script P=PickupInventoryItem;C=PickupContainerItem; 
/script P(17);if(CursorHasItem())then C(4,14);C(4,13);P(16);else C(4,13);P(16);C(4,14);P(17);end 
/script UseContainerItem(4,15) 

使用后同时换单手武器,盾,弓 


九,自动给武器上鱼饵的,也可以上磨刀石,我钓鱼为了省事 

/script UseContainerItem(2,1) 
/script PickupInventoryItem(16) 


十,切换防御姿态,缴械 

/script CastShapeshiftForm(2) 
/施放 缴械 

如果不在防御姿态则切防御姿态,如果在则缴械 

如果你是战斗或者狂暴姿态要缴械需要连续按2下 


十一,守信史(呵呵) 

/target 暮光预言者 
/施放 冲锋(等级 3) 
/施放 断筋(等级 3) 


十二,从防御姿态切换到狂暴姿态释放狂暴之怒再切换回防御姿态 


/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,战斗姿态,鼠标滚轮想上,狂暴姿态,向下滚 

找到按键设置的CTRL+F1那里,这个是切换战斗姿态,把后面的第二快截键设置为鼠标滚轮向上 

然后到CTRL+F2那里,这个切换狂暴姿态,把后面的第二快捷键设置为鼠标滚轮向下 



2,R键,我现在改成扔雷 


3,C键,使用饰品,联盟徽记等 


4,大脚的技能拦可以拖出来几个,放到屏幕中间,放一些常用的技能 




拉怪宏,多功能 

/script if((UnitHealth("Player")<2000) and (GetActionCooldown(33)==0)) then CastSpellByName("破釜沉舟");elseif ((UnitHealth("Player")<2000) and (GetActionCooldown(32)==0)) then UseAction(32);elseif ((UnitHealth("Player")<2000) and (GetActionCooldown(45)==0))then CastSpellByName("盾墙");end 
/script if not IsBuffActive("战斗怒吼","player") then CastSpellByName("战斗怒吼");end 
/script if((GetActionCooldown(64)==0) and (IsUsableAction(64)==1))then CastSpellByName("复仇");elseif ((GetActionCooldown(66)==0) and (UnitMana("Player")>19))then CastSpellByName("盾牌猛击");elseif (UnitMana("Player")>35))then CastSpellByName("破甲攻击");end 
/施放 盾牌格挡 
/script if(UnitMana("Player")>59) then CastSpellByName("英勇打击");end 

33的位置代表破釜沉舟,32的位置是大红,45的位置是盾墙,64的位置是复仇,66的位置是盾牌猛击 

此宏需要2个插件IsBuffActive和SuperMacro 


路过

雷人

握手

鲜花

鸡蛋
广告位 更多+
Powered by Discuz!  ©2001-2013 Comsenz Inc.