waz511 发表于 2022-8-11 21:13

【教程】修改游戏教程

本帖最后由 waz511 于 2022-8-12 22:12 编辑

1.0.2f1版本,作者重新解密了游戏,所以发一篇游戏教程吧。
一、下载dnspy,反编译软件。
   下载地址 https://pan.blacksheepgame.com/s/1lQwChYvdHVAaF-PqjnDgCg?pwd=n1fq
二、打开软件,并打开游戏路径 根目录\Home Behind 2\HomeBehind2_Data\Managed 下面的 Assembly-CSharp.dll 。


三、点击放大镜,如图;或者按ctrl+Shift+K

四、搜索相关代码
1、修改资源高亮及拾取资源无距离限制
步骤1 搜索 GeneratePickupResource并且下面找到update(),
插入方法: 点击图示位置,右键后点击编辑方法,弹出窗口后,回车插入下列代码,以后修改方法一致,不再赘述。


步骤2 在图示位置插入代码;
if (!this.clicked)
                {
                        base.GetComponent<SpriteRenderer>().material = this.outLineMaterial;
                }
步骤3 文件-保存模块/全部保存,地图效果

解除资源拾取距离限制步骤1 续接上面的搜索,向下面找到private void OnMouseDown()函数

步骤2 将图示的地方1f改为3f,我这里改为2f就是距离两倍,3f就无距离了。

2、解锁全部角色
步骤1、搜索ReGameDataController.Start
步骤2、在图示位置插入代码:
<blockquote>for (int num = 0; num < ReGameDataController.Instance.jobDataBase.Count; num++)
3、修改深绿成功几率的方法和橙色单位的方法,参考链接
https://tieba.blacksheepgame.com/p/79679115874、自定义角色初始天赋
步骤1 搜索ManageSpeBuffByValue
步骤2往下找到如图代码

for (int m = 0; m < num3; m++)
                {
                        int num6 = Random.Range(0, Enum.GetValues(typeof(HeroSpeAddDataType)).Length);
                        List<float> heroSpeAddData;
                        int index4;
                        (heroSpeAddData = speAddData.heroSpeAddData) = heroSpeAddData + (float)list * ReGameDataController.Instance.heroSpeDataBase.speValue;
                }
步骤3 把for里面的num3改为1

步骤4 把图示标红部分 Random.Range(0, Enum.GetValues(typeof(HeroSpeAddDataType)).Length); 删除改为数字,即为增加的属性代号,如 0代表力量,1代表敏捷,下图有对应代号图


比如我这里改为新增力量,如图


步骤5 将 下列代码图中部分改为数值,即为上面的天赋对应的数值,注意分号;

(heroSpeAddData = speAddData.heroSpeAddData) = heroSpeAddData + (float)list * ReGameDataController.Instance.heroSpeDataBase.speValue; 步骤5 修改后的代码如下,我这里改的是 新增力量天赋,新增数值为10;for (int m = 0; m < 1; m++)
                {
                        int num6 = 0;
                        List<float> heroSpeAddData;
                        int index4;
                        (heroSpeAddData = speAddData.heroSpeAddData) = heroSpeAddData + 10f;
                }
步骤6 上面只是加了一个天赋,如果想多加几个天赋怎么改?并列复制上面步骤5的代码,回撤后粘贴,然后分别改属性代码和数值,如图分别给力量、敏捷、智力各加了10点,粘贴后有点不一样是因为软件编译时自动修改了变量名。


5、设置革命遗产的获取倍数 搜索GetLegacyPoint ,将函数内的num改为num*2 即为获取倍数2两倍


6、游戏buff持续时间修改
搜索EventAddBuffManager, 然后在这个函数最下面语句RePlayer.Instance.PlayerData.TeamAddBuff(heroBuffData, flag);的上面加入代码,代码中的3f意思是增益buff为3倍时间,下面的0.5f为debuff为0.5倍时间,可以自己改。
if (flag)
                {
                        heroBuffData.time *= 3f;
                }
                else
                {
                        heroBuffData.time *= 0.5f;
                }
以后待续....




waz511 发表于 2022-8-14 22:15

解锁全职业代码发生错误了 这里补一下                for (int num = 0; num < ReGameDataController.Instance.jobDataBase.Count; num++)
                {
                        ReGameDataController.playerPrefData.playerPrefData.SetKey(ReGameDataController.Instance.jobDataBase.name, "true");
                }

waz511 发表于 2022-8-14 22:59

7 跑图时 事件消耗时间调整    搜索EventQuickPassTime将 base.StartCoroutine(ReGameController.Instance.QuickPassTime(hour));这句中的hour*0.5就是减少事件耗时。
8 修改心情导致的伤抗数据搜索CountArmyInfo向下找到 rmy.woundResist = army.totalSpeAddData.Get(HeroSpeAddDataType.woundResist) + ((!ReGameController.Instance.worldData.lessTiredMode) ? ((army.tiredRate > 10f) ? ((float)((int)(-(army.tiredRate - 10f) * 0.05f)) * 0.1f) : ((army.tiredRate != 0f) ? 0.1f : 0.2f)) : 0f);这句,可以Ctrl+F搜索( rmy.woundResist)找,然后将里面的 ((army.tiredRate > 10f) ? ((float)((int)(-(army.tiredRate - 10f) * 0.1f)) * 0.1f)中的 0.1f改为0.05f即10%的心情降低5%的伤抗,可以自己调整。 改这里说明不会更改,但是数据已改。

waz511 发表于 2022-8-14 23:12

9 调整战斗时的游戏速度搜索 FightController.update 在Ctrl+F搜索 Time.timeScale = 1f;将1f改为2f即游戏战斗速度变为2倍。可以节省 时间。

waz511 发表于 2022-8-14 23:15

10 添加遗产点数搜索 ReGameDataController.Start   在其中加入 ReGameDataController.playerPrefData.playerPrefData.SetKey("LegacyPoint", 100); 其中100就是重启游戏后可以将遗产点数设置为100点。每次重启都有效。

waz511 发表于 2022-8-14 23:45

11 修改技能cd         搜索 HeroFightController.update ,在其中找到   (skillCD = this.hero.heroData.skillCD) = skillCD - Time.deltaTime * Mathf.Clamp(1f + (this.hero.heroData.speed * ((!LocalEventController.Instance.isIndoor) ? (1f + EnvironmentController.Instance.nowWeather.speedChange) : 1f) - 1f) * 0.5f, 0.5f, 2f);   
在最后的 ....0.5f, 2f);这里改为 ....0.5f, 2f)*2 即CD减少50%, 另外最后的这个0.5f为技能的冷却上限为50%,2f为下限为200%的技能cd,0.5f改为0.3f。即为上限改为70%。

876684578 发表于 2022-9-20 03:12

牛批,我就想改一下技能数值,回血是回的少,超强力的技能命中不了的这种闲的设定

hhscr 发表于 2022-10-26 01:38

大佬能说下怎么修改基地人数上限和仓库上限的代码么

酷酷哥 发表于 2022-11-28 16:56

多多回复,我为人人,人人为我。

qq066320 发表于 2022-12-30 21:09

666666666666666666666666666

游侠长 发表于 2023-1-4 10:44

学习了,感谢分享~

baoeraiqingcai 发表于 2023-1-30 18:55

出错了时间调整

baoeraiqingcai 发表于 2023-1-30 18:55

直接报错

寒雪帝尊 发表于 2023-2-1 20:25

直接报错啊大佬,完全没办法修改,什么代码CS0246 CS0234之类的一大堆错误代码不让修改

寒雪帝尊 发表于 2023-2-1 20:35

寒雪帝尊 发表于 2023-2-1 20:25
直接报错啊大佬,完全没办法修改,什么代码CS0246 CS0234之类的一大堆错误代码不让修改 ...

没事了,我把MOD文件复制出来修改修改不了,我直接打开游戏目录里的原文件就能修改了

baoeraiqingcai 发表于 2023-2-2 23:14

寒雪帝尊 发表于 2023-2-1 20:35
没事了,我把MOD文件复制出来修改修改不了,我直接打开游戏目录里的原文件就能修改了
...

你修改的那部分?

福气东来 发表于 2023-2-5 15:03

666666   

baoer1990 发表于 2023-2-12 16:45

waz511 发表于 2022-8-14 22:59
7 跑图时 事件消耗时间调整    搜索EventQuickPassTime将 base.StartCoroutine(ReGameController.Insta ...

修改不了报错

恶作剧之吻 发表于 2023-6-29 19:28

好·现在还能参照着改··

lichaoyi97 发表于 2023-7-20 12:02

baoer1990 发表于 2023-2-12 16:45
修改不了报错

*0.5f就不会报错了

ahjm 发表于 2023-11-13 16:27

大佬,修改资源高亮的代码没有看到啊,只有修改位置的截图

706486405 发表于 2024-1-6 10:55

waz511 发表于 2022-8-14 22:15
解锁全职业代码发生错误了 这里补一下

看不到

知见本性 发表于 2024-1-14 10:11

本帖最后由 知见本性 于 2024-1-14 11:18 编辑

6666666666666666666666666666666666666666666

可爱新娘 发表于 2024-2-28 22:46

谢谢分享

gh2672290813 发表于 2024-2-29 21:32

66666666666666666666666666666

dhfyyua 发表于 2024-6-17 09:44

大佬人还在吗?
怎么修改技能效果阿,比如把心灵特工的1技能改成群攻

meiyuanxing 发表于 2024-8-3 17:57

有大佬知道怎么修改威胁等级上限吗

zrdf004 发表于 2024-10-20 18:11

感谢分享

qq2376998225 发表于 2024-11-6 05:09

6666666666666

997373641 发表于 2024-12-1 15:15

6666666666666666
页: [1] 2
查看完整版本: 【教程】修改游戏教程