li83866066 发表于 2019-8-11 21:42

全球首发,终于搞定小人属性了 告别固定3条。附更新修改方法

本帖最后由 li83866066 于 2019-8-13 15:26 编辑



使用DNSPY修改
只需要修改两个地方。

1:搜索:GenerateAptitudes
UnityEngine.Random.Range(1, 4);

将4改成5 就随机4条属性 以此内推改12 就有11条属性    注意:图里改成12 为11条属性 那么下面修改的时候也要有11行数值,





2 搜索 APTITUDE_ATTRIBUTE_BONUSES

原本是 1 3 7属性值原始在这三个数字随机 1条就是7 2条就是3 3条就是1

看着修改一下属性值吧





有时候会出现 两条一样的属性,自己测试一下。至少比3条属性爽啊。

两个一定都要修改 要不然没有属性值 就出不来属性。
第二个是对应第一个的





wangkw 发表于 2021-1-18 19:17

搜索MAX_GAINED_ATTRIBUTE_LEVEL 修改数值可以改最高技能点

温柔杀z 发表于 2022-1-6 08:23

现在改完好像有点不一样

argo163 发表于 2022-6-8 10:58

真的成功了,但不知道最大值可以改到多大?

zhaojie213 发表于 2026-3-6 13:26

现在更新版本后是不是不能用了啊

苍穹之上为何物 发表于 2026-5-11 19:10

zhaojie213 发表于 2026-3-6 13:26
现在更新版本后是不是不能用了啊

是的应该是加啥限制了吧恶心!

csx479662552 发表于 2026-6-21 17:59

目前因为有DLC(主要是生化人那个),选人这部分的代码有一个“判断是否有这个DLC”的接口,而这段代码,即使你没加DLC也存在。但比较烦的是...反编译之后,只编辑类的话.....这个接口又不在这个类里,这就导致了过不了编译。
问题是,即使采用非入侵方式,用harmony只改这一条语句,做成mod注入进去,又会导致选人界面只刷生化人。

csx479662552 发表于 2026-6-21 17:59

csx479662552 发表于 2026-6-21 17:59
目前因为有DLC(主要是生化人那个),选人这部分的代码有一个“判断是否有这个DLC”的接口,而这段代码,即 ...

如果有大佬解决了这个问题,希望能踢我一脚))多谢多谢

wuhu_123 发表于 2026-7-8 15:59

csx479662552 发表于 2026-6-21 17:59
如果有大佬解决了这个问题,希望能踢我一脚))多谢多谢

也能改

lx1075069771 发表于 2026-7-11 02:34

wuhu_123 发表于 2026-7-8 15:59
也能改

大佬怎么修改呀,求教

wuhu_123 发表于 2026-7-11 09:22

lx1075069771 发表于 2026-7-11 02:34
大佬怎么修改呀,求教

你要改哪一部分?多属性的话和上面一样,之前版本修改完之后会报有dlc接口没有实现,手动添加一个实现就好了,这次更新我没有添加实现也可以直接改。如果还是报没有实现这个方法就在TraitVal类中补充实现GetAnyRequiredDlclds()方法,直接返回空。

lx1075069771 发表于 2026-7-11 21:13

wuhu_123 发表于 2026-7-11 09:22
你要改哪一部分?多属性的话和上面一样,之前版本修改完之后会报有dlc接口没有实现,手动添加一个实现就 ...

就是修改多条属性,每条属性都99属性值,多条属性原本1,4改为12,12好改,但是属性值 不管用编辑方法,还是编译类,都会报错

wuhu_123 发表于 2026-7-12 10:12

lx1075069771 发表于 2026-7-11 21:13
就是修改多条属性,每条属性都99属性值,多条属性原本1,4改为12,12好改,但是属性值 不管用编辑方法,还 ...

在TraitVal类中补充实现GetAnyRequiredDlclds()方法,直接返回空。public struct TraitVal : IHasDlcRestrictions
      {
            // Token: 0x0600D1BF RID: 53695 RVA: 0x001422E7 File Offset: 0x001404E7
            public string[] GetRequiredDlcIds()
            {
                return this.requiredDlcIds;
            }

            // Token: 0x0600D1C0 RID: 53696 RVA: 0x001422EF File Offset: 0x001404EF
            public string[] GetForbiddenDlcIds()
            {
                return this.forbiddenDlcIds;
            }这里只有两个实现但是接口里有三个public interface IHasDlcRestrictions
{
    // Token: 0x060006BF RID: 1727
    string[] GetRequiredDlcIds();

    // Token: 0x060006C0 RID: 1728
    string[] GetForbiddenDlcIds();

    // Token: 0x060006C1 RID: 1729 RVA: 0x0001E7D7 File Offset: 0x0001C9D7
    string[] GetAnyRequiredDlcIds()
    {
      return null;
    }
}所以你要在TraitVal中把GetAnyRequiredDlcIds()重写下然后反编译就欧克了

wuhu_123 发表于 2026-7-12 10:15

lx1075069771 发表于 2026-7-11 21:13
就是修改多条属性,每条属性都99属性值,多条属性原本1,4改为12,12好改,但是属性值 不管用编辑方法,还 ...

但是这个版本我没有加这个方法也没有报错

wuhu_123 发表于 2026-7-12 10:16

lx1075069771 发表于 2026-7-11 21:13
就是修改多条属性,每条属性都99属性值,多条属性原本1,4改为12,12好改,但是属性值 不管用编辑方法,还 ...

或者发下报错的截图看一下

lx1075069771 发表于 2026-7-12 16:43

wuhu_123 发表于 2026-7-12 10:12
在TraitVal类中补充实现GetAnyRequiredDlclds()方法,直接返回空。public struct TraitVal : IHasDlcRest ...

我先试试,感谢大佬

wuhu_123 发表于 2026-7-12 17:38

lx1075069771 发表于 2026-7-12 16:43
我先试试,感谢大佬

如果不行就发下你的那个报错瞅一眼

3dmmpo_36509561 发表于 2026-7-17 13:23

大佬 不能用了,新出了水星后代码就改了。你啥时候抽空看看再出一个新帖子

3dmmpo_36509561 发表于 2026-7-17 13:24

wuhu_123 发表于 2026-7-8 15:59
也能改

怎么改的

3dmmpo_36509561 发表于 2026-7-17 13:46


就是这样我改一下1,12都没法改

wuhu_123 发表于 2026-7-26 13:34

3dmmpo_36509561 发表于 2026-7-17 13:46
就是这样我改一下1,12都没法改

用dnSpyEx

wuhu_123 发表于 2026-7-26 13:38

3dmmpo_36509561 发表于 2026-7-17 13:46
就是这样我改一下1,12都没法改

这样就行了
页: [1]
查看完整版本: 全球首发,终于搞定小人属性了 告别固定3条。附更新修改方法