hsf20 发表于 2019-3-19 20:46

详细图文说明 解决《人类黎民》修改仓库叠加容量游戏出错跳出的问题?


相信很多玩这个游戏的人都喜欢用“Unity Assets Bundle Extractor” 改改游戏的资源设置之类的,比如仓库格子啊,叠加容量啊。好不容易耐着性子把想修改的内容都修改好了,一进游戏却悲摧的给你看这个:
因为游戏开发者在游戏中代码写死了,在不同的场合仓库叠加是10-40个,而在校验仓库物品数量时写的代码有BUG或是没有考虑万能的玩家会把这个叠加数量修改。比如,修改rock_pile石头堆和wood_pile木材堆,数值过大出错跳你没商量。

准备工作 1、若是电脑中没有安装.Net4.72,则还需要下载巨硬的.Net4.72,官方下载地址:https://download.microsoft.com/download/D/E/D/DEDCBE28-6398-47FE-8E96-3D55F524F211/NDP472-KB4054530-x86-x64-AllOS-CHS.exe 2、修改工具dnSpy,此工具默认自带中文,官方下载地址https://github.com/0xd4d/dnSpy/releases/download/v6.0.3/dnSpy-net472.zip 注意:上述两个下载内容,请尽量去官方或是可信网站下载,否则去其他地方下载悄悄给你电脑加料本人概不负责! dnSpy操作:1、目标文件要修改的文件为:Assembly-CSharp.dll,此文件路径为 <上级目录>\DawnOfMan\DawnOfMan_Data\Managed\ Assembly-CSharp.dll,比如安装在D盘的Game文件夹下,则完整的路径为:D:\Game\\DawnOfMan\DawnOfMan_Data\Managed\ Assembly-CSharp.dll2、说明打开Assembly-CSharp.dll前请先备份一个,以便改错了可以恢复。题外话,其实Windows下Unity开发的游戏基本都是叫Assembly-CSharp.dll这个名,游戏实现的逻辑大都分在这里。请直接打开此文件,不要把它拷贝到其他目录再打开,否则可能会打开/编辑时因为dnSpy找不到关联的文件而产生错误。3、打开dnSpy4、 打开Assembly-CSharp.dll
5、打开界面说明

实战操作1、解决仓库叠加修改后出错根据出错提示,我们知道游戏执行到哪里的里候出错了,第一个出错的地方在:“DawnOfMan.Structure.updateVisibleStorage“,若许有的人会问了,我没有截图啊,不知道出错在哪里!其实游戏有一个日志文件在以下文件:C:\Users\%username%\AppData\LocalLow\MadrugaWorks\Dawn of Man\output_log.txt打开它,拉到文件最后
2、 回到dnSpy界面,在搜索框,查找:DawnOfMan.Structure.updateVisibleStorage
3、 查看代码4、暴力修改,如下图
改为最小的叠加数10,也可以修改代码中定义的最大叠加数,也可是修改其他的代码逻辑,等等,方法有很多,总之达到效果就可以了。然后,文件菜单-》保存模块保存文件
修改后游戏运行效果
最后的提醒修改前,请备份Assembly-CSharp.dll! 请备份存档,请备份存档,请备份存档!!

dangyixin 发表于 2019-3-19 21:22

发现木材那个放到超过40个就报错,你的贴发的太及时了

玩一会儿而已 发表于 2019-3-20 14:20

感谢楼主无私分享

plutus 发表于 2019-3-20 19:14

这个是好东西多谢分享~~~

stoken 发表于 2019-3-20 19:40

这是干货贴,给大佬点赞

seyen9 发表于 2019-3-20 19:51

可算找到你这个帖子了...但...写不来代码.算了...我还是消停一点
修改树木生长速度,采矿速度,矿物储量,都需要改这个dll文件

yeyuyin 发表于 2019-3-21 19:10

感谢分享

qq2xqq 发表于 2019-3-24 10:29

高手,这是高手,这也太厉害了

qq2xqq 发表于 2019-3-24 14:01

这样改了发现还是有报错,直接try catch了,看看后面还有没有再报错

hsf20 发表于 2019-3-26 08:06

qq2xqq 发表于 2019-3-24 14:01
这样改了发现还是有报错,直接try catch了,看看后面还有没有再报错

你要看出现问题的日志自己找出问题点在哪里? 那示例修改只是针对特定的问题, 另外,代码要改/写对了

wtzluvmm 发表于 2019-3-26 15:00

我打开的跟楼主的不一样. 不知道是不是哪点错了. 最好别用箭头.箭头指的不太清楚.右键暴力修改那里点开没看到修改最小叠加数的代码

shajin0616 发表于 2019-3-27 10:53

本帖最后由 shajin0616 于 2019-3-29 21:12 编辑

可以了,厉害。果然可以叠加好多好多。

qq2xqq 发表于 2019-3-31 00:57

hsf20 发表于 2019-3-26 08:06
你要看出现问题的日志自己找出问题点在哪里? 那示例修改只是针对特定的问题, 另外,代码要改/写对了
...

加了try catch就OK了

__Simple、 发表于 2019-4-1 01:14

qq2xqq 发表于 2019-3-31 00:57
加了try catch就OK了

请问大佬,为什么我加了try catch就不行呢?明明对照你的改的啊。

__Simple、 发表于 2019-4-1 08:38

qq2xqq 发表于 2019-3-31 00:57
加了try catch就OK了

{:3_107:}大佬,我这还是不行,修改不成功。修复堆叠错误的 Assembly-CSharp.dll文件,求分享一下,别的数据别改,只修复堆叠错误就行。

__Simple、 发表于 2019-4-1 08:39

{:3_107:}楼主大佬,修复堆叠错误的 Assembly-CSharp.dll文件,求分享一下,别的数据别改,只修复堆叠错误就行。

wode007 发表于 2019-4-2 23:07

gaiwanlequceshiyixia改完去测试一下 希望一切顺利~~~~~~~~~~~~~

wode007 发表于 2019-4-3 11:06

qq2xqq 发表于 2019-3-31 00:57
加了try catch就OK了

果然不跳了 感谢~~~~~~~~~~

lishibingz 发表于 2019-4-6 13:45

本帖最后由 lishibingz 于 2019-4-6 13:51 编辑

ERROR: ArgumentOutOfRangeException: Argument is out of range.
Parameter name: Min value is greater than max value.

INFO:
Dawn of Man v1.0.6 Steam (28 Mar 2019 - 16:41)
OS: Windows 7 Service Pack 1 (6.1.7601) 64bit
CPU: Genuine Intel(R) CPU 0000 @ 2.10GHz, Cores: 8, RAM: 8015MB
GPU: NVIDIA GeForce GTX 860M, VRAM: 1986MB, ShaderLevel: 50
Scenario ID: the_northlands, Location: 北江, Game Mode: Hardcore


STACK TRACE:
System.Random.Next (Int32 minValue, Int32 maxValue)
MadrugaShared.RandomGenerator.range (Int32 min, Int32 max)
DawnOfMan.Being.setRandomYearsOld ()
DawnOfMan.Being.onSpawn ()
DawnOfMan.FaunaManager.spawnCommensalAnimals (DawnOfMan.AnimalType animalType)
DawnOfMan.FaunaManager.spawnCommensalAnimals (Single timeStep)
DawnOfMan.FaunaManager.tick (Single timeStep)
DawnOfMan.GameStateGame.fixedUpdate (Single timeStep, Int32 frameIndex)
DawnOfMan.GameManager.fixedUpdate (Single timeStep)
DawnOfMan.GameBehaviour.FixedUpdate ()

我用的是[树木生长速度提高10倍 挖矿速度提高3倍MOD。支持最新1.0.6]dll文件和[1.0.6版resources文件修改,矿产.仓库.房屋.小人.狗增强(附带原始TXT文件)]resources文件游戏时经常随机报错:说什么最小值大于最大值
求教该如何修改DLL?

lishibingz 发表于 2019-4-6 13:53

qq2xqq 发表于 2019-3-31 00:57
加了try catch就OK了

http://bbs.3dmgame.com/forum.php?mod=viewthread&tid=5863434&page=1&authorid=10132971

求教该如何修改

killgod2006 发表于 2019-4-8 19:37

楼主你在说什么?不是中文么?再见!

jamesnike 发表于 2019-4-8 19:50

6666666666666

qq2xqq 发表于 2019-4-15 00:06

__Simple、 发表于 2019-4-1 08:38
大佬,我这还是不行,修改不成功。修复堆叠错误的 Assembly-CSharp.dll文件,求分享一下,别的 ...

你漏了,catch后面有一对花括号{}

qq2xqq 发表于 2019-4-15 00:14

lishibingz 发表于 2019-4-6 13:53
http://bbs.3dmgame.com/forum.php?mod=viewthread&tid=5863434&page=1&authorid=10132971

求教该如何修 ...
应该是人物寿命改的问题,先把人物寿命改回去吧

qq2xqq 发表于 2019-4-15 00:22

lishibingz 发表于 2019-4-6 13:53
http://bbs.3dmgame.com/forum.php?mod=viewthread&tid=5863434&page=1&authorid=10132971

求教该如何修 ...

或者把-5删除掉,应该是这个地方deathYearsOld - 5比oldYearsOld小导致的

__Simple、 发表于 2019-4-16 09:42

qq2xqq 发表于 2019-4-15 00:06
你漏了,catch后面有一对花括号{}

谢谢,万分感谢,

lishibingz 发表于 2019-4-17 14:26

qq2xqq 发表于 2019-4-15 00:22
或者把-5删除掉,应该是这个地方deathYearsOld - 5比oldYearsOld小导致的

估计不止这一处,我曾经单独测试过不修改小人年龄,还是报错。
不修改仓库堆叠,才没有报错。

guotengyun09 发表于 2019-5-3 19:23

qq2xqq 发表于 2019-4-15 00:22
或者把-5删除掉,应该是这个地方deathYearsOld - 5比oldYearsOld小导致的

大佬,方便分享下 树木生长速度和挖矿速度是哪一项吗?

jay2012 发表于 2019-11-5 22:27

本帖最后由 jay2012 于 2019-11-6 22:03 编辑

楼主楼主。请帮忙分析下。谢谢

jay2012 发表于 2019-11-6 12:44

本帖最后由 jay2012 于 2019-11-6 22:00 编辑

楼主在哪里?
页: [1] 2
查看完整版本: 详细图文说明 解决《人类黎民》修改仓库叠加容量游戏出错跳出的问题?