CHRIS123 发表于 2023-6-27 15:13:54

关于BeeUnitCastSpellName函数的问题求助

      目前在测试脚本时出现一个问题
if BeeUnitCastSpellName("player")=="火球术"   thenreturn;end当使用上句时,脚本可以识别火球术读条停手;

if BeeUnitCastSpellName("player")=="火球术,暴风雪"thenreturn;end但使用这种方式时,就无法识别火球术读条停手

请问有哪位大佬知道原因嘛,或者是我的解码器太久了?

懒动行不行 发表于 2023-6-28 15:26:02

本帖最后由 懒动行不行 于 2023-6-28 03:31 PM 编辑

如果仅仅是DOT时间到了就要断,那很简单
if BeeTargetDeBuffCount("鬼影缠身") <0 and BeeSpellCD("鬼影缠身")==0 and BeeUnitCastSpellName("player")=="吸取灵魂" and BeeIsRun("鬼影缠身") then BeeRun("/stopcasting\n /cast 鬼影缠身") return end
其他腐蚀术、痛苦无常等照葫芦画瓢好了
如果尽量在最近的伤害点再断,我感觉有点复杂,需要从战斗日志中读到最近一次吸取灵魂的伤害时间,再根据装备的急速判断计算吸取灵魂每次作用的时间,然后比较2个时间,判断是立即打断,还是等到下一次跳伤害后再打断。可能想的比较复杂,目前做不出来{:5_248:}{:5_248:}{:5_248:}

aoyq2007 发表于 2023-6-27 15:20:12

if BeeUnitCastSpellName("player")== "火球术"or "暴风雪"
双引号会把火球术,暴风雪 一起当做一个字符串

CHRIS123 发表于 2023-6-27 15:50:48

aoyq2007 发表于 2023-6-27 03:20 PM
if BeeUnitCastSpellName("player")== "火球术"or "暴风雪"
双引号会把火球术,暴风雪 一起当做一个字 ...

不行,试过没用,这样会把BeeUnitCastSpellName("player")== "火球术"和"暴风雪"做为或的两个条件

懒动行不行 发表于 2023-6-27 15:59:57

为什么单单就火球术停手,其他施法动作不停手吗?
用BeeUnitCastSpellTime不是更好吗?

懒动行不行 发表于 2023-6-27 16:02:46

你要实在想用,就这样
if BeeUnitCastSpellName("player")=="火球术" orBeeUnitCastSpellName("player")=="暴风雪" thenreturn;end

CHRIS123 发表于 2023-6-27 16:24:39

懒动行不行 发表于 2023-6-27 03:59 PM
为什么单单就火球术停手,其他施法动作不停手吗?
用BeeUnitCastSpellTime不是更好吗?

目前我也在用这个,不过特殊情况可能需要打断,例如痛苦术的灵魂吸取;
只是看很多大佬的脚本都是一堆技能提前设置变量local jineng= "a,b,c,d"
if BeeUnitCastSpellName("player")==jineng then return end

我在想为啥我实现不了{:5_168:}

懒动行不行 发表于 2023-6-27 23:53:09

什么情况下需要打断,看断点吗?

CHRIS123 发表于 2023-6-28 09:15:02

正常都是 DOT断了要补,鬼影缠身、痛苦无常、痛苦诅咒,主要是吸魂的持续时间太长了
当然要是能做到判定吸魂的伤害跳点再断,就更厉害了{:5_248:}{:5_248:}

CHRIS123 发表于 2023-6-28 16:11:41

懒动行不行 发表于 2023-6-28 03:26 PM
如果仅仅是DOT时间到了就要断,那很简单
if BeeTargetDeBuffCount("鬼影缠身")

可如果前置已经用了BeeUnitCastSpellTime,理论上遇到读条技能就返回了,这样还能自动断技能吗
页: [1] 2
查看完整版本: 关于BeeUnitCastSpellName函数的问题求助