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

注册 登录

QQ登录

只需一步,快速开始

查看: 2488|回复: 5
打印 上一主题 下一主题

[分享] 为了吾王2 DLL部分修改教程

[复制链接]

46

主题

1440

帖子

4213

积分

游戏精英

Rank: 8Rank: 8

贡献度
356
金元
27889
积分
4213
精华
0
注册时间
2008-1-26

G胖の微笑3DM总监资深粉丝

跳转到指定楼层
主题
发表于 2024-1-12 13:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看了王老菊玩这游戏,突然产生了兴趣,跟风玩了玩,边玩边改的,所以内容有限,有问题也别问我,因为我可能玩一阵子就不会有兴趣再玩了,也不可能会去深入研究的。并且修改方法并不是只有我这一种,每个人可能都会因为对代码理解不同有不同的修改方法。就以我之前修改的DLL为例,说下怎么改,方便各位版本更新后自己修改:
1.属性上限
找到CharacterHelper这个类,在GetMaxStatValue方法里修改,比如:
public static int GetMaxStatValue(eCharacterStats pCharacterStat)
        {
                switch (pCharacterStat)
                {
                case eCharacterStats.STR:
                        return 255;
                case eCharacterStats.VIT:
                        return 255;
                case eCharacterStats.INT:
                        return 255;
                case eCharacterStats.AWR:
                        return 255;
                case eCharacterStats.TAL:
                        return 255;
                case eCharacterStats.SPD:
                        return 255;
                case eCharacterStats.LCK:
                        return 255;
                case eCharacterStats.FOC:
                        return 9; //专注值,一般不改
                }
                return -1;
        }

255这个就是上限值,按你喜欢的改


然后拉到最后,找到public const int MAX_CHARACTER_STAT = 255; 按需修改,

再找到ProgressionHelper这个类,同样有个public const int MAX_CHARACTER_STAT = 255; 修改为一致数字。

重点提下,MAX_CHARACTER_STAT直接修改是会报错的,正确的改法展开所在类的目录树,在这个字段上右键,选择编辑字段,可以看到常量那里是int32,后面的数字按需改,可以直接填入十进制,也可填入十六进制,比如255,或者0xFF

2.各种倍数,我用的方法比较简单粗暴,直接改数字,也可以分析公式在公式里改的。

在ProgressionHelper这个类里,各种GetXXXXXScaleValue方法,在把里面的数字改成想要的倍数就行了。

3.修改开局装配点数,我用的也是最简单粗暴的方式修改:

PartyManagementDirector找到_getLoadoutPoints这个方法,

把:int num = this._baseLoadOutPoints + CharacterHelper.GetStat(pEntity, eCharacterStats.LOP, false);

改成 int num = 想要的数字;

即可

如果出错,可以使用编辑IL指令,然后看序号,把序号为1,4,5,6行删掉,注意,第一行是序号是0,不要稀里糊涂的就直接删了,看好序号。然后在序号为2的行里把需要的数值填上去,默认不得大于127,想要大于127,可以把ldc.i4.s改成ldc.i4。

最后还有一点:改完保存时在保存窗口选择MD写入选项,勾选保持之前的MaxStack值,再保存,否则可能会报错。

另外很多人知道改特性,提供一个特别毁平衡的模板:
{
  "TRAIT_TACTICIAN": {
    "ConsumableType": "NONE",
    "Value": 0,
    "MinTier": 0,
    "MaxTier": 0,
    "Rarity": "COMMON",
    "Material": "NONE",
    "Hidden": true,
    "Stacks": false,
    "Ammo": 0,
    "Equippable": {
      "Slots": [],
      "Stats": {
        "STR": 255,
        "SA":  255,
        "VIT": 255,
        "INT": 255,
        "SPD": 255,
        "TAL": 255,
        "LCK": 255,
        "AWR": 255
        },
      "Passives": [
        "SKILL_TACTICS",
                "SKILL_EAGER",
                "SKILL_SUPPORTRANGE",
                "SKILL_EUREKA",
                "SKILL_NAVIGATOR",
                "STATUS_IMMUNITY_ALL"
      ],
      "MaxCharges": 0
    },
    "Tags": []
  },

这样就是一个全属性255,拥有全特性技能且免疫所有异常状态的神技战术家了。







回复

使用道具 举报

32

主题

1810

帖子

2700

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
134
金元
21637
积分
2700
精华
0
注册时间
2016-4-9
舒服的沙发
发表于 2024-1-15 03:45 | 只看该作者
大佬请问你用的是什么工具来修改dll的阿,我用dnspy好像改不了,编译报错。。。
回复 支持 反对

使用道具 举报

32

主题

1810

帖子

2700

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
134
金元
21637
积分
2700
精华
0
注册时间
2016-4-9
硬硬的板凳
发表于 2024-1-15 03:53 | 只看该作者
1246291292 发表于 2024-1-15 03:45
大佬请问你用的是什么工具来修改dll的阿,我用dnspy好像改不了,编译报错。。。 ...

好吧只能编辑IL指令了。。。
回复 支持 反对

使用道具 举报

17

主题

1364

帖子

2063

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
97
金元
16745
积分
2063
精华
0
注册时间
2010-5-28
冰凉的地板
发表于 2024-3-30 20:39 | 只看该作者
能否在详细一点啊····我编辑完,就提示编辑错误,缺氧什么的都用此方法修改过,但就这个游戏会提示编辑错误····IL指令编辑也会报错
回复 支持 反对

使用道具 举报

0

主题

6

帖子

9

积分

新手玩家

Rank: 1

贡献度
0
金元
88
积分
9
精华
0
注册时间
2021-6-9
5#
发表于 2024-4-5 13:09 来自手机 | 只看该作者
简单一点,dnspy打开,搜索,CharacterHelper这个类,展开这个类,找到GetStat,有三个,直接点最后一个跳进去,下拉到最后,c#下倒数第二行代码
回复 支持 反对

使用道具 举报

0

主题

6

帖子

9

积分

新手玩家

Rank: 1

贡献度
0
金元
88
积分
9
精华
0
注册时间
2021-6-9
6#
发表于 2024-4-5 13:12 来自手机 | 只看该作者
num3=Math.min(num3, characterhelp.GetMaxstatvalue(pcharacterstat)); 对着min右键选择编辑AL指令,将215行的min改为max就是了,这样你的属性就是最大值95
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-3-15 13:37 , Processed in 0.164032 second(s), 15 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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