LUACN论坛

 找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
热搜: YJWOW MagicStone BoL
12
返回列表 发新帖

[函数] 问个治疗打断的问题

[复制链接]
发表于 2023-7-7 15:27:34 | 显示全部楼层
本帖最后由 shangxin95 于 2023-7-7 03:28 PM 编辑

if SGS  then
    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 SGS  then
    if   BeeUnitHealth(SGS,nil,1)

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

使用道具 举报

发表于 2023-7-7 17:53:55 | 显示全部楼层
血线很低不是应该不打断么?血线你要自己设置啊,,我用这个没问题,低于血线就而且不在过量范围之内不打断,,低于血线在过量范围就打断
回复 支持 反对

使用道具 举报

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

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

使用道具 举报

发表于 2023-7-9 10:53:40 来自手机 | 显示全部楼层
我最近也在写这个功能,这会儿电脑没在身边没办法直接复制给你,不过思路可以跟你讲讲,首先你要正在对着目标施法,然后再判断目标是否满血,可以在then beerun(圣光术)那一段后面加一个else if ,然后判断SGS的值是否大于等于100,如果是,打断
回复 支持 反对

使用道具 举报

发表于 2023-7-9 11:04:42 来自手机 | 显示全部楼层
代码是逐行执行的,大概是这样,1,定义一个名字为SGS的变量,2,获取团队里血量最少的玩家,然后把血量,以及玩家编号赋值给SGS;3,判断SGS的值,使用相应法术;4,也就是你需求的功能,再次判断SGS的值,如果大于等于100%,就执行打断施法; 逐行执行,最能够接近你的需求的就是以上逻辑了
回复 支持 反对

使用道具 举报

发表于 2023-10-8 15:51:57 | 显示全部楼层
BeeUnitCastSpellName("player") 这个函数的问题,这个函数及时你用了“player” 魔蜂默认的还是“target”
方案一:你需要预读打断的话,首先你的目标必须是自己 ,然后用函数找最低血线的人加血,判定的话需要特定一个目标,例如使用焦点的血量判定释放需要打断。
方案二:找到魔蜂里面的BeeUnitCastSpellName,自己再加一段BeePlayerCastSpellName,把对应函数中Unit=target 修改成“player”,这样你上面段落就可以运行了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|LUACN论坛

GMT+8, 2024-5-4 11:18 PM , Processed in 0.049310 second(s), 22 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表