3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 侠客前传 | 刺客信条 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 46370|回复: 632
打印 上一主题 下一主题

[原创] 分享一下如何正确修改《人类黎明》游戏数据,按我说的修改,你要是报错,我跪键盘!!!

  [复制链接]

51

主题

473

帖子

1346

积分

游戏狂人

Rank: 6Rank: 6

贡献度
136
金元
8024
积分
1346
精华
0
注册时间
2014-5-24
QQ
跳转到指定楼层
主题
发表于 2019-5-29 05:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近很多萌新下了论坛的NOD发现进游戏就报错,1,可能版本不匹配 2,可能提供的NOD只有resources.assets文件 3,自己修改的就是错误方法

                                           言归正传,如何正确修改游戏数据:首先你要准备两个工具
一,AssetsBundleExtractor中文汉化版2.2 ,论坛有你自己去下载,怎么修改论坛也有(只要无视utf-8格式,其他都是对的步骤)

二,DNSPY 俗称--- 反编译修改器,我的存盘有地址:链接:https://pan.blacksheepgame.com/s/1V3fsYBUtIlX3wZo0lEKEZw
提取码:4vxc

第一个工具我不多说,论坛有说明使用,注意最后一步保存你修改的文本,例如:terrain-resources.assets-4172 文本,修改完后直接保存,不要以utf-8格式储存,然后就是将生成的resources.assets,单独放一个空文件夹里。替换游戏目录文件时,不能直接复制替换
,要先把游戏目录的删除掉,把修改的文件放进游戏根目录,这样才有效·····是不是醍醐灌顶呢!!(红色字都是重点,仔细看!!)

第二个工具,我重点说DNSPY,(我是缺氧玩家,这个修改已经不要不要的了),首先点击DNSPY,选择--打开 --目录 DawnOfMan\DawnOfMan_Data\Managed 下的Assembly-CSharp.dll 文件,出现如下:

我重点说几个论坛没有的改法:(以下只能用DNSPY修改,第一个工具修改进游戏就报错!!

(一)所有储存的格子上限和堆叠上限 (包括木头堆,干草堆,石头堆,建筑等等格子的上限,这里不是修改大小,而是修改变量限制)
搜索 updateVisibleStorage,如图


出现的数据如下: 红色的部分为我添加的部分

        // Token: 0x06000603 RID: 1539 RVA: 0x0002D548 File Offset: 0x0002B748
        
private void updateVisibleStorage()
        
{
            
if (base.isBuilt() && base.hasAnyFlag(EntityFlags.VisibleStorage))
            
{
               
MadrugaShared.RandomGenerator randomGenerator = new MadrugaShared.RandomGenerator(base.getId());
               
int num = 0;
               
int num2 = 0;
               
UnityEngine.Object.Destroy(this.mStorageProps);
               
this.mStorageProps = new GameObject();
               
this.mStorageProps.name = "Storage props";
               
this.mStorageProps.transform.SetParent(this.mObject.transform, false);
               
int slotCount = base.getSlotCount();
               
for (int i = 0; i < slotCount; i++)
               
{
                    
Slot slot = base.getSlot(i);
                    
int amount = slot.getAmount();
                    
for (int j = 0; j < amount; j++)
                    
{
                        
if (num % Structure.StorageLayerSkip[num2 == 0)
                        
{
                           
GameObject expr_BC = UnityEngine.Object.Instantiate<GameObject>((slot.getEntityType() as ResourceType).getModelStorage());
                           
expr_BC.transform.SetParent(this.mStorageProps.transform, false);
                           
Vector3 vector = MadrugaShared.Constants.Vector3Zero;
                           
if (num > 0)
                           
{
                                
float num3 = Structure.StorageLayerRadius[num2 * this.getStructureType().getStorageRadius();
                                
vector = randomGenerator.rangeFlatVector(num3 * 0.5f);
                                
if (vector.sqrMagnitude > 0.05f)
                                
{
                                    
vector += vector.normalized * 0.5f;
                                
}
                           
}
                           
expr_BC.transform.position = base.getPosition() + vector + (float)num2 * MadrugaShared.Constants.Vector3Up * 0.333f;
                           
expr_BC.transform.rotation = Quaternion.Euler(0f, randomGenerator.range(-20f, 20f), 0f);
                        
}
                        
num++;
                        
if (num2 < Structure.StorageLayers.Length && num > Structure.StorageLayers[num2])
                        
{
                           
num2++;
                        
}                         (如何添加:右键鼠标点这行,选择Edit Medthod(C#)反编译,按照下面的格式添加数据,完成后点击右下角的Compile,然后保存点DNSPY上的保存模块或者全部保存)
                        if (num2 > 3)      (注意是这里的红色数据,就是我添加的
                        {
                            num2 = 3;
                        }
                    
}

               
}
               
MadrugaShared.Util.setLayerRecursive(this.mStorageProps, GameConstants.StructurePropsLayerIndex);
            }
        
}

(二)修改树木的生长时间(求人不如求自己),摸索了一个小时自己改出来了

搜索 TreeRegrowthData 翻倒数据如下位置:


        // Token: 0x06001769 RID: 5993 RVA: 0x0001246B File Offset: 0x0001066B
        
public void resetGrowthData()
        
{
            
this.mState.Timer = 14400f;   (这个是数据重置时间,不用管)
            
this.mState.YoungTreeRef = null;
        
}

        
// Token: 0x0600176A RID: 5994 RVA: 0x00012489 File Offset: 0x00010689
        
public bool update(float timeStep)
        
{
           
timeStep *= 5f;        (这是我添加的数据,即5倍成长时间)
            
this.mState.Timer -= timeStep;   (其实还有一种改法,直接改成{我试过,效果都一样}: this.mState.Timer -=timeStep* 5f;  意思就是乘以5倍
            return this.mState.Timer <= 0f;
        }

(三)鱼塘和泥土的刷新时间
搜索 BankManager  翻倒数据位置 如下:


        // Token: 0x06000BE1 RID: 3041 RVA: 0x00040CAC File Offset: 0x0003EEAC
        
public void tick(float timeStep)
        
{
            
int count = this.mBanks.Count;
            
for (int i = 0; i < count; i++)
            
{
               
Bank bank = this.mBanks[i];
               
bank.increaseFishAmount(timeStep / 7400f);   (将7400改为150,等于1秒刷新1%鱼儿进度,这样修改很变了,基本还没改完,就100%满了)
               
bank.increaseMudAmount(timeStep / 2400f);   (将2400改为150,等于1秒刷新3%泥土进度)

继续往下翻倒:如下数据

        // Token: 0x06000BE9 RID: 3049 RVA: 0x0000AFA4 File Offset: 0x000091A4
        
private bool bankHasFish(Bank bank)
        
{
            
return bank.getFishAmount() > 0.332f;              (这个是指一次弄一条鱼就离开的数据,我改为 return bank.getFishAmount() > 0.996f;  意思就是钓完3条鱼就离开,当然只有两个空间的小人,满了也会离开
        }

        
// Token: 0x06000BEA RID: 3050 RVA: 0x0000AFB3 File Offset: 0x000091B3
        
private bool bankHasMud(Bank bank)
        
{
            
return bank.getMudAmount() > 0.332f;              (这个是指一次弄一泥土就离开的数据)
        
}

            }
        
}

四,贸易商人交易数量和停留时间搜索 trader
        // Token: 0x06000841 RID: 2113 RVA: 0x00036008 File Offset: 0x00034208
        
public override void tick(float timeStep)
        
{
            
base.tick(timeStep);
            
if (base.isIdle())
            
{
               
this.mTraderSaveState.IdleTime += timeStep;
               
if (this.mTraderSaveState.IdleTime > 240f)       (这是贸易商人停留时间,改为2倍=480f)    
               
{
                    
this.done();
               
}
            
}
        
}


继续往下翻到,看我的标注,就是修改的地方(这里是修改贸易商人携带东西的数量)
        // Token: 0x06000848 RID: 2120 RVA: 0x00036218 File Offset: 0x00034418
        
private void addResourceProducts(EntityAmounts amounts)
        
{
            
MadrugaShared.RandomGenerator instance = MadrugaShared.Singleton<MadrugaShared.RandomGenerator>.Instance;
            
Era era = MadrugaShared.TransientSingleton<KnowledgeManager>.CurrentInstance.getEra();
            
List<EntityType> typeEntities = MadrugaShared.TransientSingleton<EntityTypeManager>.CurrentInstance.getTypeEntities<ResourceType>();
            
List<ResourceType> list = new List<ResourceType>();
            
for (int i = 0; i < typeEntities.Count; i++)
            
{
               
ResourceType resourceType = (ResourceType)typeEntities[i];
               
if (this.canTrade(resourceType))
               
{
                    
list.Add(resourceType);
               
}
            
}
            
int num = instance.range(5, 10);     (随机携带(5,10) 个种类物品  修改为range(10, 20);这个数值比较适中,亲测
            for (int j = 0; j < num; j++)
            
{
               
ResourceType entityType = list[instance.range(0, list.Count)];
               
amounts.add(entityType, this.getRandomResourceAmount());
            
}
            
for (int k = 0; k < typeEntities.Count; k++)
            
{
               
ResourceType resourceType2 = (ResourceType)typeEntities[k];
               
if (resourceType2.getForceTraderEra() == era)
               
{
                    
amounts.add(resourceType2, this.getRandomResourceAmount());
               
}
            
}
        
}

        
// Token: 0x06000849 RID: 2121 RVA: 0x00036314 File Offset: 0x00034514
        
private int getRandomResourceAmount()
        
{
            
MadrugaShared.RandomGenerator instance = MadrugaShared.Singleton<MadrugaShared.RandomGenerator>.Instance;
            
return instance.range(1, (int)(6 + MadrugaShared.TransientSingleton<KnowledgeManager>.CurrentInstance.getEra()));   (将这句话中的数值(1,6)改为(10,60)即是10倍和60倍最小和最大值,亲测基本在10--100多个不等物品,接着改最下面的数值)
        
}
                        
{
                           
list.Add(domesticatedVariant);
                        
}
                    
}
               
}
               
if (list.Count > 0)
               
{
                    
int index = instance.range(0, list.Count);
                    
amounts.add(list[index], instance.range(1, 6));       (如上对应数值,将1和6改为10和60,也就是对应数值,你上面改多少,下面就是多少,你要是改99999数值,电脑炸了,别找我)
               
}
            
}
另外附上我自己修改的数据,不变态的修改,主要修改内容如下: (对应游戏版本是,3DM内未加密版本1.11,其他版本无效)
1.石头堆8格X10=80,干草堆8格X10=80,木头堆 8格X10=80 (三种建筑储存东西的耐久增加2倍)
2.野外树果树成长速度5倍,贸易商人携带物品数量增加10倍
3.鱼塘刷新材料速度增加
4.野外生物掉落肉,骨头,皮 增加2倍
5.制作面粉(小火炉:1小麦=1面粉--产出1稻草,水磨坊:3小麦=3面粉--产出3稻草)
6.制作亚麻布(1亚麻=2亚麻布--产出1稻草)
7.制作啤酒(2啤酒=1小麦--产出1稻草)
8.牛产奶2个,羊产毛2个,山羊产奶2个
9.各种材料,衣服,食物,例如干皮,干肉,干鱼,干草等等腐败时间增加2倍
10.人物移动速度改为2.5,血量改为300(成年人)
11.成年狗的血量增加为300,攻击增加为200,索敌范围增加为2500
12,4种矿场(铜矿,火石矿,锡矿,铁矿)的上限改为150(总值是165,如果你觉得少,自己用第一个工具修改,感觉矿石用不完)


其余没改,什么1肉变9肉,1皮变9皮,那样改就没法玩下去了!!(题外话,不喜勿喷)
下载地址:https://pan.blacksheepgame.com/s/1vbPu46zQuz0mRwdKv9B-_A   提取码:
游客,如果您要查看本帖隐藏内容请回复

使用方法:解压缩文件 Assembly-CSharp中的文件 放在 \DawnOfMan\DawnOfMan_Data\Managed下 ,注意备份你自己的文件,防止版本不对


                 解压缩文件 resources              中的文件放在DawnOfMan\DawnOfMan_Data                     下,注意不要直接替换,先备份你的游戏文件,然后删除掉根目录中的resources.assets文件,然后将下载的resources.assets丢进去,不按步骤则无效!!!


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

评分

1

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏20
回复

使用道具 举报

51

主题

473

帖子

1346

积分

游戏狂人

Rank: 6Rank: 6

贡献度
136
金元
8024
积分
1346
精华
0
注册时间
2014-5-24
QQ
来自 23#
 楼主| 发表于 2019-6-3 23:47 | 只看该作者
本帖最后由 海贼008 于 2019-6-9 12:52 编辑
zscxxxxx 发表于 2019-6-3 23:21
整了一晚上,按楼主DNSPY修改第二步没有问题,第一步AssetsBundleExtractor修改格子上限也成功,但是败在堆 ...

堆叠上限和格子上限不是同一个概念:上面讲的是格子上限
                                                       堆叠上限改法:(红色代码为添加。论坛有修改方法,只是这个改法太BT,所以我没写)

               {
                    
Slot slot = base.getSlot(i);
                    
int amount = slot.getAmount();
                    if(amount>10)
                    {
                        amount=10;

                    }
                    for (int j = 0; j < amount; j++)
                    
{                              

注意:此版本内涵1.0免费 番茄修改器,有收费版修改器的就别下载了,自己看流程修改数据很快的

回复 支持 0 反对 1

使用道具 举报

13

主题

960

帖子

1359

积分

游戏狂人

Rank: 6Rank: 6

贡献度
4
金元
13429
积分
1359
精华
0
注册时间
2012-4-20
舒服的沙发
发表于 2019-5-29 14:45 | 只看该作者
树木生长那个还可以该terrain 里的spread 那样也会树很多
回复 支持 1 反对 0

使用道具 举报

5

主题

504

帖子

555

积分

高级玩家

Rank: 4

贡献度
3
金元
5427
积分
555
精华
0
注册时间
2006-10-14
硬硬的板凳
发表于 2019-5-29 22:12 | 只看该作者
我下的3DM内未加密版本1.11,用你的Assembly-CSharp,一下就出错了
回复 支持 0 反对 1

使用道具 举报

0

主题

113

帖子

168

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1681
积分
168
精华
0
注册时间
2016-3-11
冰凉的地板
发表于 2019-5-29 23:38 | 只看该作者
我擦 用了这个出错 然后 还原还是出错 从新解压也出错
回复 支持 0 反对 1

使用道具 举报

0

主题

113

帖子

168

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1681
积分
168
精华
0
注册时间
2016-3-11
5#
发表于 2019-5-29 23:43 | 只看该作者
马克西斯 发表于 2019-5-29 23:38
我擦 用了这个出错 然后 还原还是出错 从新解压也出错

开始新游戏就出错

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 0 反对 1

使用道具 举报

51

主题

473

帖子

1346

积分

游戏狂人

Rank: 6Rank: 6

贡献度
136
金元
8024
积分
1346
精华
0
注册时间
2014-5-24
QQ
6#
 楼主| 发表于 2019-5-30 17:16 | 只看该作者
各位要厚道啊!!!,我这个基本都没改什么,而且我发的是教程,你要是出错,那是见鬼了!!
回复 支持 反对

使用道具 举报

0

主题

179

帖子

251

积分

高级玩家

Rank: 4

贡献度
0
金元
2511
积分
251
精华
0
注册时间
2015-10-9
7#
发表于 2019-5-30 21:06 | 只看该作者
的尽可能SVN垃圾啊玛琳菲森骂了每次离开你卡不成绩不好XHGuy藏猪不
回复 支持 反对

使用道具 举报

0

主题

46

帖子

106

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1064
积分
106
精华
0
注册时间
2010-5-23
8#
发表于 2019-5-31 00:20 | 只看该作者
感谢楼主分享
回复 支持 反对

使用道具 举报

1

主题

216

帖子

278

积分

高级玩家

Rank: 4

贡献度
0
金元
2777
积分
278
精华
0
注册时间
2012-6-8
9#
发表于 2019-5-31 10:28 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

33

帖子

34

积分

初级玩家

Rank: 2

贡献度
0
金元
340
积分
34
精华
0
注册时间
2019-2-19
10#
发表于 2019-5-31 12:11 | 只看该作者
111111111111111111
回复 支持 反对

使用道具 举报

0

主题

13

帖子

15

积分

新手玩家

Rank: 1

贡献度
0
金元
145
积分
15
精华
0
注册时间
2019-5-27
11#
发表于 2019-5-31 18:44 | 只看该作者
666666666,多谢分享
回复 支持 反对

使用道具 举报

0

主题

38

帖子

99

积分

初级玩家

Rank: 2

贡献度
0
金元
994
积分
99
精华
0
注册时间
2012-12-7
12#
发表于 2019-5-31 20:51 | 只看该作者
66666666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

1

主题

1281

帖子

1399

积分

游戏狂人

Rank: 6Rank: 6

贡献度
20
金元
13185
积分
1399
精华
0
注册时间
2008-10-4

G胖の微笑

13#
发表于 2019-6-1 10:18 | 只看该作者
哒哒哒哒哒哒多多多多多多多多多多多多多多多多多
回复 支持 反对

使用道具 举报

3

主题

568

帖子

581

积分

高级玩家

Rank: 4

贡献度
2
金元
5727
积分
581
精华
0
注册时间
2012-11-23
14#
发表于 2019-6-1 14:20 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

1

主题

453

帖子

478

积分

高级玩家

Rank: 4

贡献度
0
金元
4780
积分
478
精华
0
注册时间
2013-3-7
15#
发表于 2019-6-1 17:01 | 只看该作者
回复 支持 反对

使用道具 举报

0

主题

576

帖子

633

积分

超级玩家

Rank: 5Rank: 5

贡献度
11
金元
5892
积分
633
精华
0
注册时间
2009-4-13
16#
发表于 2019-6-1 21:32 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

10

帖子

71

积分

初级玩家

Rank: 2

贡献度
0
金元
710
积分
71
精华
0
注册时间
2016-2-12
17#
发表于 2019-6-2 00:10 | 只看该作者
1111111111111111111111111
回复 支持 反对

使用道具 举报

0

主题

163

帖子

228

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2283
积分
228
精华
0
注册时间
2016-10-24
18#
发表于 2019-6-2 07:17 | 只看该作者
阿斯达四大
回复 支持 反对

使用道具 举报

2

主题

800

帖子

852

积分

超级玩家

Rank: 5Rank: 5

贡献度
21
金元
7681
积分
852
精华
0
注册时间
2012-1-9
19#
发表于 2019-6-3 01:31 | 只看该作者
6666666666666666
回复 支持 反对

使用道具 举报

0

主题

252

帖子

320

积分

高级玩家

Rank: 4

贡献度
0
金元
3203
积分
320
精华
0
注册时间
2011-10-8
20#
发表于 2019-6-3 04:17 | 只看该作者
很实用!!
回复 支持 反对

使用道具 举报

0

主题

638

帖子

565

积分

高级玩家

Rank: 4

贡献度
0
金元
5654
积分
565
精华
0
注册时间
2010-2-2
21#
发表于 2019-6-3 21:47 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

638

帖子

565

积分

高级玩家

Rank: 4

贡献度
0
金元
5654
积分
565
精华
0
注册时间
2010-2-2
22#
发表于 2019-6-3 23:21 | 只看该作者
整了一晚上,按楼主DNSPY修改第二步没有问题,第一步AssetsBundleExtractor修改格子上限也成功,但是败在堆叠上限了,改99就报错
回复 支持 反对

使用道具 举报

29

主题

713

帖子

5775

积分

游戏精英

Rank: 8Rank: 8

贡献度
555
金元
35152
积分
5775
精华
4
注册时间
2017-1-13

3DM MOD站(白银)

24#
发表于 2019-6-4 06:31 | 只看该作者
RE: 分享一下如何正确修改《人类黎明》游戏数据,按我说的修改,你要是报错,我跪键盘!!! [[url=]修改[/url]]








回复 支持 反对

使用道具 举报

0

主题

273

帖子

359

积分

高级玩家

Rank: 4

贡献度
0
金元
3588
积分
359
精华
0
注册时间
2008-5-15
25#
发表于 2019-6-5 00:31 | 只看该作者
看看呢~~~~~
回复 支持 反对

使用道具 举报

4

主题

592

帖子

582

积分

高级玩家

Rank: 4

贡献度
24
金元
4861
积分
582
精华
0
注册时间
2009-3-24
26#
发表于 2019-6-5 10:40 | 只看该作者
这个游戏是真的好!
回复 支持 0 反对 1

使用道具 举报

0

主题

278

帖子

331

积分

高级玩家

Rank: 4

贡献度
0
金元
3314
积分
331
精华
0
注册时间
2012-7-28
27#
发表于 2019-6-5 21:15 | 只看该作者
111111111111111111111111111111
回复 支持 反对

使用道具 举报

1

主题

603

帖子

710

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7099
积分
710
精华
0
注册时间
2014-8-5
28#
发表于 2019-6-6 01:33 | 只看该作者
66666666666666666666
回复 支持 反对

使用道具 举报

1

主题

124

帖子

200

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1996
积分
200
精华
0
注册时间
2011-9-22
29#
发表于 2019-6-7 15:42 | 只看该作者
666666666666666
回复 支持 反对

使用道具 举报

0

主题

10

帖子

70

积分

初级玩家

Rank: 2

贡献度
0
金元
695
积分
70
精华
0
注册时间
2013-9-15
30#
发表于 2019-6-8 12:52 | 只看该作者
工工工工工工工
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|咖绿茵|求知网|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2024-6-11 04:52 , Processed in 0.170202 second(s), 48 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表