dybhkc 发表于 2022-6-12 21:30

本帖最后由 dybhkc 于 2022-6-12 21:32 编辑

dybhkc 发表于 2022-6-12 21:03
Menu_Dev_XP.CreateItems():把除了i++的所有++改成=5,完成开发,相关的变成5星
对了,如果想全部5星的话,可以在mainScript.WochenUpdates():最后加for (int k = 0; k < this.genres_.genres_LEVEL.Length; k++)
    {
      this.genres_.genres_LEVEL[k = 5;
    }
    for (int l = 0; l < this.themes_.themes_LEVEL.Length; l++)
    {
      this.themes_.themes_LEVEL[l = 5;
    }
    GameObject[] array2 = GameObject.FindGameObjectsWithTag("Platform");
    for (int m = 0; m < array2.Length; m++)
    {
      if (array2[m])
      {
            platformScript component3 = array2[m.GetComponent<platformScript>();
            if (component3 && component3.playerConsole && component3.isUnlocked)
            {
                component3.erfahrung = 5;
            }
      }
    }
    for (int n = 0; n < this.eF_.engineFeatures_LEVEL.Length; n++)
    {
      this.eF_.engineFeatures_LEVEL[n = 5;
    }
    for (int n2 = 0; n2 < this.gF_.gameplayFeatures_LEVEL.Length; n2++)
    {
      this.gF_.gameplayFeatures_LEVEL[n2 = 5;
    }


loveice5820 发表于 2022-6-12 21:51

dybhkc 发表于 2022-6-12 21:03
Menu_Dev_XP.CreateItems():把除了i++的所有++改成=5,完成开发,相关的变成5星

OK了 非常感谢

jing0287 发表于 2022-6-15 01:58

没创建游戏报告,也可以自动分配设计重点和游戏性这四项
这个修改那个目录 告知一下。谢谢


danke70 发表于 2022-6-15 02:55

{:3_123:}大佬,怎么扩大独占游戏对主机平台销量的影响?

danke70 发表于 2022-6-15 09:10

3DM现在搜索不到别人发的帖子了,大佬能把在其他帖子指导的地址发过来吗{:3_99:}

dybhkc 发表于 2022-6-15 17:46

jing0287 发表于 2022-6-15 01:58
没创建游戏报告,也可以自动分配设计重点和游戏性这四项
这个修改那个目录 告知一下。谢谢



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();



dybhkc 发表于 2022-6-15 18:02

danke70 发表于 2022-6-15 02:55
大佬,怎么扩大独占游戏对主机平台销量的影响?

platformScript.sellPlayer():
这段:
float num7 = num * 0.3f;
                        if (this.games_.arrayGamesScripts[l.herstellerExklusiv)
                        {
                            num7 = num * 0.15f;
                        }
                        num7 *= this.GetPriceAbzug();
                        float num8 = (float)Mathf.RoundToInt(UnityEngine.Random.Range((float)this.games_.arrayGamesScripts[l.sellsPerWeek[0 * 0.2f, (float)this.games_.arrayGamesScripts[l.sellsPerWeek[0 * 0.3f));
                        num8 = num8 / 100f * (130f - this.GetMarktanteil());
num7和num8这两个,都要改,后面会取其中小的,简单点改 例:在这段后面加上:
num7*=3;
num8*=3;

dybhkc 发表于 2022-6-15 18:07

danke70 发表于 2022-6-15 09:10
3DM现在搜索不到别人发的帖子了,大佬能把在其他帖子指导的地址发过来吗 ...

我就两个贴,除了这两没怎么在其它贴发言啊

danke70 发表于 2022-6-15 20:25

dybhkc 发表于 2022-6-15 18:07
我就两个贴,除了这两没怎么在其它贴发言啊

{:3_107:}好吧,感谢大佬分享

BIOZAHARD 发表于 2022-6-15 23:12

大佬你之前帖子的链接失效了,能补一下嘛,我想看看关于主机销量算法你是怎么改的。。我只会简单改倍率。。

dybhkc 发表于 2022-6-16 09:56

BIOZAHARD 发表于 2022-6-15 23:12
大佬你之前帖子的链接失效了,能补一下嘛,我想看看关于主机销量算法你是怎么改的。。我只会简单改倍率。。 ...

主要的修改就在这一段,其它也是改点数值
增加支持该游戏机的游戏对销量的影响 :
                        if (this.games_.arrayGamesScripts && this.games_.arrayGamesScripts.isOnMarket)
                        {
                                for (int m = 0; m < this.games_.arrayGamesScripts.gamePlatform.Length; m++)
                                {
                                        if (this.games_.arrayGamesScripts.gamePlatform == this.myID)
                                        {
                                                //游戏销量 对游戏给游戏机带来的销量的影响
                                                float num8;
                                                if (this.games_.arrayGamesScripts.exklusiv || this.games_.arrayGamesScripts.herstellerExklusiv)
                                                {
                                                        num8 = (float)Mathf.RoundToInt(UnityEngine.Random.Range((float)this.games_.arrayGamesScripts.sellsPerWeek * 0.16f, (float)this.games_.arrayGamesScripts.sellsPerWeek * 0.2f));
                                                }
                                                else
                                                {
                                                        num8 = (float)Mathf.RoundToInt(UnityEngine.Random.Range((float)this.games_.arrayGamesScripts.sellsPerWeek * 0.04f, (float)this.games_.arrayGamesScripts.sellsPerWeek * 0.08f));
                                                }
                                                num8 *= this.GetPriceAbzug();//游戏机价格对 游戏给游戏机带来的销量的影响
                                                num8 *= 1f + this.GetTechDifference() * 0.03f;//游戏机技术水平对 游戏给游戏机带来的销量的影响
                                                if (num8 > (float)this.games_.arrayGamesScripts.sellsPerWeek)
                                                {
                                                        num8 = (float)this.games_.arrayGamesScripts.sellsPerWeek;
                                                }
                                                if (this.games_.arrayGamesScripts.exklusiv || this.games_.arrayGamesScripts.herstellerExklusiv)
                                                {
                                                        this.games_.arrayGamesScripts.exklusivKonsolenSells += (long)Mathf.RoundToInt(num8);
                                                }
                                                if ((int)num + (int)num8 + this.units >= 2147483647)
                                                {
                                                        num = (float)(int.MaxValue - this.units);
                                                       
                                                        if ((float)(2147483647 - this.units) - num > 0f)
                                                        {
                                                                num8 = (float)(int.MaxValue - this.units) - num;
                                                        }
                                                        else
                                                        {
                                                                num8 = 0f;
                                                        }
                                                }
                                                else
                                                {
                                                        num += num8;
                                                }
                                                if (this.mS_.multiplayer)
                                                {
                                                        if (this.mS_.mpCalls_.isServer)
                                                        {
                                                                this.mS_.mpCalls_.SERVER_Send_ExklusivKonsolenSells(this.games_.arrayGamesScripts, (long)Mathf.RoundToInt(num8));
                                                        }
                                                        if (this.mS_.mpCalls_.isClient)
                                                        {
                                                                this.mS_.mpCalls_.CLIENT_Send_ExklusivKonsolenSells(this.games_.arrayGamesScripts, (long)Mathf.RoundToInt(num8));
                                                        }
                                                }
                                        }
                                }
                        }
上面把第一个if里独占的条件去了,然后原来游戏是是有两个数,一个是游戏机最新一周销量的一部分,一个是该游戏最新一周销量的一部分,再取小的一个,
我就直接把第一个数去了,独占和非独占根据不同的比率取该游戏最新一周销量的一部分,
明显的结果就是增加了非独占游戏对游戏机销量的影响,当然这样会有一个问题,本来游戏机的市场份额会加游戏的销量,加上非独占也能加游戏机的销量,
也就是说所有游戏游戏机都有一个正反馈,两者销量都直接起飞

BIOZAHARD 发表于 2022-6-16 13:18

dybhkc 发表于 2022-6-16 09:56
主要的修改就在这一段,其它也是改点数值
增加支持该游戏机的游戏对销量的影响 :
                        if (this.games_.arr ...

这样啊,感谢

danke70 发表于 2022-6-16 22:41

{:3_101:}大佬如何修改子公司的行政成本呢?

dybhkc 发表于 2022-6-16 23:20

danke70 发表于 2022-6-16 22:41
大佬如何修改子公司的行政成本呢?

267楼有

loveice5820 发表于 2022-6-17 09:55

大佬,想问一下,游戏发售前宣传游戏,可以制造游戏热点,把100热点变成200,有时候失败有时候成功,怎么调整到必定成功或者提高成功率

dybhkc 发表于 2022-6-17 13:32

loveice5820 发表于 2022-6-17 09:55
大佬,想问一下,游戏发售前宣传游戏,可以制造游戏热点,把100热点变成200,有时候失败有时候成功,怎么调 ...

Menu_Result_MarketingSpezial.Init(gameScript gS_, int kampagne):
里面case1-case4对应五个其它营销
case2就是200热度的,case2里面的 if (UnityEngine.Random.Range(0, 100) > 50)
[0,100)选择一个数,>50,就是1/2的概率,改成>=0就是百分百,>10大概是9/10

loveice5820 发表于 2022-6-17 14:25

dybhkc 发表于 2022-6-17 13:32
Menu_Result_MarketingSpezial.Init(gameScript gS_, int kampagne):
里面case1-case4对应五个其它营销
c ...

感谢可能是版本的问题我把大于号改成小于号 就对了下面那个IF里才是变成200

danke70 发表于 2022-6-17 16:43

dybhkc 发表于 2022-6-16 23:20
267楼有

{:3_104:}看到了麻烦大佬了,最后一个想问的问题是如何把授权许可证的次数增加?

dybhkc 发表于 2022-6-17 17:55

loveice5820 发表于 2022-6-17 14:25
感谢可能是版本的问题我把大于号改成小于号 就对了下面那个IF里才是变成200
...

呃,是我整错了,上面那个if是直接返回的,也就是失败的概率,没进这个if,就往下执行,变200

dybhkc 发表于 2022-6-17 18:25

danke70 发表于 2022-6-17 16:43
看到了麻烦大佬了,最后一个想问的问题是如何把授权许可证的次数增加?
...
licences.LizenzenUpdaten():
看了下里面的逻辑,不是很明白,所以直接在最后改好了,
最后加上:
for (int m = 0; m < this.licence_ANGEBOT.Length; m++)
    {
      this.licence_ANGEBOT*= 10;
    }
就是变10倍,这个只要等下一周就会改

danke70 发表于 2022-6-17 19:36

dybhkc 发表于 2022-6-17 18:25
licences.LizenzenUpdaten():
看了下里面的逻辑,不是很明白,所以直接在最后改好了,
最后加上:


{:3_121:}太强了,未来顶尖程序员

danke70 发表于 2022-6-17 22:59

dybhkc 发表于 2022-6-17 18:25
licences.LizenzenUpdaten():
看了下里面的逻辑,不是很明白,所以直接在最后改好了,
最后加上:


{:3_114:}刚刚试了一下,加上了后授权会一直10倍的增加,到后面一个授权能授权几十万次

dybhkc 发表于 2022-6-18 01:24

danke70 发表于 2022-6-17 22:59
刚刚试了一下,加上了后授权会一直10倍的增加,到后面一个授权能授权几十万次
...

是我疏忽了,也没怎么测试,加个判断好了for (int m = 0; m < this.licence_ANGEBOT.Length; m++)
    {
if(this.licence_ANGBOT<10)
      this.licence_ANGEBOT*= 10;
    }
这样最多不超过100

dybhkc 发表于 2022-6-18 01:33

danke70 发表于 2022-6-17 19:36
太强了,未来顶尖程序员

没有没有,就是菜鸡一个

1569442571 发表于 2022-6-18 17:41

dybhkc 发表于 2022-2-8 22:47
呃。。这个我没改过
不过要改游戏库存的话可以这样:
在gamescript:


大佬,请问这个应该添加在第几行啊?是第四行的括号里吗?

1569442571 发表于 2022-6-18 18:37

大佬,再请教一个问题,目前游戏里的许可证出现机制是从他第一次出现的年份到最后随机出现,比如1976年出现的书可能会在(1976~20xx)中随机一年出现,请问能不能改一下这个机制,让这个许可证变成某一年必出啊?这个我找到了licences类型但是不清楚里面要怎么去改...

dybhkc 发表于 2022-6-18 21:26

1569442571 发表于 2022-6-18 18:37
大佬,再请教一个问题,目前游戏里的许可证出现机制是从他第一次出现的年份到最后随机出现,比如1976年出现 ...

原本游戏中是没有许可证时间的,许可证在Mad Games Tycoon 2_Data\Extern\Text\DATA\Licence.txt里面,
这个文件里每一行就是一个,结构是名字[类型][热度]并没有时间,所以在游戏中出现是随机的

dybhkc 发表于 2022-6-18 21:40

本帖最后由 dybhkc 于 2022-6-18 22:24 编辑

dybhkc 发表于 2022-6-18 21:26
原本游戏中是没有许可证时间的,许可证在Mad Games Tycoon 2_Data\Extern\Text\DATA\Licence.txt里面,
这 ...
但是呢,可以把时间加上去,通过改代码+改文件
实现:
首先找到licence类,右键类名,选择 【添加类成员(c#)...】
然后在大括号里加上:
private int[] licence_years;
private int[] licence_months;
点编译
再 LoadLicences(string filename):
在for (int i = 0; i < this.data.Length; i++)
    {下面加:
if(!this.data[i.Contains("|"))continue;
                  string[] ym = this.data[i.Substring(this.data[i.LastIndexOf('|') + 1).Split(new char[]
                  {
                        '.'
                  });
                  this.data[i = this.data[i.Remove(this.data[i.LastIndexOf('|'));
                  this.licence_years[i = Convert.ToInt32(ym[0]);
                  this.licence_months[i = Convert.ToInt32(ym[1]);
LizenzenUpdaten():


把里面的全删了,换成:
if (this.mS_.multiplayer && this.mS_.mpCalls_.isClient)
    {
      return;
    }
    if (this.mS_.globalEvent == 10)
    {
      return;
    }
    for (int i = 0; i < this.licence_ANGEBOT.Length; i++)
    {
      if (this.licence_ANGEBOT[i == 0 && this.licence_GEKAUFT[i == 0 && this.mS_.year >= this.licence_years[i && this.mS_.month >= this.licence_months[i])
      {
            this.licence_ANGEBOT[i = UnityEngine.Random.Range(1, 16);
            if (this.mS_.multiplayer && this.mS_.mpCalls_.isServer)
            {
                this.mS_.mpCalls_.SERVER_Send_Lizenz(i);
            }
      }
    }
最后是改文件Mad Games Tycoon 2_Data\Extern\Text\DATA\Licence.txt
每一行是一个许可证结构:名字[类型][热度]|年.月
例: 西游记|1976.2   那么这个许可在1976 2月 2周就会出现
[类型]:MOVIE,BOOK,SPORT 三种
[热度]:1-10(含1,10)
类型和热度都可省略,且两个的顺序可调
|是英文的,回车上面那个键
年和月用英文的.分隔
|后面不能有空格
注意,直接把代码复制过来会少] ,[]必是成对出现,记得加上,就像上面的是
新档可用


1569442571 发表于 2022-6-18 23:15

dybhkc 发表于 2022-6-18 21:40
但是呢,可以把时间加上去,通过改代码+改文件
实现:
首先找到licence类,右键类名,选择 【添加类成员(c#)... ...

太太太感谢大佬了orz,还有就是我上面发的那个,我不太清楚这个要加在哪一行~

在gamescript:
      的sellGame():
最开头加上:    this.lagerbestand = 3000000;
    this.lagerbestand= 3000000;
    this.lagerbestand= 3000000;
3000000就是库存数量,随便改
每次一销售,库存就会变为3000000


就这个,不太清楚在方法的哪一行添加,最开头是指第一个大括号里吗?

dybhkc 发表于 2022-6-18 23:31

1569442571 发表于 2022-6-18 23:15
太太太感谢大佬了orz,还有就是我上面发的那个,我不太清楚这个要加在哪一行~

在gamescript:


是         
页: 1 2 3 4 5 6 7 8 9 [10] 11 12 13 14 15 16 17 18 19
查看完整版本: 【修改教程】萌新的小修改教程