【暗黑3导航插件】TurboHUD中文交流社区

标题: 雷电宏三刀卡药水 [打印本页]

作者: goas2018    时间: 2019-2-17 22:17
标题: 雷电宏三刀卡药水
用了宏越来越懒了,哈哈。想自己加个三刀自动卡杀回药水功能,不过sno interface里不知道怎么把 击回数据抓取,希望老大帮忙下,具体实现如下

1. 判断当前击回数,如果击回大于一定数值列如100000, 则药水按照原来设定的小于40%HP喝。
2. 如果小于100000, 药水在99%HP就喝。
3. 暗影之力 在 药水冷却时cast下.

2和3很容易实现,不过1我看了好多接口,只有在sno文件夹里 IAttributeList.cs 找到个IAttribute Hitpoints_On_Hit { get; },可怎么引用数据呢,试了好多都不行,就是下面 ? 应该怎么引用。半吊子c++水平,见笑了。

        private bool IsGetHitpointsOnHitIsAbove(TestContext ctx)
        {
            bool IsAbove;
            double Hitpoint;
            Hitpoint = ?;
            IsAbove = Hitpoint >= 100000 ? true : false;
            return IsAbove;
        }

其他我也想不出更好的办法 判断几时喝药再开翅膀,如果把药水HP限制改大是最简单了,不过HC来说,不太合适。谢谢先!



作者: TurboHUD    时间: 2019-2-17 23:29
我记得好像接口上不包含击回
有时间我再仔细看一下
作者: TurboHUD    时间: 2019-2-18 19:08
下次更新时添加新的接口
作者: qq425129    时间: 2019-2-18 19:53
是不是可以简化成: 装备暗影套的时候,每次使用杀回药水后,都自动补一次暗影之力
作者: TurboHUD    时间: 2019-2-18 19:59
qq425129 发表于 2019-2-18 19:53
是不是可以简化成: 装备暗影套的时候,每次使用杀回药水后,都自动补一次暗影之力

那就不需要雷电宏了
你自己设置一个按键助手就完事了
创建一个自定义宏
启动键为你自己的药水键
延迟100毫秒后按下暗影之力的按键,循环1次就可以啦
作者: qq425129    时间: 2019-2-18 20:17
TurboHUD 发表于 2019-2-18 19:59
那就不需要雷电宏了
你自己设置一个按键助手就完事了
创建一个自定义宏

自己使用药水的话倒是可以手动补暗影,主要是自动吃药的时候如果没有自动补的话,容易看漏
作者: TurboHUD    时间: 2019-2-18 21:05
qq425129 发表于 2019-2-18 20:17
自己使用药水的话倒是可以手动补暗影,主要是自动吃药的时候如果没有自动补的话,容易看漏

不支持
作者: goas2018    时间: 2019-2-19 17:54
TurboHUD 发表于 2019-2-18 19:08
下次更新时添加新的接口

多谢老大,能不能提供下击回接口,我自己搞一下。
作者: TurboHUD    时间: 2019-2-19 23:39
goas2018 发表于 2019-2-19 17:54
多谢老大,能不能提供下击回接口,我自己搞一下。

现版本没有击回接口,下版本更新加
作者: goas2018    时间: 2019-2-28 07:52
的确john好像更新接口了,加了击回,等老大测试。各位如果想一喝药水,自动开翅膀,请自行改DemonHunterShadowPowerPlugin.cs 成下面:如果用多重再注释掉。下面还加了自动触发残影。
            CreateCastRule()
                .IfInTown().ThenNoCastElseContinue()
                .IfCastingIdentify().ThenNoCastElseContinue()
                .IfCastingPortal().ThenNoCastElseContinue()
                .IfOnCooldown().ThenNoCastElseContinue()
                .IfCanCastBuff().ThenContinueElseNoCast()
                .IfCanCastSimple().ThenContinueElseNoCast()
                .IfTrue(IsPotionOnCoolDown).ThenCastElseContinue()
                .IfEnoughMonstersNearby(ctx => 40, ctx => 1).ThenContinueElseNoCast()
                .IfSpecificBuffIsAboutToExpire(hud.Sno.SnoPowers.ElusiveRing, 1, 30, 100).ThenCastElseContinue();
        private bool IsPotionOnCoolDown(TestContext ctx)
        {
            bool IsOnCooldown;
            double Cooldown;
            Cooldown = (Hud.Game.Me.Powers.HealthPotionSkill.CooldownFinishTick - Hud.Game.CurrentGameTick) / 60d;
            IsOnCooldown = Cooldown < 30 && Cooldown > 29.6 ? true : false;
            return IsOnCooldown;
        }


作者: michael_han1986    时间: 2019-2-28 10:30
有没有可能
在佩戴残影之戒且戒指减伤效果小于等于0.5秒时,自动使用暗影之力
将上述这条也写进去?
目的:在站桩输出时,最大化旅者增伤效果,不使用翻滚来保持减伤,而用暗影之力来刷新残影减伤
问题:在使用暗影之力之后,会不会顶掉卡杀回药水的效果?
若是:可否额外增加一个雷电宏选项
若否:可否将我描述的情况写入该雷电宏
作者: TurboHUD    时间: 2019-2-28 13:54
michael_han1986 发表于 2019-2-28 10:30
有没有可能
在佩戴残影之戒且戒指减伤效果小于等于0.5秒时,自动使用暗影之力
将上述这条也写进去?

是可以加判断站立状态并且残影戒指减伤消失后再按暗影之力,但是最好再加入戒律判断,带来的问题就是你自己说的卡杀回问题,实际上我并不知道什么是卡杀回
作者: michael_han1986    时间: 2019-2-28 14:25
michael_han1986 发表于 2019-2-28 10:30
有没有可能
在佩戴残影之戒且戒指减伤效果小于等于0.5秒时,自动使用暗影之力
将上述这条也写进去?

不需要判断站立状态,只监测残影戒指减伤BUFF。

原因是:有可能短距离移动贴精英或短距离移动躲技能。毕竟,正常情况下,DH能用滚的,绝对不会用走的,而用走的,大都是为了微调站位贴精英或者躲技能




关于戒律的话,存在暗影四件套并佩戴残影戒指,戒律大于等于8,即可释放




另外就是加入使用药水后自动释放一次暗影之力(详细思路根据楼主的说法来)


作者: TurboHUD    时间: 2019-2-28 15:24
michael_han1986 发表于 2019-2-28 14:25
不需要判断站立状态,只监测残影戒指减伤BUFF。

原因是:有可能短距离移动贴精英或短距离移动躲技能。 ...

使用暗影之力自动喝药水也没有好的实现方法
作者: goas2018    时间: 2019-2-28 16:19
本帖最后由 goas2018 于 2019-2-28 16:25 编辑
TurboHUD 发表于 2019-2-28 13:54
是可以加判断站立状态并且残影戒指减伤消失后再按暗影之力,但是最好再加入戒律判断,带来的问题就是你自 ...

你说的,我发的代码都实现了啊,一检测到药水cd, 翅膀就开,还有如果检测到残影没了,也开,因为我自己用,我没加暗影套,戒律判断,因为我知道都满足的。喝药现在是靠掉血判断,我发这帖子就是希望找到击回接口,就可以用为判断,来决定是不是一掉血就喝,加上我那代码,可以完美卡药水。
作者: michael_han1986    时间: 2019-2-28 16:32
goas2018 发表于 2019-2-28 16:19
你说的,我发的代码都实现了啊,一检测到药水cd, 翅膀就开,还有如果检测到残影没了,也开,因为我自己用 ...

能把完整的.cs复制出来么?我不知道你这段加在哪里?或者覆盖掉哪一段?
作者: sanwu555    时间: 2019-2-28 17:12
goas2018 发表于 2019-2-28 07:52
的确john好像更新接口了,加了击回,等老大测试。各位如果想一喝药水,自动开翅膀,请自行改DemonHunterSha ...

这段代码是不是有错啊?加进去爆红字错误啊!
作者: goas2018    时间: 2019-2-28 18:21
sanwu555 发表于 2019-2-28 17:12
这段代码是不是有错啊?加进去爆红字错误啊!

你肯定加的格式不对。我上传下,直接覆盖 TurboHUD Chinese\TurboHUD\plugins\LightningMod\SkillHandlers\DemonHunter 里面同名文件,不过每次开hud, 你要不选更新, 否则又覆盖回去了。再发个回避射击技能的,可以自动发维持明徹buff, 不过回避必须设置在数字键或右键。用这些前提是,你暗影套装都已经有,基本成型,词缀无所谓。

DemonHunter.zip

1.42 KB, 下载次数: 6484


作者: TurboHUD    时间: 2019-3-1 18:36
goas2018 发表于 2019-2-28 16:19
你说的,我发的代码都实现了啊,一检测到药水cd, 翅膀就开,还有如果检测到残影没了,也开,因为我自己用 ...

如果用击回判断的话岂不是一直重复按暗影之力。。。
作者: goas2018    时间: 2019-3-2 05:58
TurboHUD 发表于 2019-3-1 18:36
如果用击回判断的话岂不是一直重复按暗影之力。。。

不会,卡药水就是喝完药水开翅膀击回增加5万左右,本地图永远保持。这些其实用做喝药判断,翅膀只要喝药 就自动开。喝药就是如果击回掉落了,那只要血到99%就喝,否则到40%喝,很容易实现的。不过因为每个人击回不一样,应该做不到普遍适用,要自己改适当数值。
作者: TurboHUD    时间: 2019-3-2 13:41
goas2018 发表于 2019-3-2 05:58
不会,卡药水就是喝完药水开翅膀击回增加5万左右,本地图永远保持。这些其实用做喝药判断,翅膀只要喝药  ...

我不是很理解你的意思,下版本会添加以下接口
Hud.Game.Me.Defense.LifeOnKill 击杀恢复
Hud.Game.Me.Defense.LifeOnHit 击中恢复
那么应该这么写?
作者: sanwu555    时间: 2019-3-2 15:43
本帖最后由 sanwu555 于 2019-3-2 15:50 编辑
goas2018 发表于 2019-2-28 18:21
你肯定加的格式不对。我上传下,直接覆盖 TurboHUD Chinese\TurboHUD\plugins\LightningMod\SkillHandler ...

老哥,回避射击的宏也要暗影套装成型?
作者: goas2018    时间: 2019-3-2 22:39
TurboHUD 发表于 2019-3-2 13:41
我不是很理解你的意思,下版本会添加以下接口
Hud.Game.Me.Defense.LifeOnKill 击杀恢复
Hud.Game.Me.D ...

其实就是用击回判断掉多少血,就喝药,我因为玩专家,所以喝药比较重要,普通模式其实不用管这,只要用我暗影的代码,判断喝药就开然后把掉血改大就行。下面是喝药代码
                .IfHealthPercentageIsBelow(ctx => 40).ThenCastElseContinue()
                .IfTrue(IsGetHitpointsOnHitIsAbove).ThenNoCastElseContinue() //(药水有没有卡上, true 就是卡上了,就不用再99%喝药)
                .IfBossIsNearby(ctx => 40).ThenNoCastElseContinue()// boss边上就别卡了。
                .IfHealthPercentageIsBelow(ctx => 99).ThenCastElseContinue(); //99%就喝

                   private bool IsGetHitpointsOnHitIsAbove(TestContext ctx)
                  {
                   bool IsAbove;
                   double Hitpoint;
                   Hitpoint = Hud.Game.Me.Defense.LifeOnHit;
                   IsAbove = Hitpoint >= 100000 ? true : false; // 100000因人而异, 没卡以前的数值
                   return IsAbove;
                   }

明徹那个,得带护腕,不用暗影,我懒的加判断带不带了。
作者: TurboHUD    时间: 2019-3-2 23:21
goas2018 发表于 2019-3-2 22:39
其实就是用击回判断掉多少血,就喝药,我因为玩专家,所以喝药比较重要,普通模式其实不用管这,只要用我 ...

.IfHealthPercentageIsBelow(ctx => 99).ThenCastElseContinue(); //99%就喝

所以你这个还是得99%血时按暗影之力?
有点混乱,看不明白
作者: TurboHUD    时间: 2019-3-3 17:54
goas2018 发表于 2019-3-2 05:58
不会,卡药水就是喝完药水开翅膀击回增加5万左右,本地图永远保持。这些其实用做喝药判断,翅膀只要喝药  ...

我发现有个问题啊
你这个卡击回跟自动保持残影戒指是冲突的
卡上击回后为了保持残影戒指BUFF再次使用暗影之力,击回就掉下去了
作者: goas2018    时间: 2019-3-3 20:50
TurboHUD 发表于 2019-3-3 17:54
我发现有个问题啊
你这个卡击回跟自动保持残影戒指是冲突的
卡上击回后为了保持残影戒指BUFF再次使用暗 ...

这是没办法的,游戏机制问题,尽量用翻滚保持残影,暗影只会在残影快失效才开,否则只能重新卡,反正已经都实现自动化了,击回掉落了,喝血又可以马上99%喝,很快又卡上了。
作者: TurboHUD    时间: 2019-3-3 21:29
goas2018 发表于 2019-3-3 20:50
这是没办法的,游戏机制问题,尽量用翻滚保持残影,暗影只会在残影快失效才开,否则只能重新卡,反正已经 ...

我再完善一下代码吧
作者: liubin15176    时间: 2019-3-8 13:18
是把你写出来的这些复制到新建宏里就可以了吗?
作者: TurboHUD    时间: 2019-3-8 13:26
liubin15176 发表于 2019-3-8 13:18
是把你写出来的这些复制到新建宏里就可以了吗?

这是插件,跟按键助手没关系,是雷电宏里面用的。看不懂的话不建议自己加免的把插件搞的用不了




欢迎光临 【暗黑3导航插件】TurboHUD中文交流社区 (https://www.turbohud.com.cn/) Powered by Discuz! X3.2