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

注册 登录

QQ登录

只需一步,快速开始

查看: 4895|回复: 54
打印 上一主题 下一主题

[讨论] 超武进化:丧尸毁灭者 1.0.13和1.0.14修改和修改好的文件

  [复制链接]

8

主题

1258

帖子

1597

积分

游戏狂人

Rank: 6Rank: 6

贡献度
15
金元
15370
积分
1597
精华
0
注册时间
2010-9-13
跳转到指定楼层
主题
发表于 2023-9-3 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 feiyu_wind 于 2025-1-5 23:03 编辑

1.0.13没找到修改器,所以自己用dnspy改了下。1、修改文件:Arms.Evolution.ZOMBIE.DESTROYER.v1.0.13-P2P\Zombie Destroyer_Data\Managed\Assembly-CSharp.dll
覆盖前请注意备份。
修改工具dnSpy,请用x64版本
2、修改方法,附件主要修改了以下内容,如何修改的,可以对比自己的文件和附件文件中的内容。
类PlayerDataManager
public static void AddEN(int cost)能量增加,修改倍率
public static void AddAI(float cost)心智点数增加,修改倍率
public static void init()每场战斗初始化数据,每秒增加数据的基础值在这里可以改
GunData
public bool AddExp(float _exp)武器经验增加,修改数值
public float chargeTime武器装弹时间。/100倍,加快一百倍
public int maxLv武器最大等级
public bool UpLv(bool isAddLvCost = true)武器升级时候增加的升级点数,*500倍
public int rank武器等级,重置武器等级最高
GunData.LevelData
public int rank武器升级技能等级
UI_TENAsset
public void AddTEN(int v, string msg)终端能量*1000倍
ChipDataManager
public static ChipData GetRandChip(int rank)外部数据的等级,锁定为rank5
LinkerData
public LinkAttrData(int slot)用IL指令修改Rank,link car的等级锁定为rank5

其他的,例如星图等级,card等级暂时没找到地方,上面的修改基本也够用了。


为了回复网友,我在1.0.14上重新测试了修改
PlayerDataManager类
1、AddEN
        public static void AddEN(int cost)
        {
                if (cost > 0)
                {
                        PlayerDataManager.en += (long)cost * 100L;
                }
                else
                {
                        PlayerDataManager.en += (long)cost;
                }
                if (PlayerDataManager.en < 0L)
                {
                        PlayerDataManager.en = 0L;
                }
                PlayerDataManager.tempEN = PlayerDataManager.en;
        }
2、AddAI
        public static void AddAI(float cost)
        {
                if (cost > 0f)
                {
                        PlayerDataManager.aiCost += cost * 100f;
                }
                else
                {
                        PlayerDataManager.aiCost += cost;
                }
                PlayerDataManager.tempAICost = PlayerDataManager.aiCost;
        }
3、init
        public static void init()
        {
                PlayerDataManager.gunSecExp = 100f;
                PlayerDataManager.enCostEXPlus += TechnologySaveDataManager.GetTechData(60);
                PlayerDataManager.aiCostEXPlus += TechnologySaveDataManager.GetTechData(61);
                PlayerDataManager.aiCostEXPlus += MemoryCardSaveData.GetEffectData("SEC_AI_COST");
                PlayerDataManager.gunSecExp += TechnologySaveDataManager.GetTechData(62) + 100f;
                PlayerDataManager.gunSecExp += MemoryCardSaveData.GetEffectData("SEC_EXP") + 100f;
                PlayerDataManager.secHpHeal += TechnologySaveDataManager.GetTechData(68) + 100f;
                PlayerDataManager.secHpHeal += MemoryCardSaveData.GetEffectData("SEC_HP_HEAL") + 100f;
        }
4、AddExp
        public static void AddExp(long exp)
        {
                PlayerDataManager.floatEXP += (float)exp * 100f * (TechnologySaveDataManager.GetTechData(66) + MemoryCardSaveData.GetEffectData("PLAYER_EXP"));
        }
GunData类
5、maxLv
        public int maxLv
        {
                get
                {
                        return 500 + this.rank * 2 + this.plusMaxLV + this.baseLv + num + this.techLv + this.cardLv + this.typeLv * 5;
                }
        }
6、UpLv,需要用IL指令
        if (isAddLvCost)
        {
                PlayerDataManager.lvCost += 500;
                float num = TechnologySaveDataManager.GetTechData(56) + MemoryCardSaveData.GetEffectData("GUN_UP_LV_COST");
                PlayerDataManager.lvCost += (int)num;
                num -= (float)((int)num);
                if ((float)Random.Range(0, 100) <= num * 100f)
                {
                        PlayerDataManager.lvCost++;
                }
        }
7、rank,get_rank()
public int get_rank()
{
        if (this.data.rank <= 4)
        {
                this.data.rank = 4;
        }
        return this.data.rank;
}
上面这种改法,会导致打完一盘后第二盘需要退出重开。也可以用下面的改法(附件dll中为上面的,请自行修改)
public int get_rank()
{
   
if (this.data.rank < 4 && this.data.rank >= 0)
   
{
        
return 4;
   
}
   
return this.data.rank;
}
8、GunData.LevelData类rank
                public int rank
                {
                        get
                        {
                                return this._rank.data;
                        }
                        set
                        {
                                if (value >= 4)
                                {
                                        this._rank.data = value;
                                        return;
                                }
                                this._rank.data = 4;
                        }
                }


GunData类
9、chargeTime:GunData.chargeTime,子弹重载时间,不是在BulletData类,之前搞错了

        public float chargeTime
        {
                get
                {
                        float num = this.bulletData._chargeTime;
                        float chargeTimePct = this.chargeTimePct;
                        num *= chargeTimePct / 100f;
                        if (this.gunType == 2 && num < 0.5f)
                        {
                                num = 0.5f;
                        }
                        if (num < 0.1f)
                        {
                                num = 0.1f;
                        }
                        return num;
                }
        }
UI_TENAsset类
10、AddTEN
        public void AddTEN(int v, string msg)
        {
                this.ten += v * 10000;
                PlayerSaveData.body.tCost += (long)v;
                this.assetText.text = "<sprite name=\"TCOST\">" + this.ten.ToString();
                if (msg != "")
                {
                        TextMeshProUGUI[] array = this.msgText;
                        for (int i = 0; i < array.Length; i++)
                        {
                                array.text = msg + v.ToString();
                        }
                        base.gameObject.GetComponent<Animation>().Play("TEN_ADD_ASSET_SHOW");
                }
        }
LinkerData类
11、public LinkAttrData(int slot),这个是记忆卡里面的link
需要IL指令把
27        003D        ldarg.0
28        003E        ldloc.1
29        003F        ldloc.0
30        0040        ldc.i4.1
31        0041        call        class [netstandard]System.Collections.Generic.List`1<!!0> MyMathf::GetRandVByRates<int32>(class [netstandard]System.Collections.Generic.List`1<!!0>, class [netstandard]System.Collections.Generic.List`1<float32>, int32)
32        0046        ldc.i4.0
33        0047        callvirt        instance !0 class [netstandard]System.Collections.Generic.List`1<int32>::get_Item(int32)
34        004C        stfld        int32 LinkerData/LinkAttrData::rank
改成
27        003D        ldarg.0
28        003E        ldc.i4.4
29        003F        stfld        int32 LinkerData/LinkAttrData::rank

12、结算能量(点星云那个)
UI_TENAsset类,100倍
        public void AddTEN(int v, string msg)
        {
                this.ten += v * 10000;
                PlayerSaveData.body.tCost += (long)v * 100;
        }
系统有检查作弊的,我初步看了一下,主要是跟这个ten关联,(我初步看了一下,不一定准确)
为了避免作弊被查出来,可以改这里
SCA_SkyBoxRoate类,需要用IL指令把ldc.i4.1改成ldc.i4.0就行
    private void Start()
   
{
                if (PlayerSaveData.body.tCost != 0L && PlayerSaveData.body.tCost - num >= 300000L)
               
{
                    
string text = "DIS:" + (num - PlayerSaveData.body.tCost).ToString() + "|";
                    
text = text + num.ToString() + "|" + PlayerSaveData.body.tCost.ToString();
                    
PlayerSaveData.body.isCheater = false;
                    
PlayerSaveData.body.cheaterLog = "GameManager.tempV|" + text + "|" + UI_Ver.ver;
                    
Debug.LogError("CHEATER");
               
}
注:这个结算修改不在dll中,避免不需要的朋友不小心被标记作弊
13、武器的云图技能倍率
CloadMapNode类,通过IL指令,修改的10倍基础倍率(红色),不要改太大,否则随便点一下云图,dpm就几万亿了
    public void UpAttrBase()
   
{
        
this.attrV = this.data.attrV;
        
this.attrV *= 10f + (float)(this.rank - this.data.minRank) * this.data.rankRate;
        
if (this.subData == null && this.id != 6 && this.id != 9)
        
{
            
this.attrV *= (float)this.actRate;
        
}

14、武器的云图的点数
UI_CloudMap类,改成每次使用减少1点(而不是减少倍率,也可以直接删除--,这样就是无限点数)
public void SetNode(Transform child, CloudMapNode data, bool isShow, bool isAct, bool isForbid)
{
        if (this.gunData.cloudMapCost >= this.cloudMap.actRate)
        
{
            
this.gunData.cloudMapCost--;
            
this.cloudMap.ActNode(data);
            
this.UpView();
            
return;
        
}





Assembly-CSharp.dll

1.1 MB, 下载次数: 351

1.0.13

Assembly-CSharp-1.0.14.dll

1.1 MB, 下载次数: 7

1.0.14

Assembly-CSharp-1.014-20230105.dll

1.1 MB, 下载次数: 19

1.0.14

评分

1

查看全部评分

回复

使用道具 举报

97

主题

7万

帖子

9万

积分

游戏之神

傷魚 迷の潜水员

Rank: 13Rank: 13Rank: 13Rank: 13

贡献度
2469
金元
843990
积分
94275
精华
0
注册时间
2009-2-4

STEAM勋章世界杯

舒服的沙发
发表于 2023-9-4 00:17 | 只看该作者
感谢分享啊
回复 支持 反对

使用道具 举报

0

主题

115

帖子

201

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2012
积分
201
精华
0
注册时间
2016-10-22
硬硬的板凳
发表于 2023-9-4 01:10 | 只看该作者
瞬间玩到底了
回复 支持 反对

使用道具 举报

8

主题

1258

帖子

1597

积分

游戏狂人

Rank: 6Rank: 6

贡献度
15
金元
15370
积分
1597
精华
0
注册时间
2010-9-13
冰凉的地板
 楼主| 发表于 2023-9-8 23:28 | 只看该作者

危险度到8开始,仍旧步履蹒跚
回复 支持 反对

使用道具 举报

0

主题

239

帖子

335

积分

高级玩家

Rank: 4

贡献度
0
金元
3351
积分
335
精华
0
注册时间
2010-6-19
5#
发表于 2023-9-14 14:56 | 只看该作者
谢谢!!谢谢!!谢谢!!谢谢!!真的感谢!
回复 支持 反对

使用道具 举报

2

主题

149

帖子

257

积分

高级玩家

Rank: 4

贡献度
0
金元
2569
积分
257
精华
0
注册时间
2019-1-26
6#
发表于 2023-9-17 01:22 | 只看该作者
卧槽!6666666666
回复 支持 反对

使用道具 举报

0

主题

14

帖子

76

积分

初级玩家

Rank: 2

贡献度
0
金元
760
积分
76
精华
0
注册时间
2016-1-29
7#
发表于 2024-2-3 16:12 | 只看该作者
888886666666666
回复 支持 反对

使用道具 举报

0

主题

155

帖子

238

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2380
积分
238
精华
0
注册时间
2016-10-5
8#
发表于 2024-3-9 11:13 | 只看该作者
怎么弄不会啊
回复 支持 反对

使用道具 举报

0

主题

24

帖子

36

积分

初级玩家

Rank: 2

贡献度
0
金元
358
积分
36
精华
0
注册时间
2020-10-15
9#
发表于 2024-5-3 12:48 | 只看该作者
6666666666666666666
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
10#
发表于 2024-6-9 22:33 | 只看该作者
有1.0.14的吗?
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
11#
发表于 2024-6-13 13:38 | 只看该作者
GunData.LevelData 这个类没找到呢?

1.0.14好像又改了不少代码  作者大佬真能折腾
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
12#
发表于 2024-6-13 13:40 | 只看该作者
dnSpy 不能整个搜索,找不到类就比较麻烦  

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
13#
发表于 2024-6-14 18:53 | 只看该作者
照着楼主的教程  大概弄了下  v1.0.14版的

比较BT  每次只能玩一局   第二局进去有bug 无法开始 无法点击武器

有大佬帮我看看吗


Assembly-CSharp-v1.7z

358.57 KB, 下载次数: 1

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
14#
发表于 2024-6-14 21:05 | 只看该作者
这个是改了加资源的  可以正常游戏 没有只能打一局的bug

但是没有武器锁定为rank5


啥都没改  都编译错误了
Random 改成UnityEngine.Random 的话   又跟第一版一样 有bug了  

Assembly-CSharp-v2.7z

358.9 KB, 下载次数: 3

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
15#
发表于 2024-6-14 21:06 | 只看该作者
mwq22 发表于 2024-6-14 21:05
这个是改了加资源的  可以正常游戏 没有只能打一局的bug

但是没有武器锁定为rank5
            this.id = MyMathf.GetRandVByRates<int>(list2, list, 1)[0];
            
this.attrType = -1;
            
this.minsAttrType = -1;
            
this.linkType = Random.Range(0, 6);
            
float num = Random.Range(this.data.rand[0], this.data.rand[1]);
            
this.attr = this.data.attrData + this.data.plusData * (float)this.rank * num;
            
num = Random.Range(0.75f, 1.25f);
            
this.minsAttr = (this.data.attrData + this.data.plusData * (float)this.rank) * 0.5f * num;
            
if (this.data.attrType == "RAND")
            
{


回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
16#
发表于 2024-6-15 14:58 | 只看该作者
本帖最后由 mwq22 于 2024-6-15 15:00 编辑

Random 改成UnityEngine.Random 了  

算是v1+   打完一局就要关闭程序 重启   



资源做了一些优化  开局资源增加  



终端数据库的东西合成后不会变   武器会变成绿色甚至白色  

武器培养还是要在v2版本上进行



Assembly-CSharp-v3.7z

358.57 KB, 下载次数: 3

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
17#
发表于 2024-6-15 15:50 | 只看该作者
本帖最后由 mwq22 于 2024-6-15 15:51 编辑

资源和经验再加大
让然是一局版


Assembly-CSharp-v3+.7z

358.57 KB, 下载次数: 5

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
18#
发表于 2024-6-18 13:12 | 只看该作者
本帖最后由 mwq22 于 2024-6-18 13:19 编辑

重新做了一个   没有锁定金色了   游戏可以正常玩的

不是一局版了

游戏 v1.0.14

因为增加了武器等级上限,后面挂机等武器升级太慢了  再次加大了经验加成

Assembly-CSharp-v4.7z

358.64 KB, 下载次数: 15

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
19#
发表于 2024-6-24 01:54 | 只看该作者
重新搞了下

外部数据可以锁定rank4了  金色

武器还是不行  



Assembly-CSharp-v5.7z

358.59 KB, 下载次数: 17

回复 支持 2 反对 0

使用道具 举报

1

主题

173

帖子

175

积分

中级玩家

Rank: 3Rank: 3

贡献度
1
金元
1705
积分
175
精华
0
注册时间
2010-10-20
20#
发表于 2024-7-7 08:58 | 只看该作者
感谢分享!
回复 支持 反对

使用道具 举报

8

主题

1258

帖子

1597

积分

游戏狂人

Rank: 6Rank: 6

贡献度
15
金元
15370
积分
1597
精华
0
注册时间
2010-9-13
21#
 楼主| 发表于 2024-7-7 10:08 | 只看该作者
mwq22 发表于 2024-6-14 21:05
这个是改了加资源的  可以正常游戏 没有只能打一局的bug

但是没有武器锁定为rank5

没法编译的地方需要用IL指令编译,不要置换函数
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
22#
发表于 2024-7-13 02:50 | 只看该作者
IL指令编译 好难  完全不会
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
23#
发表于 2024-7-13 02:51 | 只看该作者
feiyu_wind 发表于 2024-7-7 10:08
没法编译的地方需要用IL指令编译,不要置换函数

大佬能录个视频来解惑吗?

回复 支持 反对

使用道具 举报

8

主题

1258

帖子

1597

积分

游戏狂人

Rank: 6Rank: 6

贡献度
15
金元
15370
积分
1597
精华
0
注册时间
2010-9-13
24#
 楼主| 发表于 2024-7-24 13:21 | 只看该作者
mwq22 发表于 2024-7-13 02:51
大佬能录个视频来解惑吗?

这个就是另外意义的汇编语言,如果没有基础的话不是几句话能讲清楚的,如果有基础的话,去翻一下IL指令集就可以了。
所以,很抱歉,这个没法讲
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
25#
发表于 2024-7-24 22:42 | 只看该作者
feiyu_wind 发表于 2024-7-24 13:21
这个就是另外意义的汇编语言,如果没有基础的话不是几句话能讲清楚的,如果有基础的话,去翻一下IL指令集 ...

感谢回复
看来弄不了了   这个确实太复杂了


回复 支持 反对

使用道具 举报

1

主题

1800

帖子

2241

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
49
金元
20449
积分
2241
精华
0
注册时间
2007-12-8
26#
发表于 2024-11-1 07:40 | 只看该作者
感谢分享修改方法,看起来确实对游戏效果增强不少。希望有更多的技巧可以分享。
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
27#
发表于 2024-12-28 14:57 | 只看该作者
大佬能帮改一下1.0.14的文件吗
回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
28#
发表于 2025-1-1 01:28 | 只看该作者
public bool UpLv(bool isAddLvCost = true)武器升级时候增加的升级点数,*500倍





左边是楼主的数据  右边是1.0.14的原始数据

这个要怎么改呢?


回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
29#
发表于 2025-1-1 01:33 | 只看该作者
本帖最后由 mwq22 于 2025-1-1 01:40 编辑

public int rank 武器等级,重置武器等级最高
这个也变化较大
关键字有3处   第一处一样
第二处 第三处代码变化较大   不知道咋改了


GunData.LevelData 这个类也没有找到  

public int rank 还是只找到【类GunData】里面的3个

回复 支持 反对

使用道具 举报

3

主题

418

帖子

698

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
6978
积分
698
精华
0
注册时间
2012-5-30
30#
发表于 2025-1-1 02:48 | 只看该作者
本帖最后由 mwq22 于 2025-1-1 04:54 编辑

这次仔细的对照了
把能改的改了   最後一个改武器rank5也改成功了


除了上面这3个 改变较大 没改  其他都改到了
算是我改的目前为止,最好的一版了


Assembly-CSharp-v5.7z

358.51 KB, 下载次数: 4

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-13 07:36 , Processed in 0.037546 second(s), 21 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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