觅长生

觅长生

332 ratings
真正的随机
4
2
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
9.272 KB
14 Dec, 2022 @ 10:15am
3 Mar, 2023 @ 1:29pm
2 Change Notes ( view )

Subscribe to download
真正的随机

Description
【注意】似乎官方又又又搞出bug来了,建议还是订阅着本模组吧
【注意】本模组已升级2.0版本,提供“伪随机”“强随机”“原版随机”三种方法自由选择
伪随机方法足够使用且较原版能提高些许性能,强随机方法相较会轻微降低性能。
原版随机会造成“复制克隆人”,已经生成的人本模组也没有办法修改了,所以建议提前订阅好本模组再开档。
可使用“BepInEx插件管理器”F1键切换,即时生效。

很久以前就有玩家发现,游戏中自己看中的随机NPC竟然会有很多同名同姓还长得一模一样的,但是有不同身份经历的“克隆人”。这个问题很早就反馈给了官方但是迟迟未能解决。

最近我仔细研究了下NPC生成的过程,发现主要问题就在于,官方程序里写了一个叫QuikeGetRandom的方法。
但是它其实本质是,启动时生成500个随机数的池子,然后按顺序、一个接一个地取数,用完后竟然循环继续用。
而给NPC生成姓、名、外貌各个部件、背包物品等,都用了这个方法,所以就必定会有生成NPC时,姓名外貌物品按特定几个连在一起的数字进行“生成”,而且会循环重复好几遍。所以有同名同姓还必定同外貌的人就一点也不奇怪了。
要我说这500个数的池子也太小了,连“伪随机”都算不上,简直可以叫“排排坐吃果果”。
官方写了几个功能一样的随机函数,有用强随机的,有用“排排坐吃果果”的。
一般正常的软件程序,除非有特殊的加密或者线程要求,一般使用系统给的“伪随机”函数就足够用了,在数学的分布上是有足够的随机性的。

模组作者:Ventulus
28 Comments
zhouke 4 Feb @ 5:56am 
为什么我在按f1键,那个切换伪随机的点开什么都操作不了啊?
306735009 4 Dec, 2023 @ 9:17pm 
F1没反应啊?怎么切换
月末初净 25 May, 2023 @ 6:41pm 
大佬,这个mod是不是会影响地图任务的出现啊?比如练气的初遇星凝和两派之争我就没看到。后来我把mod关了开新档就又OK了
东方彩虹🌈 24 Apr, 2023 @ 8:47pm 
大佬
johnor666 6 Mar, 2023 @ 7:52am 
看样子还是订阅着吧,克隆人最不能忍
Ventulus  [author] 3 Mar, 2023 @ 1:34pm 
更新v2.0.0,默认使用伪随机方法,并patch了另外两个随机函数。再有什么卡顿的话那肯定跟我没什么关系了,请排查是否其他模组的原因。
Ventulus  [author] 21 Feb, 2023 @ 2:33am 
@xolaker 除了随机人物,副本地图上的随机事件也受影响。
xolaker 21 Feb, 2023 @ 1:25am 
会影响读档,我试过了,马上存档,马上读档不影响, 但是存了档,玩一会再读档,会很慢,我想的办法是开新档建了人物,再取消启动MOD,就流畅了,而且至少初期人物不会重复了。
Ventulus  [author] 2 Feb, 2023 @ 6:52am 
@泽畔雨下 理论上不会影响读档、过图速度,主要开新档创建新世界的时候会多一点时间
泽畔雨下 28 Jan, 2023 @ 11:48pm 
加了每次加载好卡啊