跳转至

db文件夹中的bin文件

位置:data\db

Warning

请使用十六进制编辑器来编辑,VSCode可以用来看内容,但不能用来编辑,以及编码改成UTF-8

此处使用wxMEdit来做示例

我个人汉化的文件如下,一共16个

  • CharaFilterTableRecord.bin
  • CollabPartyStanceTableRecord.bin
  • CommonDialogMessageTableRecord.bin
  • CommonDialogTitleTableRecord.bin
  • ErrorPointTableRecord.bin
  • ErrorTableRecord.bin
  • ExModeErrorTableRecord.bin
  • GameDeliveryTableRecord.bin
  • GameEventModeTableRecord.bin
  • GameGroupRoleTableRecord.bin
  • ItemProhibitTableRecord.bin
  • MusicFilterTableRecord.bin
  • PlayOptionGroupTableRecord.bin
  • TestModeMessageTableRecord.bin
  • TutorialExitTableRecord.bin
  • TutorialSceneTableRecord.bin

db文件只储存字符串和一些数据,坐标等还是在srd文件内(至少就汉化需要的文件而言是这样的),其中db文件分为两种

两个数据一组

为了方便理解,可以将一组内第一个数据理解为变量名,第二个数据为变量里存储的内容,我们要修改的就是第二个数据。

未涉及数据的地方,每四个字节分为一小组。

CharaFilterTableRecord.bin为例,第一小组的06是指此文件中有6个变量(黑)。

下一小组开头为00(灰),指第0个变量,下一小组开头的08(红)指变量名长8字节,然后是变量名NewChara(黄),紧接在后面的一小组的开头的0C(蓝)指存储的内容近期获得(绿)长度为12。

紧接的下一小组开头为01(紫),指第1个变量,按照上面的顺序继续。

由此可见,我们要修改的就是途中每组中变量存储的内容,修改成自己想要的字符串后(绿),将字符串长度转为十六进制然后更改前面的长度(蓝)即可。

三个数据一组

为了方便理解,可以将一组内第一个数据理解为变量名,第二个数据为标签,第三个数据为变量里存储的内容,我们要修改的就是第三个数据。

未涉及数据的地方,每四个字节分为一小组。

ExModeErrorTableRecord.bin为例,第一小组的08是指此文件中有8个变量(黑)。

跳过第一组数据,因为没有要改的字符串。

下一小组开头为01(灰),指第1个变量,下一小组开头的09(红)指变量名长9字节,然后是变量名GuestPlay(黄),紧接在后面的一小组的开头的12(粉)指标签ゲストプレイ(橙)长度为18,最后一小组开头24(蓝)指储存的内容游客模式下无法选择此模式(绿)长度为36。

紧接的下一小组开头为02(紫),指第2个变量,按照上面的顺序继续。

由此可见,我们要修改的就是途中每组中变量存储的内容,修改成自己想要的字符串后(绿),将字符串长度转为十六进制然后更改前面的长度(蓝)即可。

最后

完成后保存,覆盖即可。

有的地方似乎因为srd中给的字符框的长度不够,会导致有的字不显示,建议按照国服翻译来。

以及很多文件可以直接用国服的文件,可以省很多事。

评论