一、魔兽世界ZS拉怪宏有那些最好是实用的,常用的。。。
其实宏的意义就在于点一个键可以放出多个多个技能,没有很区分什么PK和拉怪或者是免疫恐惧的宏,只不过是自己调整施放的顺序而已,我在这给你列出一些,都是我自己用的,非常实用,也算是抛砖引玉吧
第一个:PK减速宏
/施放断筋
/施放刺耳怒吼
说明:此宏的使用时间就是在你打架时,你感觉在别人身边,但是怎么放断筋都说距离不够而放不上,这个时候你要是做了这个宏,只要是减速就点这个宏,当放不上断筋的时候就会放上刺耳,想跑是没门了...对于没有目标的时候而怕DZ在附近,也可以直接喊出来.而如果距离够放断筋的情况下,因为断筋在刺耳的前面,所以放上断筋以后由于所有技能共CD的缘故刺耳就没有放出来,也就不用担心浪费怒气了.
第二个:拉怪宏
/施放复仇
/施放盾牌猛击
/施放破甲
说明:这个宏的目的就是在让你只点一个键而可以放多个技能,复仇因为有时间限制,所以排列在第一个,而盾牌猛击因为有冷却所以放在第二个,破甲没有要求所以放在第三个.也就是说,复仇好了就能用,盾牌猛击在冷却时而且复仇不可用就放破甲.
第三个:切姿势免疫恐惧
/施放狂暴姿势
/施放狂暴之怒
/施放死亡之愿
说明:此宏也就是猛点一个键就可以解恐惧了,如果前两个命令都没有执行,也就是说你已经无法切换姿势或者狂暴之怒在冷却,就可以放死亡之愿望,不过前提是你加了此天赋.
其他说明:其实你自己也可以编写宏,把宏命令打开的同时也把技能树打开(快捷键是P),然后点着SHIFT的同时用鼠标点技能,就会在宏命令中写下一条命令,这里需要注意的是,每个命令后面都要打回车,就跟我上面说的一样,要不就会出现差错.
二、求魔兽世界ZS宏,
校园网绝对有关系的。
建议你用代理服务器玩。
宏方面:
恩,战士宏指南(众人拾柴火焰高,集思广益贴 ^_^)
如果你想使用下面的宏,请注意两点
1,把@去掉, s c r i p t被论坛屏蔽了。
2,冲锋,拦截,压制,破胆,还有绷带,武器,盾牌等,必须放在我指定的位置
否则你是用不了的,当然,位置也可以你自己定,只要把相应的编号改下就行
具体的编号我都给出了,宏的原理用心也能看懂
对于懒人来说,只要把技能和东西放到相应的位置就行了
如果你实在太懒,除了复制什么都不想干的话,我也没办法了。
具体的位置,1楼我说的很清楚了,如果看不懂,回贴问。
我争取贴个图给你们
先把我现在用的宏贴出来
然后慢慢解释
一,冲锋,压制,拦截,断筋
/sc@ript C=CastSpellByName;
/sc@ript U=IsUsableAction;
/sc@ript R=IsActionInRange;
/sc@ript 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
二,致死,旋风,压制,英勇打击
/sc@ript C=CastSpellByName;
/sc@ript if(GetActionCooldown(63)==0) then C("压制");end
/sc@ript if(UnitHealth("target")<20) then C("斩杀");end
/施放致死打击
/sc@ript if(IsActionInRange(63)==1)then C("旋风斩");end
/sc@ript if(UnitMana("Player")>39) then C("英勇打击");end
拦截-处决-致死-旋风-英勇
/sc@ript C=CastSpellByName;
/sc@ript if(IsActionInRange(62)==1) then C("拦截");elseif(UnitHealth("target")<20) then C("斩杀");end
/施放致死打击
/sc@ript if(IsActionInRange(63)==1)then C("旋风斩");end
/sc@ript if(UnitMana("Player")>39) then C("英勇打击");end
冲锋-压制-处决-致死-英勇
/sc@ript C=CastSpellByName;
/sc@ript if(IsActionInRange(61)==1) then C("冲锋");elseif(GetActionCooldown(63)==0)then C("压制");end
/sc@ript if(UnitHealth("target")<20) then C("斩杀");end
/施放致死打击
/sc@ript if(UnitMana("Player")>39) then C("英勇打击");end
三,破胆绷带
/施放破胆怒吼
/sc@ript SpellStopCasting();
/target安达里克
/sc@ript if(GetActionCooldown(69)>0) then UseContainerItem(3,1);end
/sc@ript TargetLastEnemy()
四,群体攻击用的
/sc@ript G=GetActionCooldown;C=CastSpellByName;
/sc@ript F=CastShapeshiftForm;if(G(71)<2)then F(1);else F(3);end
/sc@ript if(IsUsableAction(71)==1)then C("横扫攻击");end
/施放旋风斩
/施放顺劈斩
/sc@ript if(UnitHealth("target")<5)then TargetNearestEnemy();end
横扫攻击要放在左下第11个键那里。
五,双手武器和盾切换
/sc@ript P=PickupInventoryItem;
/sc@ript C=PickupContainerItem;
/sc@ript 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
六,使用饰物
/sc@ript UseInventoryItem(13)
七,盾牌格档,复仇,破甲,英勇打击
/sc@ript C=CastSpellByName;
/sc@ript U=IsUsableAction
/施放盾牌格挡
/sc@ript SpellStopCasting()
/sc@ript if(U(64)==nil)then C("破甲攻击");elseif(GetActionCooldown(64)==0)then C("复仇");else C("破甲攻击");end
/sc@ript SpellStopCasting()
/施放英勇打击(等级 8)
八,另外一个换武器的宏,这个连弓一块换,我是为了吃面包做的
/sc@ript P=PickupInventoryItem;C=PickupContainerItem;
/sc@ript 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
/sc@ript UseContainerItem(4,15)
九,自动给武器上鱼饵的,也可以上磨刀石,我钓鱼为了省事
/sc@ript UseContainerItem(2,1)
/sc@ript PickupInventoryItem(16)
十,切换防御姿态,缴械
/sc@ript CastShapeshiftForm(2)
/施放缴械
十一,守信史(呵呵)
/target暮光预言者
/施放冲锋(等级 3)
/施放断筋(等级 3)
十二,从防御姿态切换到狂暴姿态释放狂暴之怒再切换回防御姿态(网友提的不错,我放这里来了)
请问楼主:
如何编写一个在防御姿态下切换狂暴姿态然后使用狂暴之怒最后再切换回防御姿态的宏
谢谢指教。
/sc@ript G=GetActionCooldown;
/sc@ript if(G(70)<2)then CastShapeshiftForm(3);end
/sc@ript if(IsUsableAction(70)==1)then CastSpellByName("狂暴之怒");end
/sc@ript if(G(70)>0)then CastShapeshiftForm(2);end
狂暴之怒放在第70号键位,就是左下额外技能拦的第10个。
十三,很多网友求的战斗怒吼宏,没有就补上的,这个是某位高人写的
如果有战斗怒吼就什么都不做,没有战斗怒吼就施放战斗怒吼
/sc@ript 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;
补充几个技巧
1,战斗姿态,鼠标滚轮想上,狂暴姿态,向下滚
找到按键设置的CTRL+F1那里,这个是切换战斗姿态,把后面的第二快截键设置为鼠标滚轮向上
然后到CTRL+F2那里,这个切换狂暴姿态,把后面的第二快捷键设置为鼠标滚轮向下
2,R键,我现在改成扔雷
3,C键,使用饰品,联盟徽记等
4,大脚的技能拦可以拖出来几个,放到屏幕中间,放一些常用的技能
一,冲锋,压制,拦截,断筋
/sc@ript C=CastSpellByName;
/sc@ript U=IsUsableAction;
/sc@ript R=IsActionInRange;
/sc@ript 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则使用断筋。
此宏的好处何在?
首先,他节省了你的快捷键,用尽可能少的键做尽可能多的操作
其次,一个键使用冲锋和拦截,我把这个技能放在能拖出来的动作条上,不需要靠姿态切换转换
技能条就能用,很方便。
第三,冲锋或拦截后直接断筋,一键连按比较轻松
第四,断筋这个技能释放频率很高,不可避免谋欢闵粒�么�褪牵�懔��淳涂梢匝怪?br>
比你反映过来再按要快一点。比如一般来说,断筋没被打出来的时候我们都是狂按的,
打出以后还会再按几下,如果别躲闪了,有时可以在自己还没反应到的时候压制已经出去了,
第五,如果第一个压制放出去了,又出了第二个躲闪,压制还在CD中,这时候断筋如果简单的
放在压制后面,断筋就放不出来了,本来很简单的宏,为了解决这个问题,使宏的复杂程度
提升了80%,我这里用了适当的判断语句有效的解决了这个问题
二,致死,旋风,压制,英勇打击
/sc@ript C=CastSpellByName;
/sc@ript if(GetActionCooldown(63)==0) then C("压制");end
/sc@ript if(UnitHealth("target")<20) then C("斩杀");end
/施放致死打击
/sc@ript if(IsActionInRange(63)==1)then C("旋风斩");end
/sc@ript if(UnitMana("Player")>39) then C("英勇打击");end
第一行为定义语句
第二行判断压制的CD是否为0,如果CD为0则压制,如果不能压制此行无效
第三行判断是否能处决,能则处决
第四行释放致死打击,(我为什么要用中文?用英文的话会比较不爽,呵呵)
第五行,判断敌人的距离,如果在5码内的话用旋风(利大弊大?自己衡量吧)
第六行,怒气大于39放英勇打击
另外两个宏功能基本类似,不过是接了冲锋和拦截。可以战斗姿态放一个,狂暴姿态放一个。
三,破胆绷带
/施放破胆怒吼
/sc@ript SpellStopCasting();
/target安达里克
/sc@ript if(GetActionCooldown(69)>0) then UseContainerItem(3,1);end
/sc@ript TargetLastEnemy()
第一行,释放战士的技能
第二行,停止当前动作
第三行,选择绷带目标,名字改成你自己
第四行,判断破胆这个技能的CD是否大于0,用处就是看看你破胆是否释放成功,
经常我按技能的同时,对手跑出范围了,结果我在那傻傻的绷带,日。现在这个问题解决了
破胆不在CD中不会绷带了。
第五行,选择最后一个敌人
四,群体攻击用的(更新了,非常好哦,显示问题解决了。)
/sc@ript G=GetActionCooldown;C=CastSpellByName;
/sc@ript F=CastShapeshiftForm;if(G(71)<2)then F(1);else F(3);end
/sc@ript if(IsUsableAction(71)==1)then C("横扫攻击");end
/施放旋风斩
/施放顺劈斩
/sc@ript if(UnitHealth("target")<5)then TargetNearestEnemy();end
自动判断横扫攻击的CD,当CD好了的时候自动切换到战斗姿态放横扫攻击
然后再自动切换回狂暴姿态,放旋风和顺劈
最后一行判断目标的血量,如果少于5%,则切换下一个目标
五,双手武器和盾切换
/sc@ript P=PickupInventoryItem;
/sc@ript C=PickupContainerItem;
/sc@ript 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
此宏本身已经说的很明白了,单手武器放在(4,1),盾放在(4,2)
懒龙朋友帮我写的解释
第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),将盾牌装备到副手位置;
六,使用饰物
/sc@ript UseInventoryItem(13)
靠近戒指的那个饰物,就是你点一下物品自动更换的那个
为什么这个我要做个宏呢,我用C放饰物,直接点一下饰物就可以更换了
比用鼠标点反映要快
七,盾牌格档,复仇,破甲,英勇打击
/sc@ript C=CastSpellByName;
/sc@ript U=IsUsableAction
/施放盾牌格挡
/sc@ript SpellStopCasting()
/sc@ript if(U(64)==nil)then C("破甲攻击");elseif(GetActionCooldown(64)==0)then C("复仇");else C("破甲攻击");end
/sc@ript SpellStopCasting()
/施放英勇打击(等级 8)
前两行定义行
第三行,放盾牌格档
第四行,停止当前技能
第五行,如果复仇不能放则用破甲,如果能放看复仇的CD是否为0,为0则放复仇,不为0用破甲
第六行,停止当前动作
第七行,施放英勇打击
战士拉怪按这一个就够了
不过友情提示,虽然破甲已经有了,但是还是要单独拉出来一个键的
八,另外一个换武器的宏,这个连弓一块换,我是为了吃面包做的
/sc@ript P=PickupInventoryItem;C=PickupContainerItem;
/sc@ript 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
/sc@ript UseContainerItem(4,15)
比上面那个换武器的多换一个弓,我弄了3个加精神的东西,为了吃面包能快点
公正之手8精神(血色掉的,付魔20精神)
加瑞特家族的徽记17精神(付魔9精神,不绑定的5*级蓝盾牌)
精神之XX长弓7精神(绿色AH随便买个)
一共加了61精神,30秒吃个面包的时间可以多回1000血
九,自动给武器上鱼饵的,也可以上磨刀石,我钓鱼为了省事
/sc@ript UseContainerItem(2,1)
/sc@ript PickupInventoryItem(16)
鱼饵放在(2,1)这个格子里
宏命令解析
CastSpellByName("技能名称");
施放一个技能,不打等级的话默认是放最高等级的
SpellStopCasting();
停止当前动作
if(条件判断语句) then
如果判断语句为真
IsUsableAction(技能编号);
如果能使用则返回1,不能使用则返回nil
判断一个技能是否在可以使用的状态,但是没有足够的怒气或MANA或精力,或者在CD中的时候
不包括在不能使用的范围
IsActionInRange(技能编号);
如果目标在技能范围内则返回1
GetActionCooldown(技能编号);
返回技能的冷却剩余时间
UnitHealth("target");
返回目标的生命,百分比
UnitHealth("player");
返回自己的生命,数值
UnitMana("player");
返回自己的怒气
PickupInventoryItem(身上物品编号);
用鼠标左键点击身上的某个物品
PickupContainerItem(背包编号,格子编号);
用鼠标左键点击背包里的某个物品
UseInventoryItem(身上物品编号);
用鼠标右键点击身上某个物品
UseContainerItem(背包编号,格子编号);
用鼠标右键点击背包里的某个物品
CastShapeshiftForm(姿态编号);
切换姿态,战斗姿态1,防御姿态2,狂暴姿态3
UnitAffectingCombat("player")
判断自己是否处于战斗中,是则返回1
http://www.wowwiki.com/index.php/World_of_Warcraft_API
技能编号
25-36 bar on right-side of screen, far right(top to bottom)右边
37-48 bar on right-side of screen, in one column(top to bottom)貌似是右2
49-60 lower right bar(left to right)右下
61-72 lower left bar(left to right)左下
73-84 battle stance bar(left to right)战斗姿态
85-96 defensive stance bar(left to right)防御姿态
97-108 berserker stance bar(left to right)狂暴姿态
命令都很简单,如何有效组合,做出自己需要的宏就要动点脑子了
67楼的懒龙朋友翻译的一些命令
我大致翻译了一些对战士来说可能有点用的魔兽API函数,当然不全,几百条API我没这时间哈,HOHO。
第一次翻译,我90年中考英语20多分,93年高考英语不及格,大学英语考试都是抄袭过关,所以,见谅呀见谅,挖哈哈。
动作条相关函数
参数:slot——动作条快捷键的编号
GetActionCooldown(slot)——得到指定编号快捷键的冷却时间(如技能、物品)
GetActionCount(slot)——得到指定编号快捷键的数量(如绷带)
IsActionInRange(slot)——判断指定编号快捷键是否在范围内
IsAutoRepeatAction(slot)——判断指定编号快捷键是否是一个自动攻击技能(如魔杖射击)
IsCurrentAction(slot)——判断指定编号快捷键当前是否正在使用
IsUsableAction(slot)——判断指定编号快捷键当前是否可用
BUFF状态相关函数
CancelPlayerBuff(buffIndex)——移除一个BUFF,参数buffIndex是BUFF的索引编号
GetPlayerBuff(buffId, buffFilter)——返回玩家的各种BUFF/DEBUFF的编号及状态信息
GetPlayerBuffTexture(buffIndex)——返回指定索引号BUFF的图标名称
UnitBuff("unit", index [, showCastable])——返回指定目标指定编号的BUFF信息
UnitDebuff("unit", index [, showDispellable])——返回指定目标指定编号的DEBUFF信息
信息相关
SendChatMessage(text,{,type}{,language}{,targetPlayer})——发送一段信息
参数:text——要发送的文字
type——信息类型,有"SAY","YELL","EMOTE","PARTY","AFK","DND","GUILD","OFFICER","WHISPER","CHANNEL","RAID"
背包、装备、物品相关
CursorHasItem——当前有没有拾取物品
UseContainerItem(bagId,slot)——使用指定背包指定位置的物品
PickupContainerItem(index,slot)——拿起、放置或替换指定背包指定位置的物品
UseInventoryItem(slotId)——使用当前装备指定位置的物品
PickupInventoryItem(slotId)——拿起、放置或替换人物当前某位置的装备
背包编号bagId解释
0-4,0是行囊,1是靠行囊的那个背包,2、3、4依次类推
人物身上装备位置slotId参数详解
0= ammo(弹药)
1= head(头部)
2= neck(项链)
3= shoulder(肩膀)
4= shirt(衬衫)
5= chest(胸部,这个...,不要理解错了)
6= belt(腰带)
7= legs(腿部)
8= feet(鞋子)
9= wrist(手腕)
10= gloves(手套)
11= finger 1(第一个戒指)
12= finger 2(第二个戒指)
13= trinket 1(第一个饰品)
14= trinket 2(第二个饰品)
15= back(披风)
16= main hand(主手)
17= off hand(副手)
18= ranged(射击、圣物、魔杖)
19= tabard(公会徽章)
20= first bag(右边的第一个包)
21= second bag(右边的第二个包)
22= third bag(右边的第三个包)
23= fourth bag(最左边的包)
如果你打开银行的话:
40 to 63= the 24 bank slots(银行里的24个位置)
64= first bank bag(银行的第一个包)
65= second bank bag(银行的第二个包)
66= third bank bag(银行的第三个包)
67= fourth bank bag(银行的第四个包)
68= fifth bank bag(银行的第五个包)
69= sixth bank bag(银行的第六个包)
楼主双手武换单手加盾牌的宏解释:
/sc@ript P=PickupInventoryItem;
/sc@ript C=PickupContainerItem;
/sc@ript 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),将盾牌装备到副手位置;
行动相关
FollowUnit("unit")——跟随指定目标
Jump()——跳
技能相关
CastSpellByName("name")——施放指定名称的技能
GetSpellCooldown(spellID,"bookType")——得到技能冷却时间(用起来没这么简单,可参考相关插件)
GetShapeshiftFormInfo(index)——得到某个形态/姿态的信息
语句格式:icon, name, active, castable= GetShapeshiftFormInfo(index);
icon——形态/姿态图标信息
name——形态/姿态名称
name——形态/姿态是否是当前形态/姿态
castable——形态/姿态当前是否可以施放
CastShapeshiftForm(index)——进入某个形态/姿态
index参数说明
德鲁依
1=熊
2=水里的那啥来着
3=猫?
4=旅行形态
5=月亮形态?汗,太不了解小德了
盗贼
1=潜行
战士
1=战斗姿态
2=防御姿态
3=狂暴姿态
目标相关
AssistByName("name")——协助某个玩家攻击
AssistUnit("unit")——协助某人某NPC某宠物攻击
AttackTarget()——攻击目标(慎用,状态判断不好用这玩意会取消自己的自动攻击)
TargetLastEnemy()——将最后一个敌人作为自己的目标
TargetLastTarget()——将最后的目标做为自己的目标
TargetNearestEnemy({reverse})——将距离最近的敌人作为目标,等同TAB键
TargetNearestFriend()——将最近的队友做为目标
TargetUnit("unit")——将指定名称的单位做为目标(比如对某人有仇,混战中只扁他一个)
单位相关
AssistUnit("unit")
FollowUnit("unit")
InviteToParty("unit")——邀请某人加入队伍(某些人刷副本的人都用这函数邀请小号等)
TargetUnit("unit")
UnitAffectingCombat("unit")——某单位是否正在战斗状态
UnitHealth("unit")——某单位的生命值(无法得知具体生命值的单位返回为百分比)
UnitMana("unit")——某单位的魔法值/怒气值/能量值
UnitSex("unit")——某单位的性别(这条貌似没啥用,RY太多了,=.=)
关于unit参数的说明:
"player"——玩家自己
"pet"——宠物
"party1"——队伍成员1
"party4"——队伍成员4(没5哈,除你之外只有4)
"partypetN"——队伍成员的宠物(N=1,2,3,4)
"raidN"——团队成员(N=1,2,3,4....)
"raidpetN"——团队成员的宠物(N=1,2,3,4...)
"target"——你的当前目标
"mouseover"——你鼠标经过的那个家伙
"npc" or"NPC"——NPC
另外,还需要注意一点,在unit参数中允许层叠使用target,比如AssistUnit("playertargettarget")就是协助玩家目标的目标,当然你也可以这样AssistUnit("playertargettargettargettargettargettarget"),只要你弄得清,^皿^
三、魔兽世界ZS的切换姿势还切换武器宏命令是什么
朋友您好,首先,很高兴能回答您的问题.
1键实现3姿态间的切换
首先,菜单里选择按键设置,把8号快捷键的键位设置2,设为Q
然后,打开技能书,在战斗姿态下,把“狂暴姿态”图标拖到8那格去
切换狂暴姿态,在狂暴姿态下,把“战斗姿态”图标拖到8那格去
最后鼠标点一下切换防御姿态,把“狂暴姿态”图标拖到8那格去
这样,在战斗姿态或者防御姿态按一下Q,都能切成狂暴姿态。而在狂暴姿态按一下Q,就能切回战斗姿态。如果要在切姿态的同时换武器,把姿态的图标换成以下宏:
1、从任意姿态任意武器切换到战斗姿态+双手武器
/scriptP=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi)thenoi=(GetContainerItemLink(4,15));if(oi)thenP(17);PC(4,7);elseP(17);PC(4,15);end;P(16);PC(4,11);end
/施放战斗姿态
2、从任意姿态任意武器切换到防御姿态+主手武器+盾牌
/scriptP=PickupInventoryItem;C=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi)thenoi=(GetContainerItemLink(4,15));if(oi)thenP(17);C(4,7);C(4,15);AutoEquipCursorItem();end;elseC(4,11);P(16);C(4,15);P(17);end
/施放防御姿态
3、从任意姿态任意武器切换到狂暴姿态+双持武器
/scriptP=PickupInventoryItem;PC=PickupContainerItem;oi=(GetInventoryItemLink("player",17));if(oi)thenoi=(GetContainerItemLink(4,7));if(oi)thenP(17);PC(4,15);PC(4,7);AutoEquipCursorItem();end;elsePC(4,11);P(16);PC(4,7);P(17);end
/施放狂暴姿态
副手武器放在4号背包(最左边的背包,因为这个包是最后被拾取的物品填满的背包,不容易因为盾或副手武器的那一格被填满导致宏实效)的7(副手武器)、11(主手武器或双手武器)、15(盾)三格。
背包的数法是:
1 2
3 4 5 6
7 8 9 10
11 12 13 14
15 16 17 18
由于某些同志提出他们只有14包,那么可以把宏中所有的“15”都改为比如“12”,然后把盾放到12那格就可以了。
切姿态同时换武器的宏倒非我原创,只是把自己用的这个给贴出来。武器战士倒不一定用,狂暴战士必备。
具体打法:起手拿慢速双手武器,选中目标后3.8秒再冲锋,这样近身瞬间0秒即可砍出一刀,然后按Q切狂暴姿态+双持。看到闪避了再次按Q切回战斗姿态+双手武器压制。(如果怪长得太高,我们需要比如dex这样的插件来提示狂暴姿态中打出的闪避)
二、三种姿态下的攻击常用技能整合
首先再次打开按键设置,把回复对话R键那里改为I。因为,第一,战斗到一半不小心把对话框按出来是很容易导致失败的。第二,R键是一个很就手的键,按久了不会累。
然后,把9号快捷键的键位设置2,改为R
1、在战斗姿态下,把以下这个宏的图标放到9
/施放冲锋(等级3)
/施放压制(等级4)
/scriptif(UnitHealth("target")<20)thenCastSpellByName("斩杀");elseif(UnitHealth("target")>=20)thenCastSpellByName("致死打击");endend
/scriptif(UnitMana("Player")>80)thenCastSpellByName("英勇打击");end
2、在防御姿态下,把以下图标放到9(这个我直接给出的是防战的版本了,其他天赋战士记得把第四行的“盾牌猛击”改为致死打击或者嗜血)
/施放盾牌格挡
/scriptSpellStopCasting();
/scriptif(UnitMana("Player")>5)thenCastSpellByName("复仇");end
/scriptif(UnitMana("Player")>40)thenCastSpellByName("盾牌猛击");end
/scriptif(UnitMana("Player")>59)thenCastSpellByName("英勇打击");end
3、在狂暴姿态下,把以下宏的图标放到9
/施放拦截(等级3)
/scriptif(UnitHealth("target")<20)thenCastSpellByName("斩杀");elseif(UnitHealth("target")>=20)thenCastSpellByName("致死打击");endend
/scriptif(UnitAffectingCombat("player")==1)thenCastSpellByName("旋风斩")elseend
或者
/施放拦截(等级3)
/scriptif(UnitHealth("target")<20)thenCastSpellByName("斩杀");elseif(UnitHealth("target")>=20)thenCastSpellByName("致死打击");endend
/scriptif(UnitMana("Player")>80)thenCastSpellByName("英勇打击");end
这样一个R键就实现了冲锋、压制、拦截、致死(嗜血、盾牌猛击)、斩杀、旋风、英勇、盾牌挡格、复仇共9个技能的使用。大大节约了键位。也弥补了某些操作上的缺陷。比如斩杀前出了闪避,R按下去就自动是压制了(一般压制秒人最后20%血还是可以的,还有打盗贼他很可能是开了闪避了,一味斩杀都是闪避)。还有能很方便的保持盾牌挡格和复仇。破甲的话另外设一个键吧。怒大于一定量的时候自动用英勇打击宣泄。狂暴战士的话可以把宏里面的数字改小一点。
三、破胆怒吼+立刻绷带,以及一键绷带宏
/施放破胆怒吼
/scriptSpellStopCasting()
/scriptUseContainerItem(2,1)
/scriptTargetUnit("player")
其中
/scriptUseContainerItem(2,1)
/scriptTargetUnit("player")
就是一键绷带宏。可以单独建一个。绷带放在中间那个包左上开始第一格。
这是战士的一个实用技巧。虽然时机有时候难以把握,但是只要敌我双方身上都没有流血效果,我们就可以25怒+2000血,也就是说这个宏用好了能顶一件+200耐的装备。成功用出后要是都没打赢,那基本上就是RP问题.....
一键绷带也非常有用。平时我们绷带都是点了绷带还要点人。或者要先F1再点绷带。总之就是要按两个键。将其简化到一个键,只要多节省1秒,那就是多获得了250血,也就等于比不会这招的对手多25耐。25耐的优势还不够多么?
3-2铿锵玫瑰烈朋友要的,一键血性狂暴+切换狂暴姿态
/施放血性狂暴
/scriptSpellStopCasting()
/施放狂暴姿态
这样够明白了吧.
文章分享到这里,希望我们关于魔兽世界zs宏和魔兽世界ZS的切换姿势还切换武器宏命令是什么的内容能够给您带来一些新的认识和思考。如果您还有其他问题,欢迎继续探索我们的网站或者与我们交流,我们将尽力为您提供满意的答案。