hongyu7998 发表于 2022-3-1 19:18

本帖最后由 hongyu7998 于 2022-3-2 10:06 编辑

我自己搞错了,抱歉,又没找到删回复的地方

yuxiayou 发表于 2022-3-3 13:46

dybhkc 发表于 2022-2-8 19:33
就是characterScript类的GetWorkSpeed()方法
if (this.krank > 0)
    {


更新后这个用不了啊 大佬

yuxiayou 发表于 2022-3-3 13:47

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


这个也用不了

yuxiayou 发表于 2022-3-3 13:58

dybhkc 发表于 2022-2-3 17:10
合适的子类型组合青色显示:
menu_devgame_genres:
        setdata():


这也不行啦

yuxiayou 发表于 2022-3-3 14:01

dybhkc 发表于 2022-2-4 13:56
4游戏性,画面这四项自动选择:
还是上面那里,在this.UpdateDesignSettings();上面加上:
genres componen ...

这个也不行啦

yuxiayou 发表于 2022-3-3 14:27

主题和工作速度都不管用了

无尽的遐想 发表于 2022-3-3 18:33

主题还能用
工资失效了
培训室上限也失效了

546462284 发表于 2022-3-5 09:33

求大佬更新

新仔2015 发表于 2022-3-6 13:32

:(能改掌机硬件的出现时间吗,掌机的光盘屏幕那些总是比主机的慢,技术等级差太多了

dybhkc 发表于 2022-3-6 17:27

最近没啥时间,没怎么看,好像更新了?有的不能用了吗?

dybhkc 发表于 2022-3-6 17:33

新仔2015 发表于 2022-3-6 13:32
能改掌机硬件的出现时间吗,掌机的光盘屏幕那些总是比主机的慢,技术等级差太多了 ...

这个要改文件,游戏目录\Mad Games Tycoon 2_Data\Extern\Text\DATA\Hardware.txt
比如:
0
0
1 Mhz CPU
1 Mhz CPU
1 Mhz İşlemciCPU de 1 MhzCPU de 1 Mhz1 Mhz CPU1 Mhz 处理器1 Mhz 處理器CPU 1 MhzCPU 1 MhzProcesor 1 MhzJAN 197600400000
date是时间 格式就 缩写空格年份price价格,cost花费1注意:别乱动格式比如换行什么的,好像就是用换行分隔数据的
要新档才有用,老档的话这些数据都在存档里,当然改存档也是可以的,我改过,不过比较麻烦

新仔2015 发表于 2022-3-6 17:40

dybhkc 发表于 2022-3-6 17:33
这个要改文件,游戏目录\Mad Games Tycoon 2_Data\Extern\Text\DATA\Hardware.txt
比如:
0


:victory:感谢大佬

dybhkc 发表于 2022-3-6 17:41

yuxiayou 发表于 2022-3-3 14:27
主题和工作速度都不管用了

具体啥情况

dybhkc 发表于 2022-3-6 17:42

无尽的遐想 发表于 2022-3-3 18:33
主题还能用
工资失效了
培训室上限也失效了

具体啥情况

dybhkc 发表于 2022-3-6 17:42

546462284 发表于 2022-3-5 09:33
求大佬更新

更新啥,具体啥情况

无尽的遐想 发表于 2022-3-6 20:13

dybhkc 发表于 2022-3-6 17:42
具体啥情况

又试了一下 工资失效了 现在通过减少上面的数值可以基本达到效果 其他的都可以用

dybhkc 发表于 2022-3-6 21:22

无尽的遐想 发表于 2022-3-6 20:13
又试了一下 工资失效了 现在通过减少上面的数值可以基本达到效果 其他的都可以用
...

刚刚拿3.2的测了一下,return 0的话实际工资为0,说明实际工资的修改是有效的
不过人才市场倒是显示有工资,要是说这个的话,可以去改charArbeitsmarkt.GetGehalt()这个方法
和员工那个一样的改法

恋上六弦琴 发表于 2022-3-11 18:45

员工的特性改不了

dybhkc 发表于 2022-3-11 20:14

恋上六弦琴 发表于 2022-3-11 18:45
员工的特性改不了

刚用3.02版本的测了下,好像没问题,就是特性数量超过一行会导致“人才市场”里信息显示出问题,
实际上是没有问题的,而且3.02的创建员工的代码和1.17的一样,没变


要不你看看是不是哪里改错了

新仔2015 发表于 2022-3-12 01:00

大佬手残改了data/txt主机的类型,手柄类型那里加了和WII一样的功能然后游戏不能开发了,这个运动器材通过修改存档还能删掉吗?或者这个运动器材怎么加进去,是这个运动镜头?还是啥除了这个我其他功能都有了,或者dll能去掉必要的功能条件吗:D,笑死了

dybhkc 发表于 2022-3-12 10:41

新仔2015 发表于 2022-3-12 01:00
大佬手残改了data/txt主机的类型,手柄类型那里加了和WII一样的功能然后游戏不能开发了,这个运动器材通过 ...

你这情况大概有3种办法:
1.存档里去掉"运动器材"限制
2.存档里把"运动器材"研究时间提前
但这两种都要改存档,比较麻烦
因为存档是这样的:

所以选第三种:
3.去除开发时的限制:
去除游戏机必需功能限制:
menu_devgame.button_start():
把下面的删除
if (component2.needFeatures != -1 && !this.g_GameGameplayFeatures])
                                                {
                                                        text = string.Concat(new string[]
                                                        {
                                                                text,
                                                                component2.GetName(),
                                                                ": ",
                                                                this.gF_.GetName(component2.needFeatures),
                                                                "\n"
                                                        });
                                                }
                                                if (component2.needFeatures != -1 && !this.g_GameGameplayFeatures])
                                                {
                                                        text = string.Concat(new string[]
                                                        {
                                                                text,
                                                                component2.GetName(),
                                                                ": ",
                                                                this.gF_.GetName(component2.needFeatures),
                                                                "\n"
                                                        });
                                                }
                                                if (component2.needFeatures != -1 && !this.g_GameGameplayFeatures])
                                                {
                                                        text = string.Concat(new string[]
                                                        {
                                                                text,
                                                                component2.GetName(),
                                                                ": ",
                                                                this.gF_.GetName(component2.needFeatures),
                                                                "\n"
                                                        });
                                                }


另外从上面看似乎必需的游戏功能最多只能有三个,多了不会检查

新仔2015 发表于 2022-3-12 12:01

dybhkc 发表于 2022-3-12 10:41
你这情况大概有3种办法:
1.存档里去掉"运动器材"限制
2.存档里把"运动器材"研究时间提前


开发主机前有多存了档,想通过档来改下是不是加上运动镜头就可以的,但是看了下存档太乱了,还是改代码吧。谢谢大佬:victory:

dybhkc 发表于 2022-3-12 18:17

hongyu7998 发表于 2022-2-26 12:49
以及...我知道这听起来挺找折腾,但是有办法更改AI对使用玩家引擎/在玩家主机做游戏的倾向吗?感谢 ...

突然看见了一个类publisherscript,找到了ai做游戏的相关逻辑,楼下分析

dybhkc 发表于 2022-3-12 18:33

分析的版本是3.02,也就是更了子公司的版本
publisherScript.CreateNewGame2(bool forceContractGame)这个是ai做游戏的
约46行gameScript gameScript = this.games_.CreateNewGame(false, true);游戏new出来了
接下来是各种设置,类型,主题啥的,关注点不在这,往下
约282行,this.FindPlatformsForGameNew(gameScript);
这个 是找平台的,
进入FindPlatformsForGameNew(gameScript)
GameObject[] array = GameObject.FindGameObjectsWithTag("Platform");
遍历所有平台(包括玩家的)
开头的两个if代码块是玩家子公司相关,
往下第三个if,就是ai选平台了(子公司和非子公司都能进入)
if (this.ownPlatform)//ai有自己的平台
      {
            for (int j = 0; j < array.Length; j++)//遍历所有平台
            {
                if (array[j])
                {
                  platformScript component2 = array[j.GetComponent<platformScript>();//拿到单个平台
//下面这个if里是对游戏的各种要求               
                  if (component2 && ((gS_.handy && component2.typ == 3) || (gS_.arcade && component2.typ == 4) || (!gS_.handy && !gS_.arcade && component2.typ == 0) || (!gS_.handy && !gS_.arcade && component2.typ == 1) || (!gS_.handy && !gS_.arcade && component2.typ == 2)) && component2.isUnlocked && ((gS_.retro && component2.vomMarktGenommen) || (!gS_.retro && !component2.vomMarktGenommen)) && (gS_.gameTyp == 0 || (gS_.gameTyp == 1 && component2.internet) || (gS_.gameTyp == 2 && component2.internet)) && component2.npc)//component2.npc这个要求是npc的平台
                  {
                        num = component2.myID;
                        bool flag = false;
                        if (component2.manufacturer_GE.Contains(this.name_GE))
                        {
                            flag = true;
                        }//上面的flag:验证是否是Ai自己的平台
                        if (flag)//是Ai自己的平台
                        {
                            gS_.gamePlatform[num2 = component2.myID;//作为游戏的平台
                            gS_.gamePlatformScript[num2 = component2;
                            gS_.costs_entwicklung += (long)component2.dev_costs;
                            if (gS_.exklusiv)
                            {
                              return;
                            }
                            num2++;//下一个
                            if (num2 >= 4)//满四个
                            {
                              return;
                            }
                        }
                  }
                }
            }
      }
上面这段就是ai从所有平台里面找适合游戏的且是自己的平台

dybhkc 发表于 2022-3-12 18:48

//没找完四个
if ((!this.exklusive && num2 <= 3) || num2 == 0)
      {
            this.platformList.Clear();//这个platformList大概是可选的平台列表
            for (int k = 0; k < array.Length; k++)//遍历所有平台
            {
                if (array[k])
                {
                  platformScript component3 = array[k.GetComponent<platformScript>();//拿到单个平台
                  if (component3 && component3.isUnlocked && gS_.gamePlatform[0 != component3.myID && gS_.gamePlatform[1 != component3.myID && gS_.gamePlatform[2 != component3.myID && gS_.gamePlatform[3 != component3.myID && ((gS_.retro && component3.vomMarktGenommen) || (!gS_.retro && !component3.vomMarktGenommen)))//不在四个平台里的(也就是上面没找着的),及其它要求
                  {
                        this.platformList.Add(new publisherScript.PlatformList(component3, component3.GetMarktanteil()));//加进去,后面这个是市场份额
                  }
                }
            }
            this.platformList = (from i in this.platformList
            orderby i.marktanteil descending
            select i).ToList<publisherScript.PlatformList>();//按市场份额降序
            for (int l = 0; l < this.platformList.Count; l++)//遍历 列表
            {
                platformScript script_ = this.platformList[l.script_;
                if (script_ && gS_.gamePlatform[0 != script_.myID && gS_.gamePlatform[1 != script_.myID && gS_.gamePlatform[2 != script_.myID && gS_.gamePlatform[3 != script_.myID && ((gS_.handy && script_.typ == 3) || (gS_.arcade && script_.typ == 4) || (!gS_.handy && !gS_.arcade && script_.typ == 0) || (!gS_.handy && !gS_.arcade && script_.typ == 1) || (!gS_.handy && !gS_.arcade && script_.typ == 2)) && script_.isUnlocked && ((gS_.retro && script_.vomMarktGenommen) || (!gS_.retro && !script_.vomMarktGenommen)) && (gS_.gameTyp == 0 || (gS_.gameTyp == 1 && script_.internet) || (gS_.gameTyp == 2 && script_.internet)) && (script_.npc || (script_.thridPartyGames && UnityEngine.Random.Range(0, script_.price) < UnityEngine.Random.Range(0, this.platforms_.GetDurchschnittsDevKitPreis()) && (UnityEngine.Random.Range(0f, 100f + script_.GetMarktanteil()) > 60f || script_.GetMarktanteil() > 30f))))
//这一段也是各种要求,主要看后面
script_.npc ||//如果不是npc就要满足后面括号
      (
            script_.thridPartyGames &&平台接受第三方游戏
            UnityEngine.Random.Range(0, script_.price) < UnityEngine.Random.Range(0, this.platforms_.GetDurchschnittsDevKitPreis())
                0到平台价格 中随机一个数< 0到所有平台平均价格 中随机一个数
            &&
            (
                UnityEngine.Random.Range(0f, 100f + script_.GetMarktanteil()) > 60f //0到100 + 份额>60
                || script_.GetMarktanteil() > 30f // 或份额 > 30
            )
      )
接着


                {
                  num = script_.myID;
                  bool flag2 = false;
                  if (this.ownPlatform && script_.manufacturer_GE.Contains(this.name_GE))
                  {
                        flag2 = true;
                  }//ai自己的平台
                  if (UnityEngine.Random.Range(0, 100) > 50 || script_.playerConsole || script_.multiplaySlot != -1 || flag2)// 1/2概率 或玩家平台 或ai平台也就是就1/2概率
                  {
                        gS_.gamePlatform[num2 = script_.myID;//作为游戏的平台
                        gS_.gamePlatformScript[num2 = script_;
                        gS_.costs_entwicklung += (long)script_.dev_costs;
                        if (script_.playerConsole || script_.multiplaySlot != -1)//玩家平台
                        {
                            script_.SellPlayerKonsoleToNPC(this);//卖出给ai
                        }
                        if (gS_.exklusiv)
                        {
                            return;
                        }
                        num2++;//下一个
                        if (num2 >= 4)
                        {
                            return;
                        }
                  }
                }
            }
      }

dybhkc 发表于 2022-3-12 18:49

又要审核...

dybhkc 发表于 2022-3-12 18:59

本帖最后由 dybhkc 于 2022-3-12 19:06 编辑

最后总结:非玩家子公司,首先从所有平台里面循环找适合游戏的且是自己的平台
再把剩下的里面的符合条件的组成一个列表,列表按市场份额降序
再循环从列表里面找符合条件的 如果是玩家的平台要额外符合条件:
1<
2 > 60 或 市场份额 > 30
满足上面条件后,如果是玩家平台则直接成为该游戏的平台

dybhkc 发表于 2022-3-12 19:02

本帖最后由 dybhkc 于 2022-3-12 19:07 编辑

所以说ai做游戏选择平台并没有什么明显倾向,
硬要说的话倾向自己的平台,市场份额高的平台,倾向npc平台

dybhkc 发表于 2022-3-12 19:09

如果说要提高ai对玩家平台“倾向”的话,可以把
&& (script_.npc || (script_.thridPartyGames && UnityEngine.Random.Range(0, script_.price) < UnityEngine.Random.Range(0, this.platforms_.GetDurchschnittsDevKitPreis()) && (UnityEngine.Random.Range(0f, 100f + script_.GetMarktanteil()) > 60f || script_.GetMarktanteil() > 30f)))这个删了,这样玩家就降低到和npc同样的要求了

无尽的遐想 发表于 2022-3-30 14:41

大佬怎么改子公司的股价或者是能力
页: 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15
查看完整版本: 【修改教程】萌新的小修改教程