【修改教程】萌新的小修改教程
本帖最后由 yellowottomany 于 2022-7-26 19:48 编辑萌新开个贴说一下自己的小修改
**** Hidden Message *****
本帖最后由 dybhkc 于 2022-2-26 21:00 编辑
(方便没修改过的,大佬请无视)修改代码:工具:dnSpy用dnSpy打开游戏目录下的\Mad Games Tycoon 2_Data\Managed\Assembly-CSharp.dll,如下图:下接129楼
合适的子类型组合青色显示:
menu_devgame_genres:
setdata():
if (this.genres_.IsGenreCombination(this.mDevGame_.g_GameMainGenre, i) && g != 0)
{
gameObject.GetComponent<Image>().color = Color.cyan;
}
把这个加到这个方法下面的for里面 本帖最后由 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;
本帖最后由 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.GetComponent<Slider>().value = component.genres_GAMEPLAY/5;
this.uiObjects.GetComponent<Slider>().value = component.genres_GRAPHIC/5;
this.uiObjects.GetComponent<Slider>().value = component.genres_SOUND/5;
this.uiObjects.GetComponent<Slider>().value = component.genres_CONTROL/5;
SetAP_Gameplay();
SetAP_Grafik();
SetAP_Sound();
SetAP_Technik(); @mmmsss123 谢谢谢谢!!!!我先试试看 dybhkc 发表于 2022-2-3 17:10
合适的子类型组合青色显示:
menu_devgame_genres:
setdata():
大佬,加在哪个派生类型中?
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()
{
}
显示主题条件是哪个?
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?
这个可以把那个updategui()方法里面的东西都删了,再把这段加上去 avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?
不是,刚才看错了
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?
setdata最下面有个for循环,加到for里最下面的if下面
avprince 发表于 2022-2-4 11:44
大佬,加在哪个派生类型中?
setdata最下面有个for循环,加到for里最下面的if 下午细 dybhkc 发表于 2022-2-4 12:21
下午细
下午细说
现在细说
首先,基于2022.1.17版本修改,但其它版本相差应该不大,毕竟是基本玩法,大概也能用。真实补丁什么的应该也能套用(没玩过,不能的话请无视) 1.目标人群青色显示
menu_devgame_zielgruppe这个类的
updateUI()方法
把这段删了:
this.uiObjects.GetComponent<Image>().color = Color.white;
this.uiObjects.GetComponent<Image>().color = Color.white;
this.uiObjects.GetComponent<Image>().color = Color.white;
this.uiObjects.GetComponent<Image>().color = Color.white;
this.uiObjects.GetComponent<Image>().color = Color.white;
换成这段:
genres component = this.main_.GetComponent<genres>();
for (int i = 0; i < 5; i++)
{
this.uiObjects.GetComponent<Image>().color = (component.genres_TARGETGROUP ? Color.cyan : Color.white);
}
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;
}
本帖最后由 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))这两句删了,大括号里的别删嗷
4游戏性,画面这四项自动选择:
还是上面那里,在this.UpdateDesignSettings();上面加上:
genres component = this.main_.GetComponent<genres>();
this.uiObjects.GetComponent<Slider>().value = component.genres_GAMEPLAY / 5f;
this.uiObjects.GetComponent<Slider>().value = component.genres_GRAPHIC / 5f;
this.uiObjects.GetComponent<Slider>().value = component.genres_SOUND / 5f;
this.uiObjects.GetComponent<Slider>().value = component.genres_CONTROL / 5f;
this.SetAP_Gameplay();
this.SetAP_Grafik();
this.SetAP_Sound();
this.SetAP_Technik(); 本帖最后由 dybhkc 于 2022-2-4 19:39 编辑
写完了,一些基本的修改,仅供参考,虽然也没人看
dybhkc 发表于 2022-2-4 13:48
1.目标人群青色显示
menu_devgame_zielgruppe这个类的
updateUI()方法
亲测有效!!! dybhkc 发表于 2022-2-4 13:50
2.合适的子类型组合青色显示:
menu_devgame_genres:这个类的
setdata():方法
亲测有效!!!
肯定有效啊,都在我另一个贴子里的修改文件用过的 大佬有新技能还望分享,很强!!! dybhkc 发表于 2022-2-4 13:54
3.直接显示适合的主题
Menu_DevGame类的BUTTON_AutoDesignSettings()方法
把if (this.g_GameMainGenre != - ...
这条好像无法显示适合的主题,适合主题颜色会变青色吗?好像是和设计点有关!
本帖最后由 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分!电脑要随机!!! avprince 发表于 2022-2-4 18:27
这条好像无法显示适合的主题,适合主题颜色会变青色吗?好像是和设计点有关!
...
是我写错了,这个是去除自动分配设计重点限制的
5.直接显示合适的主题
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;
实际上就是把条件删了 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;
}
}
这些全删了就行
该多少分多少分,后面有超100分的限制