楼主: 梗太多
收起左侧

[绅士实验室] 关于Baka版Defeat战败NPC vs NPC(NvN)的个人修复(更新1.25Beta)重制版

    [复制链接]

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-6 21:12:28 | 显示全部楼层
本帖最后由 梗太多 于 2024-3-6 21:29 编辑
lbky684 发表于 2024-3-6 19:54
谢谢大佬回复,按照你的解释是因为对于NPC来说关系太乱不好判断是否为队友关系是吗?首先命中和流 ...

是的,你说的没错,你的想法基本和我的一致,但是我们的想法只代表一部分玩家,或者说一部分应用场景
这也是为什么我在上面的帖子里提到要区分场景,但是这个mod的设计上是一锅炖,当你强化某个部分的时候,或者说为了适配某些使用场景的时候,同时也可能弱化另一部分。

举个例子,我当初在做修复的时候是有意识的略微往随从为受害者的方向靠的,随之而来的结果也造成了对于带男随从的不友好。就是因为这个mod在设计上“什么都想要”。我当时也是废好大的劲琢磨怎么样才能两边都照顾到。
因为这mod所有的NvN就一个脚本控制,所有的情形和场景都要在同一个脚本里实现,很难各方都照顾到

你这种情况其实也是有办法解决的,当然同时也会失去“普适性”,这个也是我想主张的,不同类型的玩家就应该分成割特定的战败mod,Defeat5.3.6Bane版本就是个很好的例子,他对一些特定场景进行了优化,对某类玩家会特别友好,同时对我来说就会完全不好用。

所以你要解决眼前的问题的话,我可以仅仅针对这个情况改代码,但是不排除会在其他的应用场景里会出现负面效果

关于流血事件其实主要是你考虑的不周全,流血(bleedout),也就是血量过低进入保护状态了,游戏里造成这种情况的不一定是命中。诸如毒药,摔落,等等都会发生,不一定是直接命中,所以流血和命中自然是两个互相独立的事件,所以在defeat的代码里也是两套逻辑。事实上你想要的其实是一个命中判定的一个延续,也就是《我打倒她了,没错,是我干的,所以该我艹她》。解决办法当然也是有的,比如利用StorageUtil来记录之前的攻击者
归根揭底打那么多字,其实也是想说,这些问题都只能靠针对特定场景的优化或者特化来解决,修改出来的东西基本也只适合你一个人或者特定人群

打断那个问题盲猜是你用了sexlab正式版,正式版很多函数接口都改了,有兼容性问题是没法避免的,你只能自己取舍

最后一个敌人和流血事件没有半毛钱关系,但他的菜单选项却在那样一个位置确实是会让人产生歧义
有些东西是真的只有看了代码才知道,有些选项是会互相影响的,举个例子:就比如说他在设计上随从其实是NPC的一个子集,随从是NPC,而NPC不
一定是随从,但从菜单上的布局来看却会给人一种是分别独立运作的印象,我当时在改代码的时候也是一个头两个大



回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-3-6 23:36:06 | 显示全部楼层
梗太多 发表于 2024-3-6 21:12
是的,你说的没错,你的想法基本和我的一致,但是我们的想法只代表一部分玩家,或者说一部分应用场景
这 ...

       嗯嗯,修改这个脚本如果可以通过MCM菜单选择开关应该问题是不大的吧。至于那个命中判定,玩家的战败事件确实是会根据打倒你的敌人来判定的啊,谁是最后一击把玩家打倒的,谁就会尝试推倒玩家,然后挣扎失败后也是该敌人来艹,只是开多P可以让周围的敌人一起而已。原来NVN不是这么设计的吗?
打断那个我确实用的是正式版,那看来是没法解决了。
       defeat原版和baka版其实都各有各的问题,baka的创意和动画都做的很色,但是代码确实写的稀烂,连我这个非专业人士都经常能看出他代码的显著问题,比如之前TNTR0.38版本把手柄和键鼠的挣扎热键条件写反了。还是很感谢大佬能把baka版的NVN修复了,虽然我也不太清楚这个NVN是否能改成多脚本控制,或者说反其道而行在原版defeat的基础上把baka新增的东西搬过去的可行性又如何
回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-3-7 00:06:07 | 显示全部楼层
梗太多 发表于 2024-3-6 21:12
是的,你说的没错,你的想法基本和我的一致,但是我们的想法只代表一部分玩家,或者说一部分应用场景
这 ...

       其实我来问NVN的问题主要是源于实验室的一些BUG。大佬应该也听说过实验室著名的传送【阴风盆地】的BUG吧?据说是实验室事件因为某些原因出错后,下次发生事件就会传送到天际0点坐标的地方。我最近经常遇到实验室事件被传送的BUG,我研究下来应该是因为NVN的时候NPCxNPC被各种原因打断,从而导致实验室事件出错,引发BUG。
       所以我想的是尽可能减少NVN的频率,至少不该出现同阵营侵犯,所以我想的是当玩家不参与战斗时,NPC队伍A和NPC队伍B应该打到战斗结束(某一方全部NPC都死亡或者流血),然后再开始NVN。当玩家参与战斗时,以玩家随从为目标NVN。这样感觉是符合相当一部分人需求,或者说至少能减少BUG的出现频率的。就是你说的修改出来的东西无法兼顾所有玩家的需求,所以是否能通过MCM勾选开启与否来控制。
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-7 12:40:46 | 显示全部楼层
本帖最后由 梗太多 于 2024-3-7 13:46 编辑
lbky684 发表于 2024-3-6 23:36
嗯嗯,修改这个脚本如果可以通过MCM菜单选择开关应该问题是不大的吧。至于那个命中判定,玩家的战 ...

1.主角和NPC有点区别的。
新建位图图像.jpg
这个是原版5.3.5的源码,主角部分,首先红线的地方他会记录上一个攻击者,流血后会来到蓝圈这个地方,他会判断上一个攻击者有没有并检查合不合法(性别对不对应之类的),如果没有的话就会走到黄圈的地方然后Kill Player
新建位图图像 (2).jpg
NVN就不一样了,如果上一个攻击者不存在,他并不会kill,而是就地找一个替代者,也就是说对于主角,当不符合期望的时候就不会继续进行下去,而NPC的场景无论怎样都会继续下去。
就有点类似幸存者偏差,当主角遇到预期之外的情况的时候你已经死了,所以怎么看都是正常的,而NPC与到期望之外的情况无论如何都会被你看到,
自然BUG就多了
原版这个地方本身也是做的比较潦草了,毕竟主要重心是放在主角上的,主角是有单独菜单的,可以精细化定制,而NPC的话不管路人也好随从也好攻也好受也好都是共用一套菜单,如果也像主角一样无脑kill的话可能也会造成明明该艹的结果被KIll了,还有就是应该是考虑到了有些重要的任务NPC不能随随便便KILL
新建位图图像 (3).jpg
男强盗草女强盗的情况盲猜也是这个女强盗全程都是你打的,但对NVN来说主角是属于非法角色,攻击者的变量一直是空着的,上图红圈部分,所以程序就走到周围随便找一男的代替了



2.BAKA已经很厉害了,毕竟术业有专攻,把BAKA的东西搬到原版我个人觉得也没啥必要,因为原版其实也没你想象的那么好
新建位图图像 (4).jpg
你看原版的代码居然9个IF连环嵌套,我上学那会儿都不敢这么写,不光拖累CPU,还容易把自己搞糊涂


回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-7 12:54:22 | 显示全部楼层
lbky684 发表于 2024-3-7 00:06
其实我来问NVN的问题主要是源于实验室的一些BUG。大佬应该也听说过实验室著名的传送【阴风盆地】 ...

阴风BUG我自己倒是很少碰到,有实验室发生的时候最好不要传送或者过图(也就是加载),因为不管是什么mod,很多东西都是由法术效果(magiceffect)控制的,要问为什么,因为特么的官方就是这么推荐的,但是这个游戏又会因为过图的时候会清理掉很多NPC身上的法术效果(magiceffect)以节约内存,简直了

关于同阵营侵犯的事我抽空仔细想一想,现在这个defeat不是针对特定玩法的细分市场而是"海纳百川",所以修了左边就可能坏了右边,修了右边又可能坏了左边。
回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-3-7 20:06:44 | 显示全部楼层
梗太多 发表于 2024-3-7 12:40
1.主角和NPC有点区别的。

这个是原版5.3.5的源码,主角部分,首先红线的地方他会记录上一个攻击者,流 ...

       哈哈,我写EXCEL函数的水平最多嵌套过26个IF。倒不是说baka代码水平差影响性能,而是他写完代码不检查甚至可能自己都不试玩的,从而造成很多无语的BUG。比如babodialogue的种马事件,他用了SE特有的OnhitEX函数,说是优化性能,但是他那个代码改了以后马匹都无法对话了,检查代码发现是它缩小了马匹可对话的条件,限制在任务阶段(stage)的某个范围区间内,但是应该对话的情景下任务阶段已经超过了这个范围,怪不得没法对话,他但凡试玩一下都能发觉有问题。
       至于NVN这个,我感觉就是当他攻击者变量为空时,就不该随便找个NPC来替代,应该的被侵犯逻辑是OR(存在上个攻击者且流血,战斗停止且流血)。我没记错的话NPC流血状态会慢慢回血然后站起来的。这样的话对于NPC来说就两种主要情况,如果是被打到流血,那么就会立即被攻击者侵犯,如果是因为其他原因流血,就会躺在地上慢慢回血。对于NPC队伍A和NPC队伍B的战斗来说,女性A1大概率就会直接被B方NPC侵犯。小概率自己进入流血状态时也会自行恢复。除非碰巧A1进入流血状态还没恢复且B方全灭,才会被友军侵犯;对于NPC队伍A对战玩家的队伍B的战斗,被玩家攻击到流血的A1因为没有不存在上个攻击者,只会躺在地上恢复或者被玩家杀掉,再或者等A方全灭后被B方NPC侵犯。而且此时玩家的随从B1如果意外进入流血也不会被侵犯。只有碰巧B方全灭,玩家流血被艹,且A1还未来得及恢复才有可能被己方NPC侵犯。
       虽然这样还是有小概率被己方侵犯(主要是NVN随便找周围的NPC来侵犯这个设计太不合理),但是我感觉已经很难发生了。从逻辑上来说相当于要么使用上个攻击者来NVN,要么使用最后敌人。
回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-3-7 20:11:22 | 显示全部楼层
梗太多 发表于 2024-3-7 12:54
阴风BUG我自己倒是很少碰到,有实验室发生的时候最好不要传送或者过图(也就是加载),因为不管是什么mod ...

你说的有道理,但是因为有NVN的存在会导致周围有很多实验室事件,有些甚至不再视线内,玩家很难等所有事件结束了再过图,所以我挺容易触发这个问题的。再或者逻辑就是开启最后敌人(战斗停止才开始侵犯),但是当存在上个上个攻击者时,检测NPC是否为玩家随从(这个应该有对应函数可以检测吧,毕竟DAR都有IsTeammate),是则立即发生侵犯。
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-7 21:00:53 | 显示全部楼层
lbky684 发表于 2024-3-7 20:06
哈哈,我写EXCEL函数的水平最多嵌套过26个IF。倒不是说baka代码水平差影响性能,而是他写完代码不 ...

我跟你是差不多的玩法,想法基本也和你一样,但是站在侵犯者的角度,尤其是勾选仅随从为侵犯者的时候又有其合理性,所以归根揭底还是原版的设计是一锅端的的模式,但现实是一碗水是端不平的
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-7 21:02:42 | 显示全部楼层
lbky684 发表于 2024-3-7 20:11
你说的有道理,但是因为有NVN的存在会导致周围有很多实验室事件,有些甚至不再视线内,玩家很难等所有事 ...

这个还是原版的设计问题,原版最后一个敌人的选项在NVN下面,如果要用在随从上,那就被迫要打开NVN,后面的问题自然就 接踵而来了
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-3-7 21:08:59 | 显示全部楼层
lbky684 发表于 2024-3-7 20:06
哈哈,我写EXCEL函数的水平最多嵌套过26个IF。倒不是说baka代码水平差影响性能,而是他写完代码不 ...

你遇到的这些问题其实我都理解,我弄这个补丁的出发点也仅仅是修复,让他回归该有的样子
真要让这个MOD上一个台阶还得大刀阔斧得改设计
回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-3-7 21:14:09 | 显示全部楼层
梗太多 发表于 2024-3-7 21:08
你遇到的这些问题其实我都理解,我弄这个补丁的出发点也仅仅是修复,让他回归该有的样子
真要让这个MOD ...

嗯嗯,等大佬有空可以研究下,多个选项也行
回复

使用道具 举报

72

主题

1129

帖子

2万

积分

游戏之神

Rank: 14Rank: 14Rank: 14Rank: 14

点赞
0
贡献
144
猫币
0
精华
0
金元
15738
积分
21507
发表于 2024-5-2 18:49:24 | 显示全部楼层
大佬,我今天突然发现自己的baka defeat 1.5 版本 NPC vs NPC 功能无效了……后知后觉了老久了,您这个能适用在1.5版本上吗?
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-5-3 07:28:19 | 显示全部楼层
shnigs 发表于 2024-5-2 18:49
大佬,我今天突然发现自己的baka defeat 1.5 版本 NPC vs NPC 功能无效了……后知后觉了老久了,您这个能适 ...

不兼容
回复

使用道具 举报

0

主题

441

帖子

3万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
0
贡献
0
猫币
0
精华
0
金元
11206
积分
32647
发表于 2024-5-7 18:38:57 | 显示全部楼层
兼容1.5的版本不打算做吗大佬
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-5-7 20:18:01 | 显示全部楼层
jhxiaoqi 发表于 2024-5-7 18:38
兼容1.5的版本不打算做吗大佬

没有,1.5好像没什么太大的区别,而且好像很多人评价也不是很理想
等BAKA有重大更新了再弄吧,现在先观望
回复

使用道具 举报

110

主题

1479

帖子

13万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
753
贡献
669
猫币
17
精华
0
金元
116926
积分
130380
发表于 2024-8-14 21:31:13 | 显示全部楼层
大佬还在吗?想请教defeat脚本之类的问题。defeat里面玩家为受害者选项里,玩家被击倒的判定条件是血量或者耐力低于阈值后,受到攻击有概率被击倒。但是我最近在研究注释法术一类,发现对自己释放(self类)的法术,带有爆炸(explosion)效果的,只要有范围,即便是没有伤害的爆炸。即便玩家处于无敌帧,也依然会被判定为受击,依然会有概率被击倒。
所以我想问下有没有办法让defeat的受击判定修改为仅限受到伤害才算数?否则这样的注释法术会和defeat天生冲突
回复

使用道具 举报

17

主题

1508

帖子

8万

积分

游戏VIP联动部

Rank: 16Rank: 16Rank: 16Rank: 16

点赞
341
贡献
221
猫币
18
精华
0
金元
67254
积分
83447
 楼主| 发表于 2024-8-17 09:39:21 | 显示全部楼层
lbky684 发表于 2024-8-14 21:31
大佬还在吗?想请教defeat脚本之类的问题。defeat里面玩家为受害者选项里,玩家被击倒的判定条件是血量或者 ...

好像没什么办法
回复

使用道具 举报

22

主题

1704

帖子

6585

积分

资深玩家

Rank: 10Rank: 10Rank: 10

点赞
1
贡献
44
猫币
0
精华
0
金元
4431
积分
6585
发表于 2024-9-1 14:38:50 | 显示全部楼层
楼主请问下为啥我的附加选项点进去显示是停用
回复

使用道具 举报

22

主题

1704

帖子

6585

积分

资深玩家

Rank: 10Rank: 10Rank: 10

点赞
1
贡献
44
猫币
0
精华
0
金元
4431
积分
6585
发表于 2024-9-1 15:02:11 | 显示全部楼层
Etenral 发表于 2024-9-1 14:38
楼主请问下为啥我的附加选项点进去显示是停用

好吧,有个单独开关
回复

使用道具 举报

1

主题

1032

帖子

4万

积分

游戏终结者

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

点赞
0
贡献
2
猫币
0
精华
0
金元
25444
积分
41596
发表于 2024-9-17 10:45:53 | 显示全部楼层
大佬,这个补丁很好用,但是能不能补充设置一下性别识别的功能,男V男已经关了,但是用这个补丁,男随从还是会被干。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|玖大猫论坛

GMT+8, 2025-6-15 13:52

Powered by Discuz! X3.4 © 2001-2013 Comsenz Inc.