shangxin95 发表于 2023-7-7 15:27:34

本帖最后由 shangxin95 于 2023-7-7 03:28 PM 编辑

if SGSthen
    if   BeeUnitHealth(SGS,nil,1)<1500 and
    BeeUnitCastSpellName("player")=="圣光术"
    then
      BeeRun("/stopcasting")
    else
      BeeRun("圣光术",SGS);
    end
    return
end
试试找个,别忘记定义团队或者小队类型

山坡上的流氓 发表于 2023-7-7 17:25:53

shangxin95 发表于 2023-7-7 03:27 PM
if SGSthen
    if   BeeUnitHealth(SGS,nil,1)

还是不太行 有点奇怪的是 血线掉到很低他就会读条不打断 跟我之前哪个判断一个样

shangxin95 发表于 2023-7-7 17:53:55

血线很低不是应该不打断么?血线你要自己设置啊,,我用这个没问题,低于血线就而且不在过量范围之内不打断,,低于血线在过量范围就打断

山坡上的流氓 发表于 2023-7-8 09:21:31

shangxin95 发表于 2023-7-7 05:53 PM
血线很低不是应该不打断么?血线你要自己设置啊,,我用这个没问题,低于血线就而且不在过量范围之内不打断 ...

这个设置是损失小于1500 读条就打断 但是判断的时候血量都掉下去2W了还在打断 起码要到血线剩30%才不会打断 不知道是什么逻辑我都

my123456 发表于 2023-7-9 10:53:40

我最近也在写这个功能,这会儿电脑没在身边没办法直接复制给你,不过思路可以跟你讲讲,首先你要正在对着目标施法,然后再判断目标是否满血,可以在then beerun(圣光术)那一段后面加一个else if ,然后判断SGS的值是否大于等于100,如果是,打断

my123456 发表于 2023-7-9 11:04:42

代码是逐行执行的,大概是这样,1,定义一个名字为SGS的变量,2,获取团队里血量最少的玩家,然后把血量,以及玩家编号赋值给SGS;3,判断SGS的值,使用相应法术;4,也就是你需求的功能,再次判断SGS的值,如果大于等于100%,就执行打断施法; 逐行执行,最能够接近你的需求的就是以上逻辑了

zlksdd 发表于 2023-10-8 15:51:57

BeeUnitCastSpellName("player") 这个函数的问题,这个函数及时你用了“player” 魔蜂默认的还是“target”
方案一:你需要预读打断的话,首先你的目标必须是自己 ,然后用函数找最低血线的人加血,判定的话需要特定一个目标,例如使用焦点的血量判定释放需要打断。
方案二:找到魔蜂里面的BeeUnitCastSpellName,自己再加一段BeePlayerCastSpellName,把对应函数中Unit=target 修改成“player”,这样你上面段落就可以运行了
页: 1 [2]
查看完整版本: 问个治疗打断的问题