老爷们 发表于 2024-6-25 11:02:36

本帖最后由 老爷们 于 2024-6-25 12:09 PM 编辑

根据提示 现在改成这样
bcount=bcount or 0
if BeeIsRun("/cast AAA") then
    if bcount < 5 then
      BeeRun("/cast AAA", "player")
      bcount = bcount + 1
    elseif bcount == 5 then
      BeeRun("/cast BBB", "player")
      bcount = 0
    end
end

测试发现 交替使用AB技能

吾奶常煽赵子龙 发表于 2024-6-25 11:16:16

本帖最后由 吾奶常煽赵子龙 于 2024-6-25 11:17 AM 编辑

B技能受到A技能影响吗?如果是不是试试这样(记得reload一下):

bcount = bcount or 0
if BeeIsRun("/cast AAA") and bcount < 5 then
    BeeRun("/cast AAA", "player")
    bcount = bcount + 1
elseif bcount == 5 then
    BeeRun("/cast BBB", "player")
    bcount = 0
end

老爷们 发表于 2024-6-25 11:19:21

本帖最后由 老爷们 于 2024-6-25 12:05 PM 编辑

吾奶常煽赵子龙 发表于 2024-6-25 11:16 AM
B技能受到A技能影响吗?如果是不是试试这样(记得reload一下):

bcount = bcoun ...
大佬,测试了 ,会交替一直放A技能和B技能,而不是用5次A技能 在用一次B技能。

notveryimba 发表于 2024-6-25 16:30:35

首先,你的魔蜂自动执行本来就是把代码从上往下反复的读取,所以说每次你的bcount都是重新定义了的。
其次,你代码的if bcount < 5 then BeeRun("/cast AAA", "player") bcount = bcount + 1 无法实现bcount从0到5的递增变化,它会直接加到5的。

blxyz521 发表于 2024-6-25 16:52:33

老爷们 发表于 2024-6-25 10:13 AM
感谢大佬提点,马上去验证一下。只是改动这个地方嘛?
local count = 0 换成 count = count or 0
换了 ...

在前面加个print(count),打印出来看看
最大的可能是count这个全局变量被别的什么东西赋值了,而且大于5,换个变量名看看。

另外elseif count == 5 then 换成else不是更好,反正后面也没有其他判断情况。

老爷们 发表于 2024-6-25 20:16:49

本帖最后由 老爷们 于 2024-6-25 08:26 PM 编辑

blxyz521 发表于 2024-6-25 04:52 PM
在前面加个print(count),打印出来看看
最大的可能是count这个全局变量被别的什么东西赋值了,而且大于5 ...
我测试了,运行以后以非常快的速度累计到5然后重复累计 1秒能来好十几次
表现出的后果就是 a技能和b技能一起放它不是以实际释放a技能来进行+1,是直接+1。一直+到5就重置0,然后又一直+,循环。
bcount的初始值:0
施放AAA, bcount 更新为:1
bcount的初始值:1
施放AAA, bcount 更新为:2
bcount的初始值:2
施放AAA, bcount 更新为:3
bcount的初始值:3
施放AAA, bcount 更新为:4
bcount的初始值:4
施放AAA, bcount 更新为:5
bcount的初始值:5
施放BBB,
bcount 重置为:0
bcount的初始值:0
施放AAA, bcount 更新为:1
bcount的初始值:1
施放AAA, bcount 更新为:2
bcount的初始值:2
施放AAA, bcount 更新为:3
bcount的初始值:3
施放AAA ,bcount 更新为:4
bcount的初始值:4
施放AAA, bcount 更新为:5
bcount 的初始值:5
施放BBB, bcount 重置为:0
bcount的初始值:0

....

zlksdd 发表于 2024-6-26 14:01:01

老爷们 发表于 2024-6-25 08:16 PM
我测试了,运行以后以非常快的速度累计到5然后重复累计 1秒能来好十几次
表现出的后果就是 a技能和b技能 ...

首先是需要满足你的4A+1B的模式,函数不能使用BeeIsRun,这个函数是表示可以释放这个法术,例如如果能释放A+变量<5,就释放A
这里因为满足法术A的释放,同时变量<5 ,就运行BeeRun()这个内容。因为魔蜂很快,1秒钟100次,就会再次运行BeeRun(),所以你用打印就会的得到变量1~5的过程

但是你需要的成功的释放出法术A,这个需要调用魔兽世界的事件模块UNIT_SPELLCAST_SUCCEEDED,每成功释放1次A法术,来作为判断条件,这样后面就没有问题了

老爷们 发表于 2024-6-26 15:53:35

zlksdd 发表于 2024-6-26 02:01 PM
首先是需要满足你的4A+1B的模式,函数不能使用BeeIsRun,这个函数是表示可以释放这个法术,例如如果能释 ...

谢谢大佬指点,我去研究研究事件调用。看看怎么写!

xiaoyao1 发表于 2024-6-27 21:10:37

如果没有GCD存在的话,以上都已经实现了吧

老爷们 发表于 2024-6-28 12:01:33

不好的消息,测试失败,用事件模块UNIT_SPELLCAST_SUCCEEDED,每成功释放1次A法术,来作为判断条件,定义的变量还是不能正常计数。
页: 1 [2] 3
查看完整版本: 学习wewbee脚本,请大佬帮助!