• 售前

  • 售后

客户端-帖子详情右侧广告位-2
热门帖子
求指点 好多人说25一灯的堕落黑暗之刃是dkt毕业武器,但是我看这个加的敏捷,dkt不是
死亡骑士-WLK 2024-09-18
225血,228邪的dk是真没机会抗25观星啊,根本不要。 dk抗过10h观星,在减伤技能下血
综合讨论-WLK 2024-09-19
请问各位大大,猎人的追踪是不需要切换吗,只需要随便开一种就可以享受5%加成吗。。。
猎人-WLK 2024-09-18
增加点可玩的点啊,比如把欢乐夏日buff还回来,让没事可干的人玩玩小号也不错
综合讨论-WLK 2024-09-19
楼主jlm,最近几次huldWCL卡在70分上不去了,想请教下各位jlm大佬各个boss该怎么打才
牧师-WLK 2024-09-18
如题 : 在达拉然的号,都卡蓝条, 提示世界服务器无法连接 重启关插件什么的都不好
综合讨论-WLK 2024-09-19
如题,有诺甘农,没彗星,然后伟大锁死是因为力量收益高,对应的也是超级天鬼,这个杯
死亡骑士-WLK 2024-09-18
不懂就问,团长和排骨人万一roll到最小的点,不也得帮砍或者买吗,有什么方法能保证自
综合讨论-WLK 2024-09-18
求问,平时用的大脚团队框架,上面可以看到自己的盾和虚弱灵魂,有次别的牧师密过来说
牧师-WLK 2024-09-18
这才是怀旧服该有的样子,大家开开心心打本,快快乐乐游戏。 都怀旧第三遍了。。不要
综合讨论-WLK 2024-09-19

[插件及宏研究] 牧师宏:随形态切换更换动作条

[复制链接]
魔兽世界怀旧服 显示全部楼层 发表于 2019-9-22 21:37:45 |阅读模式 打印 上一主题 下一主题

刚玩WOW不久,现在第一号练的MS终于在42冲到了传说中的暗牧,然后就感觉一个有点儿烦人的问题:动作条上按钮太少,开副动作条又不方便用快捷键。所以就想做个宏,学小D那样,随形态的变化来自动更换动作条。不知道为什么在网上翻了很久没翻着,之后自己去看宏函数列表写了一个。呃,如果以前已经有人发表过就当我多事啦,拜托斑竹删除。

进暗影及切换到攻击动作条(我的攻击动作条是条1,俺暴力^0^)个人觉得很简单啦——宏1要放在动作条2上

/cast 暗影形态

/script CURRENT_ACTIONBAR_PAGE=1;

/script ChangeActionBarPage();

(说明:后两条命令的分号别丢了就是——命令1不说了,命令2是设置当前动作条为第一条,命令3是应用动作条切换命令)

退暗影及切换到治疗动作条(我的治疗动作条是条2),就这个让我头痛了一会儿——宏2要放在动作条1上

/script local T;

/script for i=0,15,1 do T=GetPlayerBuffTexture(i);if (T and string.find(T,"Shadow")) then CancelPlayerBuff(i);break;end end

/script CURRENT_ACTIONBAR_PAGE=2;

/script ChangeActionBarPage();

(说明:千万注意分号,该有的要有,不该有的别乱加,命令2请千万不要换行,“Shadow”首字母大写别忘记了,——命令1是设置一个变量T作用在命令2中可以看出;命令2最复杂,有兴趣的可以看下面的特别说明;命令3、4就不用说了,同上)

这两个宏我从42用到现在44,都是在刚更新的1.7版上用的,应该绝对没有问题。

特别说明:

为了方便看,我把命令2的语句分行写出来,并且隔出其首空格,请注意,在输入宏命令时一个命令里面不能换行,请全部写在一行里——

for i=0,15,1 do

T=GetPlayerBuffTexture(i);

if (T and string.find(T,"Shadow")) then

CancelPlayerBuff(i);break;

end

end

在游戏里,进入暗影和退出暗影,本来想不过是一个命令键,但实际上两次按键是不同的动作,进入暗影不用说是“施放(cast)暗影形态”,很简单,可退出暗影实际上并不是把这个法术再施放一次,而是要把“暗影形态”的效果消除。

我也是在那里闷了半天,忽然想到在暗影形态下时,buff位置有一个图标,所以理论上来说退出暗影不就等于取消这个buff图标么,也就是debuff了。所以查看buff/debuff函数列表,确实有一个CancelPlayerBuff(buffid)的函数。可恶的是,这个函数的参数是“buffid”,也就是以buff的序列号为标准来debuff的。暗影形态施放以后,其buff图标的序列可不固定,因为随时可能在之前被加上其他的增益减益buff啊!

所以很自然,就会想到循环和判断命令的效果。for 用法很简单了,这个 for 循环是从0开始循环到15,步长为1,即循环16次——据说一个人身上同时能加的buff暴雪有规定,最多16个。每次用 if 判断当前buff是不是“暗影形态(ShadowForm,我偷懒就只写了个Shadow)”,是就把它给debuff掉(即使用cancelplayerbuff函数)同时退出循环,不是就继续循环下去。

要判断一个buff是不是“暗影形态”,又要用一个buff/debuff组的函数,也就是那个GetPlayerBuffTexture,这个函数返回的又不是简单的buff名称,而是一长串包括所谓路径和buff名的字符,所以又用了一个string的find方法来判断返回的字串里有没有“Shadow”这几个字符,有就是暗影,没有就不是。注意“Shadow”的首字母大写,否则找出来有误^-^。


回复

使用道具 举报

分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

魔兽世界玩家社区,为广大wower打造专属于自己的精神家园!
  • 小程序

  • 微信公众号

  • 商务合作