#重生研究# 一点儿小发现
fmh吧
全部回复
仅看楼主
level 10
Cena☸ 楼主
新开一个帖,因为之前的帖子太长了,而且半道我走向了几个分叉路。[笑眼]所以新开这个也方便有兴趣的朋友浏览。
前贴 有请高人进来指点一二
2025年11月17日 11点11分 1
level 10
Cena☸ 楼主
接上帖最后一层楼,由于被可米@野生的可米 老弟启发我重振旗鼓,重新精心的开档后有了一个好的起点,并解决了hex对比offset的问题,今天我把所有的差异列表后,比较直观的可以看出差异并不是特别多(也不少[笑眼]),
2025年11月17日 11点11分 2
第二列绿色的是已经识别出来,并且在我之前无数次测试中已经排除的。
2025年11月17日 11点11分
level 10
Cena☸ 楼主
大家不要被这一堆东西吓到,我的标题说了,我有了发现(进展),虽然很小,但是确实长久以来的一个比较振奋人心的进展。我略去繁琐曲折的对比过程(我无数次判断失误[笑眼][吐舌]),答案在这里👇图这三个区域,其实应该就是一个(因为我添加了三个灰人),当我把这三个1改为0后,重生头像变化了。[捂嘴笑][哈哈][吐舌][香槟][香槟][玫瑰][玫瑰][烟花]
2025年11月17日 11点11分 3
level 7
哈哈哈哈哈哈你太认真了大佬
2025年11月17日 11点11分 4
level 10
Cena☸ 楼主
说实话,我是万分没想到是这个区域,我几乎是把其他所有的差异排除后,最后才改它,这个结果也可以说是喜忧参半吧,因为似乎游戏是通过某种顺序中的位置来标记某人是否是重生(我猜这个1也有可能是代表重生过几次),这个实验后我又测试了Gareth Bale这些开档数据库就写好要退役的真正重生,虽然不太方便(我还没研究出规律,这一大段区域就是6个ff加上8个00),但最终也改成功了(我把1都改了[笑眼][笑眼])
并且要知道,这次修改用的是我自己做的face,@野生的可米 我和你说过,这些face的uid是数据库中不存在的,是我尽量绕过uid的范围添加的,在我以前的测试中这样的头像是最难改的,我现在测试某个重生是否可以改(uid置为FFFFFFFF),然后青训营,然后再把我做的头像,先给一个还没有退役的球员,再给重生才可以成功,并且如果这个爹地退役了,重生头像又会恢复。
可是这次修改,却如此简单并且成功了,我认为这还是很关键的进展。[太开心][笑眼]
下一步,我要研究游戏标记的这个区域,与退役球员(也有可能是重生球员)的信息之间的关系。
2025年11月17日 11点11分 5
level 10
Cena☸ 楼主
如果最后对上了逻辑,我要说SI也是够变态的,这样标记退役或者重生的方式,难怪我以前无数次的搜索改变各种id信息,结果都乱七八糟的。[阴险]
2025年11月17日 11点11分 6
level 10
Cena☸ 楼主
嘿嘿,我研究出来了[哈哈][哈哈][烟花][彩虹][烟花] 废话不多说,直接说结果。
经统计,我这个是开档英国一个国家,此区域的地址起始为:
a930a5 ~ acfdc7 /14 (6×ff+8×00) = 17794
So base on Presuming 就是17794个球员信息。
我要修改的这个重生或者前生的
People id = 90010000
它的FFFFFF00000001的地址是 a94684=1
那么,a94684 - 开始地址 a930a5 +1 = 5600
5600 / 14 = 400
各位看出来了吧[滑稽] 400 换算成16进制 = 0190[太开心][吐舌]
2025年11月17日 14点11分 7
level 10
Cena☸ 楼主
再看第二个球员,People id = cc12000085b4ab01
地址 aa37cc = 1
(aa37cc - a930a5 + 1) / 14 = 4812
4812 = 12cc in hex 如何?如图,前世face启用[捂嘴笑][滑稽][太开心][哈哈]
2025年11月17日 14点11分 8
level 10
Cena☸ 楼主
吧主大大,此贴准备申精[干饭][哈哈]
2025年11月17日 14点11分 9
吧务
level 16
没看懂,但是好厉害!
2025年11月17日 15点11分 10
哥你说没看懂只能是你太忙了,没时间细看。[黑线]
2025年11月17日 22点11分
level 10
Cena☸ 楼主
我稍微阶段总结一下(目前一切都是我的推测,还需要新开档跟踪几个赛季,新手建议先别看,免得我最后证明我的conjecture is wrong丢人[乖])
2025年11月17日 22点11分 11
level 10
Cena☸ 楼主
游戏中所有的People信息和player信息都是开档时从数据库中存储在save中的,People ID总数和命名范围UID 甚至PlayerID都是固定好的,不能增加,比如说如果增加了一个人,这个存档无法读取,因为无法和数据库对上,所以游戏中的退役&重生只是在不断的清空、重复使用save中这些类似于文档型数据表。
2025年11月17日 22点11分 12
level 10
Cena☸ 楼主
举例来说,梅老板退役了,也没当教练什么的(当教练这个情况我后面会测试跟踪),他的People ID+uid这个表清空一部分数据,他的Player+History表清空,他的训练合同等等都清空,等梅老板重生了,他的People信息表是从所有退役的空表中随机选一个,但People ID+UID没变,假设他的重生用的是贝尔的People ID+Uid,他的Player信息表还是他的前世用的,所以Player ID不变并且身高体重pa等一些数据不变。
2025年11月17日 22点11分 13
level 10
Cena☸ 楼主
这时候游戏还要做一件事,就是在存档中一个区域中标记People ID,标记的时点或许是贝尔退役时也有可能是梅老板重生再次利用贝尔的People信息时,而且这个游戏的头像没有在游戏前preload至真正的缓存,估计是太多了,影响手机版的效率,所以都是我们点击球员信息时,同步按照缓存mapping的映射去调取face文件显示,新闻界面除外。所以当我们点击梅老板重生的球员时,游戏先要看一看,贝尔这个PeopleID是否是退役了,如果没退役就去Player中按照uid调取他的face,如果退役了,就去facegen这个目录下去按照年龄发色肤色等去调取重生face.
2025年11月17日 22点11分 14
这个区域是我们游戏中开档就分配好的,我估计也是不可以增减,目前为了测试方便我开档的是只有一个英国🇬🇧,存档就开辟了这个区域,总共是18000(记不清了[笑眼])个FFFFFF00000000。
2025年11月17日 22点11分
level 10
Cena☸ 楼主
所以,我们要改变重生的face最重要的就是要让游戏认为这个人不是退役或者重生,只是个普通的球员,所以要清除他的这个标记,如何清除:
如上目前我的办法,先要找到标记区域的开始地址。
☆这个区域的开始位置,不难找(2024),下图中最左边可以看到,用String搜索那个English US就可以,记下它下面第一串6个FF中第一个ff的地址作为起始地址。
2025年11月17日 22点11分 15
1 2 3 尾页