关于导出武将修改
本帖最后由 greg114 于 2024-12-13 15:34 编辑进展缓慢阿。。木有人一起研究
===========================================
挖了一个来小时,没有van大,想改个武将真难
先把导出武将的bin文件从二进制转换成16进制,我设置的16个字节换行,看看有用不
回头写个小的winform来实现下存档武将修改
三国志8R武将bin文件编码解析,中文是utf-16le 编码
53414e385245444954504552534f4e00
01000000000009034e67000000000000 #4e67 和0000 分别代表姓,最多两个字
0000000000000000000000000000ea96 #末尾的ea96 名的第一个字
0f970000000000000000000000000000 #名 0f97代表名的第二个字
00000000000000000000581b01ba00e1 #581b 是立绘,导入的无法识别 3602是这个版本的貂蝉
#01 是性别女00是男
#年龄 ba00e1 代表生年186 卒年225 寿命会自动计算,无需编写
e1如果想进位,需要把后面的00改成01而不是前面的
00000000000000000000000000000000
000000000000515f5050501313000000 #515f505050 分别代表81统率 95武力 80智力 80政治 80魅力
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000006846804a1130
47301000000000000000000000000000
00000000000000000000000000000035
4f464c452b0000000000000000000000
00000000000000000000000000000000
0000000000020f010301090000000000
010401164eba4e5e8d7651e562096700 #0104 其中04是情谊 最大0f也就是15
7a164e666b7a8284766a8c7067023028
5718623a570a4e666bc752e065cc5384
766888b0730759d7534c65ba4e5060e7
600cff0c80765ea9805c4f18628476cb
539b511952f95b7651096740778167f1
6d9a538476e14ffb4e02307651f182c7
524b4eff590067c87ee88d8a8d864e18
623a578476e985f17b0cff16533a4ed7
533052164eba4e9c553172847645658b
4e7f95454e416d204f0b4ebb53023000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000000
000000000000000000
终于可以把曹操改成女的
123e2er 发表于 2024-12-13 14:59
终于可以把曹操改成女的
目前能改的只有 姓名 字生死年 五维情谊
还有列传
奇才和特技 的编码逻辑一个还没来得及看,一个完全看不懂。。。。
支持楼主 战法和特技是4进制掩位码。比如第一个战法3级,第二战法2级,那么就是四进制的32,转换为10进制则是14,16进制则为0e。 每8个战法或特技为1个周期。举个例子如果你首八个战法均是3级,则4进制下,为33333333,16进制下为ffff,以此类推。 大话精 发表于 2024-12-15 17:13
每8个战法或特技为1个周期。举个例子如果你首八个战法均是3级,则4进制下,为33333333,16进制下为ffff,以 ...
大哥,这是我16进制的文件,他技能的部分就是我框选的部分这个武将,枪兵第一个我是3级 第二个0 第三个0 第四个3级 特级3级
我分析不出来他这个 30f3cf0c003c0fcb这块。。。。
本帖最后由 大话精 于 2024-12-15 20:04 编辑
greg114 发表于 2024-12-15 19:50
大哥,这是我16进制的文件,他技能的部分就是我框选的部分这个武将,枪兵第一个我是3级 第二个0 第 ...
8个战法一起看,如果你的战法等级依次是32323212,那么在16进制下显示的就是eee6。这么说明白吗?最简单的验证方式,你进游戏把所有战法技能都改为0,前8个战法改为33333333,就可以看到导出的武将文件里显示的是ffff。
greg114 发表于 2024-12-15 19:50
大哥,这是我16进制的文件,他技能的部分就是我框选的部分这个武将,枪兵第一个我是3级 第二个0 第 ...
其实你这张图片已经很好的说明了,bin文件里的头四位为030f,转化为4进制是30033,也就是从第一个技能开始等级分别为3、0、0、3、3
大话精 发表于 2024-12-15 20:02
其实你这张图片已经很好的说明了,bin文件里的头四位为030f,转化为4进制是30033,也就是从第一个技能开 ...
大概明白了,我回头试试,感谢你
greg114 发表于 2024-12-15 20:05
大概明白了,我回头试试,感谢你
不客气 ,记得不要习惯性地按兵科去看代码。要8个战法、8个战法这么看,也就是从枪兵的第1个战法到骑兵的第3个战法为第一个代码段,这八个战法等级的所有排列组合就是0000~ffff。
大话精 发表于 2024-12-15 20:11
不客气 ,记得不要习惯性地按兵科去看代码。要8个战法、8个战法这么看,也就是从枪兵的第1个战法到骑兵的 ...
第一次这么研究。。。我是没想到他bin文件就直接这么存,另外他各种编码方式都扔在这一个文件里 有 utf8utf16-le有直接转int被你这么说还有4进制 ,好tm乱啊。。。。
greg114 发表于 2024-12-15 20:24
第一次这么研究。。。我是没想到他bin文件就直接这么存,另外他各种编码方式都扔在这一个文件里 有 utf8...
这是很普遍的一种压缩文件大小的方式,通常使用的有用于逻辑判断的二进制(即0和1)的掩位码方式。如果你每个字节都只用来存0~3,那么8个战法需要8字节,即使每半个字节存一个战法,也需要4字节,半个字节中的4-f都被浪费了。而用4进制掩位码方式再转化成16进制后,只需要占2个字节,一个空间都不浪费。
支持,研究下如何导入导出图片吧:lol shevacy 发表于 2024-12-15 23:54
支持,研究下如何导入导出图片吧
好看着好像有人搞了
大话精 发表于 2024-12-15 20:39
这是很普遍的一种压缩文件大小的方式,通常使用的有用于逻辑判断的二进制(即0和1)的掩位码方式。如果你 ...
那存档呢。。。感觉一个存档中的武将部分完全看不懂,所有的名的第一个字放到一起的样子第二个字又换个地方放到一起,难道整成table了?
greg114 发表于 2024-12-16 07:45
那存档呢。。。感觉一个存档中的武将部分完全看不懂,所有的名的第一个字放到一起的样子第二个字又换个 ...
存档就复杂了,要分析过的。武将编辑跟历史武将编辑保存bin是最容易的了。
大话精 发表于 2024-12-16 19:08
存档就复杂了,要分析过的。武将编辑跟历史武将编辑保存bin是最容易的了。
...
我吐了
做了一个武将 前8个技能配制成13233303
导出来16进制是edcf,解析称4进制给我来了个
32313033
每四位倒序一遍,我说怎么看不懂。。。
本帖最后由 大话精 于 2024-12-28 00:28 编辑
greg114 发表于 2024-12-26 16:29
我吐了
做了一个武将 前8个技能配制成13233303
导出来16进制是edcf,解析称4进制给我来了个
就是4进制转16进制存储时,是从第四位读到第一位再从第八位读到第五位。 大话精 发表于 2024-12-27 22:38
就是4进制转16进制存储时,是从第四位读到第一位再从第八位读到第五位。 ...
对,每四位一倒序,32个技能,剩下三个技能是3位数倒序。。。
页:
[1]