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

注册 登录

QQ登录

只需一步,快速开始

查看: 67162|回复: 2001
打印 上一主题 下一主题

[攻略] 【修改教程】萌新的小修改教程

  [复制链接]

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
跳转到指定楼层
主题
发表于 2022-2-3 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yellowottomany 于 2022-7-26 19:48 编辑

萌新开个贴说一下自己的小修改
游客,如果您要查看本帖隐藏内容请回复



评分

1

查看全部评分

回复

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
来自 129#
 楼主| 发表于 2022-2-26 20:51 | 只看该作者
本帖最后由 dybhkc 于 2022-2-26 21:00 编辑

(方便没修改过的,大佬请无视)
修改代码:
工具:dnSpy
dnSpy打开游戏目录下的\Mad Games Tycoon 2_Data\Managed\Assembly-CSharp.dll,如下图:
下接129楼

本帖子中包含更多资源

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

x
回复 支持 1 反对 0

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
舒服的沙发
 楼主| 发表于 2022-2-3 17:10 | 只看该作者
合适的子类型组合青色显示:
menu_devgame_genres:
        setdata():
                if (this.genres_.IsGenreCombination(this.mDevGame_.g_GameMainGenre, i) && g != 0)
                        {
                                gameObject.GetComponent<Image>().color = Color.cyan;
                        }
把这个加到这个方法下面的for里面
回复 支持 0 反对 1

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
硬硬的板凳
 楼主| 发表于 2022-2-3 17:13 | 只看该作者
本帖最后由 dybhkc 于 2022-6-15 17:51 编辑

3直接显示适合的主题Menu_DevGame_Theme类的FitGenre(int theme_)方法

if (num != -1)
        {
                int i = 0;
                while (i < this.games_.arrayGamesScripts.Length)
                {
                        if (this.games_.arrayGamesScripts && this.games_.arrayGamesScripts.spielbericht && this.games_.arrayGamesScripts.maingenre == num && (this.games_.arrayGamesScripts.playerGame || this.games_.arrayGamesScripts.IsMyAuftragsspiel()) && (this.games_.arrayGamesScripts.gameMainTheme == theme_ || this.games_.arrayGamesScripts.gameSubTheme == theme_))
                        {
                                if (this.themes_.IsThemesFitWithGenre(theme_, num))
                                {
                                        return 1;
                                }
                                return -1;
                        }
                        else
                        {
                                i++;
                        }
                }
        }
        return 0;
改成
if (num == -1)
        {
                return 0;
        }
        if (this.themes_.IsThemesFitWithGenre(theme_, num))
        {
                return 1;
        }
        return -1;


评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
冰凉的地板
 楼主| 发表于 2022-2-3 17:16 | 只看该作者
本帖最后由 dybhkc 于 2022-6-15 17:51 编辑

4不用创建游戏报告就能自动分配 和 游戏性等四项自动分配
Menu_DevGame.BUTTON_AutoDesignSettings():
先 去除自动分配设计重点限制:
把if (this.g_GameMainGenre != -1 && this.genres_.GetFocusKnown(i, this.g_GameMainGenre, this.g_GameSubGenre))和
if (this.g_GameMainGenre != -1 && this.genres_.GetAlignKnown(j, this.g_GameMainGenre, this.g_GameSubGenre))这两句删了
再在最下面加上游戏性等四项的自动分配:
genres component = this.main_.GetComponent<genres>();
                this.uiObjects[97].GetComponent<Slider>().value = component.genres_GAMEPLAY[this.g_GameMainGenre]/5;
                this.uiObjects[98].GetComponent<Slider>().value = component.genres_GRAPHIC[this.g_GameMainGenre]/5;
                this.uiObjects[99].GetComponent<Slider>().value = component.genres_SOUND[this.g_GameMainGenre]/5;
                this.uiObjects[100].GetComponent<Slider>().value = component.genres_CONTROL[this.g_GameMainGenre]/5;
                SetAP_Gameplay();
                SetAP_Grafik();
                SetAP_Sound();
                SetAP_Technik();

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
5#
 楼主| 发表于 2022-2-3 17:24 | 只看该作者
@mmmsss123
回复 支持 反对

使用道具 举报

2

主题

122

帖子

188

积分

中级玩家

Rank: 3Rank: 3

贡献度
1
金元
1836
积分
188
精华
0
注册时间
2009-3-14
6#
发表于 2022-2-3 20:18 | 只看该作者
谢谢谢谢!!!!我先试试看
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
7#
发表于 2022-2-4 11:44 | 只看该作者
dybhkc 发表于 2022-2-3 17:10
合适的子类型组合青色显示:
menu_devgame_genres:
        setdata():

大佬,加在哪个派生类型中?
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
8#
发表于 2022-2-4 11:47 | 只看该作者
dybhkc 发表于 2022-2-3 17:16
游戏性,画面这四项自动选择:
Menu_DevGame:
        BUTTON_AutoDesignSettings():

// Menu_DevGame
// Token: 0x04000D1F RID: 3359
public string g_Beschreibung = "";
// Token: 0x04000D22 RID: 3362
public int g_GameZielgruppe = 4;
// Token: 0x04000D27 RID: 3367
public int g_GameLicence = -1;
// Token: 0x04000D28 RID: 3368
public int g_GameEngine = -1;
// Token: 0x04000D2A RID: 3370
public int g_mainIP = -1;
// Token: 0x04000D2B RID: 3371
public int g_originalIP = -1;
// Token: 0x04000D2C RID: 3372
public int g_portIP = -1;
// Token: 0x04000D2D RID: 3373
public int g_teil = 1;
// Token: 0x04000D30 RID: 3376
public int g_GameCopyProtect = -1;
// Token: 0x04000D32 RID: 3378
public int g_GameAntiCheat = -1;
// Token: 0x04000D5C RID: 3420
private string orignal_name = "";
// Token: 0x04000D5F RID: 3423
private string searchStringA = "";
// Token: 0x06000910 RID: 2320 RVA: 0x0006405C File Offset: 0x0006225C
public Menu_DevGame()
{
}
显示主题条件是哪个?
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
9#
 楼主| 发表于 2022-2-4 11:59 | 只看该作者
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?

这个可以把那个updategui()方法里面的东西都删了,再把这段加上去
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
10#
 楼主| 发表于 2022-2-4 12:00 | 只看该作者
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?

不是,刚才看错了
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
11#
 楼主| 发表于 2022-2-4 12:02 | 只看该作者
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?

setdata最下面有个for循环,加到for里最下面的if下面
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
12#
 楼主| 发表于 2022-2-4 12:03 | 只看该作者
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?

setdata最下面有个for循环,加到for里最下面的if
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
13#
 楼主| 发表于 2022-2-4 12:21 | 只看该作者
下午细
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
14#
 楼主| 发表于 2022-2-4 12:22 | 只看该作者

下午细说
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
15#
 楼主| 发表于 2022-2-4 13:44 | 只看该作者
现在细说
首先,基于2022.1.17版本修改,但其它版本相差应该不大,毕竟是基本玩法,大概也能用。真实补丁什么的应该也能套用(没玩过,不能的话请无视)
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
16#
 楼主| 发表于 2022-2-4 13:48 | 只看该作者
1.目标人群青色显示
menu_devgame_zielgruppe这个类的
        updateUI()方法
把这段删了:
this.uiObjects[1].GetComponent<Image>().color = Color.white;
        this.uiObjects[2].GetComponent<Image>().color = Color.white;
        this.uiObjects[3].GetComponent<Image>().color = Color.white;
        this.uiObjects[4].GetComponent<Image>().color = Color.white;
        this.uiObjects[5].GetComponent<Image>().color = Color.white;

换成这段:
genres component = this.main_.GetComponent<genres>();
                for (int i = 0; i < 5; i++)
                {
                        this.uiObjects[i + 1].GetComponent<Image>().color = (component.genres_TARGETGROUP[this.mDevGame_.g_GameMainGenre, i] ? Color.cyan : Color.white);
                }

评分

1

查看全部评分

回复 支持 1 反对 0

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
17#
 楼主| 发表于 2022-2-4 13:50 | 只看该作者
2.合适的子类型组合青色显示:
menu_devgame_genres:这个类的
        setdata():方法

if (i == this.mDevGame_.g_GameSubGenre || i == this.mDevGame_.g_GameMainGenre)
                        {
                                gameObject.GetComponent<Button>().interactable = false;
                        }
在这段下面加上:
if (this.genres_.IsGenreCombination(this.mDevGame_.g_GameMainGenre, i) && g != 0)
                        {
                                gameObject.GetComponent<Image>().color = Color.cyan;
                        }

评分

1

查看全部评分

回复 支持 1 反对 2

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
18#
 楼主| 发表于 2022-2-4 13:54 | 只看该作者
本帖最后由 dybhkc 于 2022-2-4 18:45 编辑

3.去除自动分配设计重点限制
Menu_DevGame类的BUTTON_AutoDesignSettings()方法
把if (this.g_GameMainGenre != -1 && this.genres_.GetFocusKnown(i, this.g_GameMainGenre, this.g_GameSubGenre))和
if (this.g_GameMainGenre != -1 && this.genres_.GetAlignKnown(j, this.g_GameMainGenre, this.g_GameSubGenre))这两句删了,大括号里的别删嗷

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
19#
 楼主| 发表于 2022-2-4 13:56 | 只看该作者
4游戏性,画面这四项自动选择:
还是上面那里,在this.UpdateDesignSettings();上面加上:
genres component = this.main_.GetComponent<genres>();
        this.uiObjects[97].GetComponent<Slider>().value = component.genres_GAMEPLAY[this.g_GameMainGenre] / 5f;
        this.uiObjects[98].GetComponent<Slider>().value = component.genres_GRAPHIC[this.g_GameMainGenre] / 5f;
        this.uiObjects[99].GetComponent<Slider>().value = component.genres_SOUND[this.g_GameMainGenre] / 5f;
        this.uiObjects[100].GetComponent<Slider>().value = component.genres_CONTROL[this.g_GameMainGenre] / 5f;
        this.SetAP_Gameplay();
        this.SetAP_Grafik();
        this.SetAP_Sound();
        this.SetAP_Technik();

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
20#
 楼主| 发表于 2022-2-4 14:06 | 只看该作者
本帖最后由 dybhkc 于 2022-2-4 19:39 编辑

写完了,一些基本的修改,仅供参考,虽然也没人看

回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
21#
发表于 2022-2-4 17:36 | 只看该作者
dybhkc 发表于 2022-2-4 13:48
1.目标人群青色显示
menu_devgame_zielgruppe这个类的
        updateUI()方法

亲测有效!!!
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
22#
发表于 2022-2-4 17:48 | 只看该作者
dybhkc 发表于 2022-2-4 13:50
2.合适的子类型组合青色显示:
menu_devgame_genres:这个类的
        setdata():方法

亲测有效!!!
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
23#
 楼主| 发表于 2022-2-4 18:05 | 只看该作者
肯定有效啊,都在我另一个贴子里的修改文件用过的
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
24#
发表于 2022-2-4 18:11 | 只看该作者
大佬有新技能还望分享,很强!!!
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
25#
发表于 2022-2-4 18:27 | 只看该作者
dybhkc 发表于 2022-2-4 13:54
3.直接显示适合的主题
Menu_DevGame类的BUTTON_AutoDesignSettings()方法
把if (this.g_GameMainGenre != - ...

这条好像无法显示适合的主题,适合主题颜色会变青色吗?好像是和设计点有关!
回复 支持 反对

使用道具 举报

0

主题

27

帖子

92

积分

初级玩家

Rank: 2

贡献度
0
金元
920
积分
92
精华
0
注册时间
2011-9-4
26#
发表于 2022-2-4 18:30 | 只看该作者
本帖最后由 avprince 于 2022-2-4 18:33 编辑

如果任何制作都做到极致 你会发现 游戏评分大多都是98分 这是因为程序就已经规定了 如果游戏超过98分 99 100完全4% 2%概率问题 所以如果想增多点99 100评分改法如下
目录GAMESCRIPT 关键词Review CalcReview
方法public void CalcReview(bool entwicklungsbericht) 1867行左右 AI和玩家的共用代码段
if (num6 >= 98f)
                {
                        num6 = 98f;
                        if (global::UnityEngine.Random.Range(0, 25) == 1)
                        {
                                num6 = 99f;
                        }
                        if (global::UnityEngine.Random.Range(0, 50) == 1)
                        {
                                num6 = 100f;
                        }
                }
if (num6 >= 98f)  NUM6就是总评分 判定如果超过或者等于98分 则是从0-25 0-50里面随机一个数等于1 1/25 1/50 概率 所以在这段程序里面加上后面的红色代码 让游戏99和满分概率增加
if (num6 >= 98f)
        {
            num6 = 98f;
            if (global::UnityEngine.Random.Range(0, 25) == 1)
            {
                num6 = 99f;
            }
            if (global::UnityEngine.Random.Range(0, 50) == 1)
            {
                num6 = 100f;
            }
            if (this.playerGame)
            {
                if (global::UnityEngine.Random.Range(0, 10) > 5)
                {
                    num6 = 99f;
                }
                if (global::UnityEngine.Random.Range(0, 10) > 5)
                {
                    num6 = 100f;
                }
            }
        }

0-10随机抽出大于5的概率 5/10
想要多少概率可以自己改>后面的数字
!!!这条代码应该怎么修改让我超过95分就直接是100分!电脑要随机!!!
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
27#
 楼主| 发表于 2022-2-4 18:44 | 只看该作者
avprince 发表于 2022-2-4 18:27
这条好像无法显示适合的主题,适合主题颜色会变青色吗?好像是和设计点有关!
...

是我写错了,这个是去除自动分配设计重点限制的
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
28#
 楼主| 发表于 2022-2-4 19:01 | 只看该作者
5.直接显示合适的主题
Menu_DevGame_Theme类的FitGenre(int theme_)方法

if (num != -1)
        {
                int i = 0;
                while (i < this.games_.arrayGamesScripts.Length)
                {
                        if (this.games_.arrayGamesScripts[i] && this.games_.arrayGamesScripts[i].spielbericht && this.games_.arrayGamesScripts[i].maingenre == num && (this.games_.arrayGamesScripts[i].playerGame || this.games_.arrayGamesScripts[i].IsMyAuftragsspiel()) && (this.games_.arrayGamesScripts[i].gameMainTheme == theme_ || this.games_.arrayGamesScripts[i].gameSubTheme == theme_))
                        {
                                if (this.themes_.IsThemesFitWithGenre(theme_, num))
                                {
                                        return 1;
                                }
                                return -1;
                        }
                        else
                        {
                                i++;
                        }
                }
        }
        return 0;
改成
if (num == -1)
        {
                return 0;
        }
        if (this.themes_.IsThemesFitWithGenre(theme_, num))
        {
                return 1;
        }
        return -1;
实际上就是把条件删了

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
29#
 楼主| 发表于 2022-2-4 19:04 | 只看该作者
avprince 发表于 2022-2-4 18:30
如果任何制作都做到极致 你会发现 游戏评分大多都是98分 这是因为程序就已经规定了 如果游戏超过98分 99 10 ...

改个锤子,直接删了

if (num6 >= 98f)
   
{
        
num6 = 98f;
        
if (UnityEngine.Random.Range(0, 25) == 1)
        
{
            
num6 = 99f;
        
}
        
if (UnityEngine.Random.Range(0, 50) == 1)
        
{
            
num6 = 100f;
        
}
   
}
   
if (num2 >= 98f)
   
{
        
num2 = 98f;
        
if (UnityEngine.Random.Range(0, 10) == 1)
        
{
            
num2 = 99f;
        
}
        
if (UnityEngine.Random.Range(0, 25) == 1)
        
{
            
num2 = 100f;
        
}
   
}
   
if (num3 >= 98f)
   
{
        
num3 = 98f;
        
if (UnityEngine.Random.Range(0, 10) == 1)
        
{
            
num3 = 99f;
        
}
        
if (UnityEngine.Random.Range(0, 25) == 1)
        
{
            
num3 = 100f;
        
}
   
}
   
if (num4 >= 98f)
   
{
        
num4 = 98f;
        
if (UnityEngine.Random.Range(0, 10) == 1)
        
{
            
num4 = 99f;
        
}
        
if (UnityEngine.Random.Range(0, 25) == 1)
        
{
            
num4 = 100f;
        
}
   
}
   
if (num5 >= 98f)
   
{
        
num5 = 98f;
        
if (UnityEngine.Random.Range(0, 10) == 1)
        
{
            
num5 = 99f;
        
}
        
if (UnityEngine.Random.Range(0, 25) == 1)
        
{
            
num5 = 100f;
        
}
   
}
这些全删了就行

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
30#
 楼主| 发表于 2022-2-4 19:05 | 只看该作者
该多少分多少分,后面有超100分的限制

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-7 20:02 , Processed in 0.184413 second(s), 18 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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