yellowottomany 发表于 2022-7-31 21:27

dybhkc 发表于 2022-7-31 20:36
这是说npc只做自已的ip?那不是npc所有游戏,开发商发行商都是他自己?

不是这个意思,NPCIP的游戏和厂商能对应,有主题有类型有评分有具体时间,NPCgame文件里的游戏是随机给任意厂商任意时间发布,委托合同的游戏出自NPCgame,比如NPCgame有1,2,3,4分别四个游戏,可能其中3个会被任意NPC直接发布,剩下的一个会变成玩家的委托合同,怎么才能让NPCgame的游戏全变成委托合同呢

yellowottomany 发表于 2022-7-31 22:02

好像是这个里面控制的UpdateContractWork

alazypig 发表于 2022-7-31 22:20

感谢分享!

yellowottomany 发表于 2022-7-31 22:26

还有Createnewgame2的forceContractGame和textscript的GetRandomNpcGame

yellowottomany 发表于 2022-8-1 10:15

就是原版是NPC同时会开发NPCIP和NPCgame两个文件的游戏,NPCIP游戏是固定的,NPCgame的游戏是随机的,委托合同出自NPCgame,就是怎么能既不让NPC发布NPCgame的游戏又让NPC发布委托合同呢

yellowottomany 发表于 2022-8-1 10:50

或者改这个代码把委托合同也就是NPCgame的虚假游戏都只让一个厂商发布也行
        private int GetRandomPublisherID()
        {
                int num = 0;
                GameObject[] array = GameObject.FindGameObjectsWithTag("Publisher");
                if (array.Length != 0)
                {
                        bool flag = false;
                        while (!flag)
                        {
                                int num2 = UnityEngine.Random.Range(0, array.Length);
                                if (array)
                                {
                                        publisherScript component = array.GetComponent<publisherScript>();
                                        if (component)
                                        {
                                                if (component.isUnlocked && !component.IsTochterfirma() && !component.isPlayer)
                                                {
                                                        return component.myID;
                                                }
                                                num++;
                                                if (num > 1000)
                                                {
                                                        return 3;
                                                }
                                        }
                                }
                        }
                }
                return 3;
        }

yellowottomany 发表于 2022-8-1 11:41

可以修改这个代码让NPCGAME可以读取厂商信息,把    public string GetRandomNpcIP(int publisher_, gameScript game_)的读取厂商代码复制过去就行,可是我不会写    public string GetRandomNpcGame(int genre_)

    {
      string text = "";
      if (this.npcGameNameInUse.Length == 0)
      {
            this.npcGameNameInUse = new bool[this.npcGames.Length];
      }
      for (int i = 0; i < this.npcGames.Length; i++)
      {
            if (!this.npcGameNameInUse[i && this.npcGames[i.Contains("<" + genre_.ToString() + ">"))
            {
                text = this.npcGames[i];
                this.npcGameNameInUse[i = true;
                break;
            }
      }
      if (text.Length <= 0)
      {
            return "";
      }
      if (text == null)
      {
            return "";
      }
      for (int j = 0; j < this.genres_.genres_LEVEL.Length; j++)
      {
            text = text.Replace("<" + j.ToString() + ">", "");
      }
      text = text.Replace("\n", string.Empty);
      text = text.Replace("\r", string.Empty);
      text = text.Replace("\t", string.Empty);
      return text.Substring(0, text.Length - 1);
    }

yellowottomany 发表于 2022-8-1 12:00

CREATENEWGAME的NPCGAME的出版商是哪个代码确定的呢

dybhkc 发表于 2022-8-1 12:20

yellowottomany 发表于 2022-8-1 12:00
CREATENEWGAME的NPCGAME的出版商是哪个代码确定的呢

这个是会从头轮一遍所有的开发商

yellowottomany 发表于 2022-8-1 12:29

dybhkc 发表于 2022-8-1 12:20
这个是会从头轮一遍所有的开发商

能设置成固定吗,比如加个publisherID = 3

yellowottomany 发表于 2022-8-1 12:30

是这句代码决定的NPCgame出版商吗
                                if (UnityEngine.Random.Range(0, 100) > 60)
                                {
                                        gameScript.npcLateinNumbers = true;
                                }

dybhkc 发表于 2022-8-1 12:33

yellowottomany 发表于 2022-8-1 12:30
是这句代码决定的NPCgame出版商吗
                                if (UnityEngine.Random.Range(0, 100) > 60)
                                {


我有思路了,不过电脑不在身边,你能把createnewgame2的代码发一下吗

yellowottomany 发表于 2022-8-1 12:37

dybhkc 发表于 2022-8-1 12:33
我有思路了,不过电脑不在身边,你能把createnewgame2的代码发一下吗

其实如果能固定让一个厂商发布这些游戏也能解决问题,我直接加个叫委托中心的厂商就行了

yellowottomany 发表于 2022-8-1 12:38

我已经能让普通合同都由雅达利发布了,但是作用不到委托合同上
GetRandomPublisherID这个程序集赋值3就行

yellowottomany 发表于 2022-8-1 12:48

你说的对,我发现每次最开始的三个合同都是雅达利,万代,艾尼克斯的因为这三个的ID分别是3,4,7都是从小到大依次轮一遍

dybhkc 发表于 2022-8-1 13:20

yellowottomany 发表于 2022-8-1 12:48
你说的对,我发现每次最开始的三个合同都是雅达利,万代,艾尼克斯的因为这三个的ID分别是3,4,7都是从小 ...

在case 6的if (gameScript.GetNameSimple().Length <= 0)前面加上if (gameScript.GetNameSimple().Length <= 0)return null;试试

dybhkc 发表于 2022-8-1 13:21

dybhkc 发表于 2022-8-1 13:20
在case 6的if (gameScript.GetNameSimple().Length

其它的不用动,就是在npcips里没找到合适的,就直接返回,而不是去找个随机的

yellowottomany 发表于 2022-8-1 13:27

dybhkc 发表于 2022-8-1 13:21
其它的不用动,就是在npcips里没找到合适的,就直接返回,而不是去找个随机的
...

这样委托合同就没了

dybhkc 发表于 2022-8-1 16:42

yellowottomany 发表于 2022-8-1 13:27
这样委托合同就没了
publisherScript.ReleaseTheGame()
在if (this.publisher)上面加
if (!script_.sonderIP)
      {
            script_.auftragsspiel = true;
      }
测试过了,委托轻松叠到十几个,npc发的游戏,还没有出现npcgames里面的,全是npcips里面的

dybhkc 发表于 2022-8-1 16:44

dybhkc 发表于 2022-8-1 16:42
publisherScript.ReleaseTheGame()
在if (this.publisher)上面加
if (!script_.sonderIP)


其它地方没有改

dybhkc 发表于 2022-8-1 16:50

yellowottomany 发表于 2022-8-1 13:27
这样委托合同就没了

你先试试吧

yellowottomany 发表于 2022-8-1 16:52

dybhkc 发表于 2022-8-1 16:42
publisherScript.ReleaseTheGame()
在if (this.publisher)上面加
if (!script_.sonderIP)


可行,在测试,看看最多能到多少,会不会溢出

yellowottomany 发表于 2022-8-1 16:55

dybhkc 发表于 2022-8-1 16:50
你先试试吧

只是一开始可行,过了两年,委托合同堆积了260多个,然后NPC又开始发布NPCgame里的游戏了

dybhkc 发表于 2022-8-1 16:58

yellowottomany 发表于 2022-8-1 16:55
只是一开始可行,过了两年,委托合同堆积了260多个,然后NPC又开始发布NPCgame里的游戏了
...

是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生

yellowottomany 发表于 2022-8-1 17:03

dybhkc 发表于 2022-8-1 16:58
是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生

我知道怎么回事了,是那个合同长时间没人做就下架了,然后就被拿去发布了,不让合同下架就行

yellowottomany 发表于 2022-8-1 17:03

dybhkc 发表于 2022-8-1 16:58
是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生

发布的游戏都是之前委托合同列表的

dybhkc 发表于 2022-8-1 17:14

yellowottomany 发表于 2022-8-1 17:03
发布的游戏都是之前委托合同列表的

试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs = false;委托点X就是改的这个属性为true,如果X掉后能再发布,那就是这个






yellowottomany 发表于 2022-8-1 17:30

dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs...
我试一下

yellowottomany 发表于 2022-8-1 17:36

dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs...

没效果,委托合同一下架NPC立马开发出来,哪里可以阻止委托合同下架呀

yellowottomany 发表于 2022-8-1 17:41

dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs...

应该是改contractworkmain的wochen相关的代码,也就是德语的week
页: 5 6 7 8 9 10 11 12 13 14 [15] 16 17 18 19 20 21 22 23 24
查看完整版本: 【修改教程】萌新的小修改教程