家园7吧 关注:21,349贴子:82,565

关于家园:重建王国pc版的修改教程

只看楼主收藏回复

首先申明一点,本人并非程序员,只是兴趣使然做了个教程。而且大部分教程在吧里都能看到,这里感谢之前吧里多位大佬的付出。最后如果你觉得教程很麻烦,或者没达到你的预期,你可以选择退出去,因为我并非程序员,很多问题我是没法回答。关于版本:家园7,重建王国pc,重建王国手机版这三个是一脉相承,另外两个版本可以参考本贴进行修改。最后是修改人数后的房屋图片镇楼。



IP属地:广东来自Android客户端1楼2024-06-23 16:29回复
    在修改之前,我们需要以下工具。


    IP属地:广东来自Android客户端2楼2024-06-23 16:34
    回复
      2025-08-29 06:09:42
      广告
      不感兴趣
      开通SVIP免广告
      接着是游戏目录一些简单的了解。steam右键游戏→管理→浏览本地文件夹,即可看见游戏本体。其中TownsmenRebuit.exe为属性修改。resources文件夹包含各种游戏资源,其中的data文件是本次教程修改的主要方向。



      IP属地:广东来自Android客户端3楼2024-06-23 16:43
      回复
        本次修改教程内容分为两部分,第一部分是对data里的文件进行修改,修改的重点主要在图上标出来的三个文件。


        IP属地:广东4楼2024-06-23 16:51
        回复
          很多人经常会在吧里问怎么获取大量声望。其实方法很简单。打开xp-quests文件,找到第62行。将population count="25"改为population count="1",并在<xp value="50" message="T_GAME_TOWNLEVEL_POPULATION" />的下面添加一行<resource amount="150000" resource="prestige"/>。具体效果如图所示。这个代码的大致意思是当你新开一张地图时候,人口大于1时会获得15w的声望。声望获取的数量可按需修改。但是获取声望同时也会获取数倍于声望的经验。这个倍率我没算过,大概是5倍?想自己升级的人请谨慎考虑。


          IP属地:广东5楼2024-06-23 17:01
          收起回复
            接着就是对季节文件的修改。季节文件可以实现很多功能,但是这些功能本质上是一个在对应季节来临时候增加的buff,季节结束后就会将本季节buff消除,并加载下一个季节的buff。因为是buff,所以会被游戏任务,地图提供的buff覆盖。这里放一下修改后的效果图。


            IP属地:广东6楼2024-06-23 17:11
            回复
              在season文件中,跳转到43行,有个<onStarted>,而在46行有个</onStarted>。在<onStarted>和</onStarted>之间位置就是春季buff的内容,在官方的设定中每个季节都有对应的buff。如图所示,你可以自己额外添加内容上去。关于tag我推荐填map或者happiness_adjustment。后面的数值一般是增加的百分比,比如你填了1100,就是增加1000%,低于100就是负的了,一般是用于士兵的恢复时间。还有一点切记,很多吧友发现填了没有效果,那是因为每个季节要填两次,然后每个季节都要填,要不然到了下个季节就移除了,以春季为例,你不仅要在<quest id="season_spring"下填buff,还要在<quest id="theme_spring"填。下面这图是我个人使用的,包含了全部建筑的效率提升,建筑居民需求容量的提升,居民的属性提升,商人买卖量。更多修改内容大伙可以去看哆啦大佬这篇修改教程。https://tieba.baidu.com/p/6153821397?pn=1


              IP属地:广东7楼2024-06-23 17:35
              回复
                至于海滨帝国的dlc的修改方式也大差不差,但是修改的文件是seasonal_events_azure.xml,在data文件夹下还有很多文件,其中quests_scenario开头就是游戏里剧情关卡的地图设置,quests_sandbox开头的文件是游戏中无尽模式的地图设置。后面那个单词是游戏关卡的名称,你可以在Townsmen - A Kingdom Rebuilt\resources\l10n文件夹下找到一个zh.strings文件,这里面包含了游戏所有翻译。你可以搜寻到对应关卡名字再来改地图配置。还有一些数量较少非地图文件,据我猜测,应该是对盗贼,雷雨天气这些文件的配置。


                IP属地:广东8楼2024-06-23 17:45
                回复
                  2025-08-29 06:03:42
                  广告
                  不感兴趣
                  开通SVIP免广告
                  此外data文件夹下还包含了数个文件夹。其中economy文件夹下的两个文件可以调整对应物品的基础买卖价格。questpools文件夹直译就是任务池,具体功能就不用我多说,任务的修改方法和声望的差不多,objectives就是达成的条件,<rewards>就是任务奖励。还有一个就是building文件夹,其中buildmenu文件里是游戏建筑菜单,你可以依照格式来修改你的菜单从而更方便的建造,也可以添加一些建筑上去。比如土匪窝,城堡。但是这些只是存在理论中,比如我添加土匪窝后,菜单里也能看见,也能点击建造,但是一开始建造就会游戏崩溃。但是这个文件还有一个用处,你能知道对应建造在代码里的名称,比如最基础的住宅在游戏里显示townhouse,在代码中显示residence0,这对下一步的exe文件修改有帮助。


                  IP属地:广东9楼2024-06-23 17:56
                  回复
                    在修改exe文件前,先了解一下它的构成,还好exe文件没有加密,要不然修改从何谈起,右键exe文件,用7zip解压,就会得到如图所示的文件。其中reloc文件负责exe内文件的加载,而建筑属性之类数据主要保存在text文件中,data文件用处不大,而rdata文件很关键,这里保存了游戏中的系数。举个简单例子,游戏中的最大住宅的一级时候税收为15,但是如果你以15为线索去找是找不到的,实际上建筑里的税收是0.25,但是存在一个税收系数60,0.25*60=15,这就是你游戏中最终的收益。系数一旦修改就会影响全部需要系数的建筑物,比如你想把所有住宅税收调高,那就直接修改60这个数据,但是你只想调大宅子的税收,那就去调0.25这个数据。


                    IP属地:广东10楼2024-06-23 18:08
                    收起回复
                      好的,接下来的修改就需要用到HxD和ida pro了,其中ida Pro安装时候会同时安装32位和64位,但是对我们修改没有影响,你喜欢用哪个就哪个。首先打开ida Pro。这里我是用32位版本打开,会弹出一个快速启动,点击新建,这时候会弹出窗口让你选择,直接定位到游戏目录,选择exe文件并点击下方的打开。这时候会弹出一个选项窗口,直接第一个默认选项点击确定进行下一步。接着在会弹出一个提示,选择否。接着就是程序加载文件,这时候上面有个进度条在变化颜色,下面也有窗口提示,和左下角的位置提示,偶尔还会弹窗,这时候不需要理会,等待一段时间后,在系统提示音后,
                      左下角窗口出现finish等字样并且出现了一个小窗口时候表示游戏反编译成功,这时候就可以进行下一步操作了。





                      IP属地:广东11楼2024-06-23 18:27
                      回复
                        首先来看一下页面布局,从左到右,从上到下,函数窗口用处不明,接着就是视图A这个是比较重要的界面,十六进制视图,有用但不多。结构体、枚举目前没发现用途,关闭了就行。中间这个看着像窗口的其实是视图A的一部分,结构不同,按下空格可以切换排版模式。左下角输出窗口会提示一些信息。至于图表概览,用处不大,但是没影响就开着,而且切换排版后就会消息。


                        IP属地:广东12楼2024-06-23 18:37
                        回复
                          接下来就是修改环节,首先就是人口,这个只能在exe中修改,第一步定位建筑物,点击视图A后按alt+T,这时候就会弹出文本搜索框,勾选查找所有事件,打开位于游戏目录\resources\data\buildings下的buildmenu文件,按照游戏中的顺序,building_residence_01就是大住宅的代码中的称呼,但是由于是反编译出来的代码,效果上终究还是差一些,所以建议搜索residence01或者residence1,点击确认后等待一会儿。在搜索结束后会弹出一个结果窗口,建议拉长指令这个框更方便看清楚,地址里显示了是哪个文件的,之前解压时候说过,属性主要在text文件,搜索结果中前五个都符合这个特点,那就挨个试试,双击第一行就会跳转到对应函数所在位置,这时候看的会很乱,这是汇编语言看不懂无伤大雅,点击空格,进行切换。







                          IP属地:广东13楼2024-06-23 18:56
                          回复
                            现在看起来就会直观很多,而且只会显示这一段函数,接着我们下拉,然后你会看到41A00000h这样的参数一排排的很多。但是最好能找到三列这样的数组,三列分别对应了初始,升级1,升级2。这些参数是16进制浮点数,网上有在线转换的工具。在下方输入41A00000,h不用输入,这时候显示十进制为20,这个当线索感觉不太够,游戏中大住宅建造需要金币650,然后在在线转换工具上输入650,得到44 22 80 00,然后在函数中进行寻找,就在下面一点,那这个函数就是大住宅的建筑属性。






                            IP属地:广东14楼2024-06-23 19:11
                            回复
                              2025-08-29 05:57:42
                              广告
                              不感兴趣
                              开通SVIP免广告
                              比如说我们要修改纳税间隔,游戏中显示是3分钟,也就是3*60=180秒,将180填入数据得到43 34 00 00,在返回ida中对比,很快就在下面找到。那么要如何修改呢,这时候就得HxD上场了,先把游戏关了,打开HxD,直接将exe文件拖动进去得到一个奇怪的界面。然后我们返回ida,将43340000h框选,这时候看窗口左下角显示为26041d,返回hxd,Ctrl+G快捷键弹出跳转窗口,选择十六进制再输入26041d,然后确定有时候会因为某些原因会偏离一点,比如我这次就跳转到了3e c7这个位置,因为浮点数在HxD中是倒置显示,这时候就要排版找00 00 34 43,很快啊,就在下面一行,比如我要修改成120秒,在进制转换器中输入120得到42 F0 00 00,然后进行倒置00 00 f0 42,将这个和00 00 34 43进行替换,不能多出字节或者少了字节,要不然那样exe文件直接作废。修改后进行保存。这时候进游戏看一下,数据发生了变化。









                              IP属地:广东15楼2024-06-23 19:30
                              回复