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

 找回密码
 新建会员

QQ登录

只需一步,快速开始

楼主: michael_han1986
打印 上一主题 下一主题

[探讨]“骷髅法师”雷电宏的思路探讨

[复制链接]

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
11#
发表于 2019-5-23 21:59:13 | 只看该作者
用到的条件我都备注在已经更新的插件里,你可以看一下适当修改,给我一个合适的方案我更新上去。那么多build我也没办法一个个测试,我死灵装备几乎都是现成做的,都没打过也不知道怎么打
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复

13

主题

190

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441

雷电宏发展贡献者

12#
 楼主| 发表于 2019-5-23 23:31:44 | 只看该作者
TurboHUD 发表于 2019-5-23 21:59
用到的条件我都备注在已经更新的插件里,你可以看一下适当修改,给我一个合适的方案我更新上去。那么多buil ...

谢谢管理大大的及时处理,不过十分抱歉的是,我要是还没凑齐散件魂法的装备,无法进行完美测试。待我装备提升后,再来测试,在此期间,也请其他玩家建言献策,谢谢了。

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
13#
发表于 2019-5-24 01:27:36 | 只看该作者
michael_han1986 发表于 2019-5-23 23:31
谢谢管理大大的及时处理,不过十分抱歉的是,我要是还没凑齐散件魂法的装备,无法进行完美测试。待我装备 ...

暂时先更新删除了骷髅法师拉斯玛套条件
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复

13

主题

190

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441

雷电宏发展贡献者

14#
 楼主| 发表于 2019-5-30 10:51:55 | 只看该作者
过了那么多天,终于把散件魂法凑出来了,因为节奏太快,经常来不及观察魂法释放的情况,毕竟魂法也是魂斗罗职业
暂时发现了一个疑问,就是如果当前并未召唤过任何骷髅法师,则不会主动召唤,所有后续的召唤都是以进门后首次手动召唤之后,才继续下去的,这个跟雷电宏的脚本有关吗?

精魂灌注符文部分
想法,
1,当“骷髅法师”不存在时,施放“骷髅法师-精魂灌注”;
2,当骷髅法师数量小于10,且精魂≥40时,施放“骷髅法师-精魂灌注”;(目的:尽快堆积起数量,尽早滚起雪球,初期由于骷髅法师少,档子弹、吸引仇恨的太少,导致本体猝死率太高,一般出现在清场、进门、换层等情况)
否则,当“骷髅法师”存在且小于1秒时,施放“骷髅法师-精魂灌注”;(由于“2”保证了骷髅法师始终在8个以上,所以此条用不上了)
3,否则,当精魂值=MAX时,施放“骷髅法师-精魂灌注”;(无视当前骷髅法师数量,用满精魂召唤的高伤害骷髅法师顶掉先前不满精魂所召唤的骷髅法师,此时雪球已经滚起来了,有尸体,回精魂)


关于上述2,还请各位玩家建言献策,是否有必要先凑10个帮忙阻挡伤害,滚起雪球,防止大概率猝死?(我是在做悬赏的是否发现这个问题的,当时频繁换图,然后带着2个法师躲啊躲啊,伤害起不来,精魂跟不上,只能手动先召唤了)




欢迎探讨,谢谢

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
15#
发表于 2019-5-30 16:20:21 | 只看该作者
michael_han1986 发表于 2019-5-30 10:51
过了那么多天,终于把散件魂法凑出来了,因为节奏太快,经常来不及观察魂法释放的情况,毕竟魂法也是魂斗罗 ...

要改成你这样都只需要改慢能量条件后执行ThenCastElseContinue()即可,表示满能量就放,否则往下判断是否满10个骷髅,不满则继续放,最后一条可留可不留,留的话继续往下判断,即使满10个,但有一个快消失了,也放。
另外,整个代码里没有“当前没有骷髅法师,则召唤骷髅法师”的代码,这个可以直接用不满10个代替,因为没有骷髅法师也算低于10个(0个)
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
16#
发表于 2019-5-30 16:24:05 | 只看该作者
但我认为可能会出现恶性循环,一有能量就招了骷髅,然后骷髅太弱打不死怪,导致接下来不断的消耗能量召唤垃圾骷髅难以积攒能量
我没有测试过
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复

13

主题

190

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441

雷电宏发展贡献者

17#
 楼主| 发表于 2019-5-30 16:39:32 | 只看该作者
本帖最后由 michael_han1986 于 2019-5-30 16:42 编辑
TurboHUD 发表于 2019-5-30 16:20
要改成你这样都只需要改慢能量条件后执行ThenCastElseContinue()即可,表示满能量就放,否则往下判断是否 ...

好的,这周末我先测试一下,如果会造成滚雪球或者恶性循环,我晚些时候再来汇报
反正两种思路都有了,现在只是打三五分钟的速刷层,节奏非常快,两种都需要多次测试,对比。
不过幸运的是,伤害暂时没有遇到瓶颈,所以即使40能量的魂法也能弄死T16和90大米的小怪。后期再做更细化的测试了

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
18#
发表于 2019-5-30 16:48:05 | 只看该作者
michael_han1986 发表于 2019-5-30 16:39
好的,这周末我先测试一下,如果会造成滚雪球或者恶性循环,我晚些时候再来汇报
反正两种思路都有了,现 ...

好的。我没装备,并没测试过实战
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复

13

主题

190

帖子

2441

积分

金牌会员

Rank: 6Rank: 6

积分
2441

雷电宏发展贡献者

19#
 楼主| 发表于 2019-6-1 07:22:02 | 只看该作者
part.1
1,因为考虑天鹰的保持需要90%的能量,所以提高了骷髅弓手的施放条件,有精英和BOSS才自动施放,也避免在过图时,满足了怪物数量条件就施放,降低了天鹰的覆盖率
2,为了提高单位精魂量内骷髅弓手的覆盖率,将消失前1.5秒改为了0.5秒
3,我还没转散件尸矛,所以这个思路仍然仅供参考

                .IfTrue(ctx => ctx.Skill.Rune == 4).ThenContinueElseNoCast()//弓箭手符文
                .IfCanCastSkill(100, 150, 1000).ThenContinueElseNoCast()
                .IfInTown().ThenNoCastElseContinue()
                .IfCastingIdentify().ThenNoCastElseContinue()
                .IfCastingPortal().ThenNoCastElseContinue()
                .IfOnCooldown().ThenNoCastElseContinue()
                .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量
                .IfEliteOrBossIsNearby(ctx => 60).ThenContinueElseNoCast()//附近60码内有精英和BOSS
                .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.AquilaCuirass, 1).ThenContinueElseNoCast()//天鹰激活
                .IfSpecificBuffIsActive(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 6).ThenNoCastElseContinue()//骷髅法师激活
                .IfSpecificBuffIsAboutToExpire(Hud.Sno.SnoPowers.Necromancer_SkeletalMage, 3, 1000, 500).ThenCastElseContinue()//弓箭手BUFF即将过期(0.5秒以内)
                ;

part.2
注:确实在实战中碰到了“为了保持10个骷髅法师”而能量跟不上,又或者即使召唤出了10个骷髅法师,始终在能量低位召唤导致伤害不足的问题,因此做出了如下调整及想法,至于把侦测范围从60码调低至55码也是为了提高骷髅法师在生存时间内产生更多一点的输出,毕竟一次召唤,满打满算也只有10秒,戒指特效低的话,只有8~9秒。

1,夺魂者裹腕特效一个生命球提供30%的能量,外加吞噬存储的能量,那么只要吃上3个生命球就能立刻在能量高位释放出骷髅法师了,也不必刻意等到99%或者100%了
2,分三种情况,第一种,有精英,保持最少2个骷髅,精魂可以在较高位释放骷髅法师;第二种,没有精英,刚接触一个小怪,保持最少2个骷髅法师(来个挡子弹的小弟);第三种,没有精英,周围十五个以上小怪,保持8个骷髅法师(召唤更多吸引仇恨的小弟)
因此会用到.IfEliteOrBossIsNearby(ctx => 55)和.IfEnoughMonstersNearby(ctx => 55, ctx => 1)以及.IfEnoughMonstersNearby(ctx => 55, ctx => 10)


                .IfTrue(ctx => ctx.Skill.Rune == 1).ThenContinueElseNoCast()//精魂灌注符文
                .IfCanCastSkill(100, 150, 1000).ThenContinueElseNoCast()
                .IfInTown().ThenNoCastElseContinue()
                .IfCastingIdentify().ThenNoCastElseContinue()
                .IfCastingPortal().ThenNoCastElseContinue()
                .IfOnCooldown().ThenNoCastElseContinue()
                .IfPrimaryResourceAmountIsAbove(ctx => (int)(40 - 40 * Hud.Game.Me.Stats.ResourceCostReduction) + 1).ThenContinueElseNoCast()//确保有保底能量
                .IfEliteOrBossIsNearby(ctx =>,55, ctx => 1).ThenContinueElseNoCast()//附近55码内存在精英或BOSS
                .IfPrimaryResourcePercentageIsAbove(90).ThenCastElseContinue()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 3);//小于3个骷髅且满能量施放
                }).ThenCastElseContinue()

3,根据上述2,是否在后面加入如下2段
                .IfnoEliteOrBossIsNearby(ctx => 55).ThenCastElseContinue()//附近55码没有精英或BOSS
                .IfEnoughMonstersNearby(ctx => 55, ctx => 1).ThenContinueElseNoCast()//附近60码内至少1个
                .IfPrimaryResourcePercentageIsAbove(90).ThenContinueElseNoCast()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 3);//小于3个骷髅且90%能量施放
                }).ThenCastElseContinue()


                .IfnoEliteOrBossIsNearby(ctx => 55).ThenCastElseContinue()//附近55码没有精英或BOSS
                .IfEnoughMonstersNearby(ctx => 55, ctx => 15).ThenContinueElseNoCast()//附近60码内至少15个
                .IfPrimaryResourcePercentageIsAbove(90).ThenContinueElseNoCast()//90%能量时
                .IfTrue(ctx =>
                {
                    var buff = Hud.Game.Me.Powers.GetBuff(Hud.Sno.SnoPowers.Necromancer_SkeletalMage.Sno);
                    return (buff.IconCounts[6] < 8);//小于8个骷髅且90%量施放
                }).ThenCastElseContinue()
至于这三段中如何使用.ThenCastElseContinue()和).ThenContinueElseNoCast()以及.ThenNoCastElseContinue()来分开判断和段落分割,我就用不来了。
不过至少,通过提高释放条件,降低释放次数,可以保证更高质量的骷髅法师被召唤出来,略微提高了每次召唤骷髅法师的质量,适当避免了恶性循环的发生。
以上,还请管理大大给出准确的语句构造,我这个懒人是在玩不溜。

点评

.IfSpecificBuffIsAboutToExpire(buff, index, min, max) 注意这个参数  发表于 2019-6-1 16:09

111

主题

4994

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
13223
QQ
20#
发表于 2019-6-1 16:13:54 | 只看该作者
michael_han1986 发表于 2019-6-1 07:22
part.1
1,因为考虑天鹰的保持需要90%的能量,所以提高了骷髅弓手的施放条件,有精英和BOSS才自动施放,也 ...

如果高于90%能量的话,它总是招的骷髅都会是90%的,那么就白白少了10%的总伤害

附件按照你说的规则设了下,但我并没测试,你可以试一下
NecSkeletalMagePlugin.cs (3.22 KB, 下载次数: 1813)
比较急的问题尽量直接联系客服QQ1920784540,论坛不能及时回复
您需要登录后才可以回帖 登录 | 新建会员

本版积分规则

TurboHUD交流社区  

GMT+8, 2024-5-16 14:50 , Processed in 0.126208 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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