yellowottomany 发表于 2022-7-29 23:13

晚上在弄封面,我试一下这个

leeg108 发表于 2022-7-29 23:59

666666666666666

dybhkc 发表于 2022-7-30 00:01

yellowottomany 发表于 2022-7-29 23:13
晚上在弄封面,我试一下这个

可以多加几个,更好测试,而且加在上面,会更快在游戏里出来,还有搭配要注意,要按游戏里来,比如街机只能对应单机,不然可能出现某些问题

yellowottomany 发表于 2022-7-30 00:24

dybhkc 发表于 2022-7-30 00:01
可以多加几个,更好测试,而且加在上面,会更快在游戏里出来,还有搭配要注意,要按游戏里来,比如街机只 ...

这个是我修改后的文件,不知道哪里出了问题,刷不出新游戏,你先按昨天那样发一下帖子和我的悬赏吧,我好明早给你金元,然后看看我代码哪里没弄对固定NPC游戏的平台和类型
textScript添加类
        private int GetGameTypeFromSonderIP(int i)
        {
                for (int j = 0; j <= 2; j++)
                {
                        if (this.npcIPs.Contains("<TY" + j.ToString() + ">"))
                        {
                                return j;
                        }
                }
                return 0;
        }
textScript添加类
        private int GetPlatTypeFromSonderIP(int i)
        {
                for (int j = 0; j <= 5; j++)
                {
                        if (this.npcIPs.Contains("<PL" + j.ToString() + ">"))
                        {
                                return j;
                        }
                }
                return 0;
        }
int gameZielgruppe = 0;后加
                int gameType = 0;
                int platType = 0;
num2 = this.GetSubGenreFromSonderIP(i);后加
                                gameType = this.GetGameTypeFromSonderIP(i);
                                platType = this.GetPlatTypeFromSonderIP(i);
text = text.Replace("<TG" + gameZielgruppe.ToString() + ">", "");后加
                text = text.Replace("<TY" + gameType.ToString() + ">", "");
                text = text.Replace("<PL" + platType.ToString() + ">", "");
game_.gameTyp = gameType;后加
                if (platType == 1)
                {
                        game_.exklusiv = true;
                }
                if (platType == 5)
                {
                        game_.handy = true;
                }
                if (platType == 4)
                {
                        game_.arcade = true;
                }
                if (platType == 3)
                {
                        game_.retro = true;
                }
                if (platType == 2)
                {
                        game_.herstellerExklusiv = true;
                }
改动createnewgame2
删除
this.tS_.GetRandomNpcIP(this.myID, gameScript)
删除
gameScript.gameTyp = 0;
改动SetMMOorF2P
        {
                if (platTyp == 0 || platTyp == 1 || platTyp == 5 || platTyp == 2)
                {
                        if (this.IsTochterfirma())
                        {
                                if (!this.tf_allowMMO)
                                {
                                        return;
                                }
                                if (!this.tf_allowF2P)
                                {
                                        return;
                                }
                                if (this.tf_onlyPlayerConsole)
                                {
                                        return;
                                }
                        }
                        if (script_.gameTyp == 2)
                        {
                                if (this.publisher && this.unlock_.Get(22))
                                {
                                        script_.gameTyp = 2;
                                        script_.exklusiv = false;
                                        script_.herstellerExklusiv = false;
                                        script_.verkaufspreis = 0;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                        }
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                                return;
                                        }
                                }
                        }
                        else if (script_.gameTyp == 1 && this.gF_.gameplayFeatures_UNLOCK)
                        {
                                script_.gameTyp = 1;
                                script_.aboPreis = 5;
                        }
                }
        }

dybhkc 发表于 2022-7-30 00:27

yellowottomany 发表于 2022-7-30 00:24
这个是我修改后的文件,不知道哪里出了问题,刷不出新游戏,你先按昨天那样发一下帖子和我的悬赏吧,我好 ...

是全部刷不出,还是新加的刷不出

dybhkc 发表于 2022-7-30 00:35

dybhkc 发表于 2022-7-30 00:27
是全部刷不出,还是新加的刷不出

如果是新加的刷不出,可以开个新档,速度调到最快,我就是这样,刷了一年多才出,createnewgame2里有个变量num,是控制npc做游戏的,num值不同,会做不同的,比如游戏,dlc,续作等,每周更新都会遍历开发商,每个去调createnewgame2方法,根据num决定开发商做什么,一般num为6就是做新游戏,从文件里从头找ip,<p>和publisherid一样,就是这个开发商的ip,再经过一些判断(比如年份),就可能有新游戏,所以说,出新ip的游戏其实是有点随机的

yellowottomany 发表于 2022-7-30 08:27

删除this.tS_.GetRandomNpcIP(this.myID, gameScript);的意思是什么呢
还有删除往后的gameScript.gameTyp = 0;指的是只删除case6的gameScript.gameTyp = 0;吗,还是case6之后的gameScript.gameTyp = 0;全删

dybhkc 发表于 2022-7-30 08:33

yellowottomany 发表于 2022-7-30 08:27
删除this.tS_.GetRandomNpcIP(this.myID, gameScript);的意思是什么呢
还有删除往后的gameScript.gameTyp = ...

删除this.tS_.GetRandomNpcIP(this.myID, gameScript);往后的gameScript.gameTyp = 0;是说删除在this.tS_.GetRandomNpcIP(this.myID, gameScript);这句后面的gameScript.gameTyp = 0;这句,因为在其它地方可能也有gameScript.gameTyp = 0;,所以就指明下位置

dybhkc 发表于 2022-7-30 08:34

dybhkc 发表于 2022-7-30 08:33
删除this.tS_.GetRandomNpcIP(this.myID, gameScript);往后的gameScript.gameTyp = 0;是说删除在this.tS_ ...

在后面并不是说紧挨着,是指整体上在后面

yellowottomany 发表于 2022-7-30 08:44

dybhkc 发表于 2022-7-30 08:34
在后面并不是说紧挨着,是指整体上在后面

好的好的我说是怎么不对,我把this.tS_.GetRandomNpcIP(this.myID, gameScript)删了

yellowottomany 发表于 2022-7-30 08:54

可以了,你发吧,我的悬赏,还有新的帖子我评分
固定平台和类型
textScript添加类
        private int GetGameTypeFromSonderIP(int i)
        {
                for (int j = 0; j <= 2; j++)
                {
                        if (this.npcIPs.Contains("<TY" + j.ToString() + ">"))
                        {
                                return j;
                        }
                }
                return 0;
        }
textScript添加类
        private int GetPlatTypeFromSonderIP(int i)
        {
                for (int j = 0; j <= 5; j++)
                {
                        if (this.npcIPs.Contains("<PL" + j.ToString() + ">"))
                        {
                                return j;
                        }
                }
                return 0;
        }
int gameZielgruppe = 0;后加
                int gameType = 0;
                int platType = 0;
num2 = this.GetSubGenreFromSonderIP(i);后加
                                gameType = this.GetGameTypeFromSonderIP(i);
                                platType = this.GetPlatTypeFromSonderIP(i);
text = text.Replace("<TG" + gameZielgruppe.ToString() + ">", "");后加
                text = text.Replace("<TY" + gameType.ToString() + ">", "");
                text = text.Replace("<PL" + platType.ToString() + ">", "");
game_.SetMyName(text);后加
                game_.gameTyp = gameType;
                if (platType == 1)
                {
                        game_.exklusiv = true;
                }
                if (platType == 5)
                {
                        game_.handy = true;
                }
                if (platType == 4)
                {
                        game_.arcade = true;
                }
                if (platType == 3)
                {
                        game_.retro = true;
                }
                if (platType == 2)
                {
                        game_.herstellerExklusiv = true;
                }
改动createnewgame2
删除
                        if (!forceContractGame)
                        {
                                this.tS_.GetRandomNpcIP(this.myID, gameScript);
                        }
后面的
gameScript.gameTyp = 0;
改动SetMMOorF2P
        {
                if (platTyp == 0 || platTyp == 1 || platTyp == 5 || platTyp == 2)
                {
                        if (this.IsTochterfirma())
                        {
                                if (!this.tf_allowMMO)
                                {
                                        return;
                                }
                                if (!this.tf_allowF2P)
                                {
                                        return;
                                }
                                if (this.tf_onlyPlayerConsole)
                                {
                                        return;
                                }
                        }
                        if (script_.gameTyp == 2)
                        {
                                if (this.publisher && this.unlock_.Get(22))
                                {
                                        script_.gameTyp = 2;
                                        script_.exklusiv = false;
                                        script_.herstellerExklusiv = false;
                                        script_.verkaufspreis = 0;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                        }
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                                return;
                                        }
                                }
                        }
                        else if (script_.gameTyp == 1 && this.gF_.gameplayFeatures_UNLOCK)
                        {
                                script_.gameTyp = 1;
                                script_.aboPreis = 5;
                        }
                }
        }

loveyuyan523 发表于 2022-7-30 12:21

dddddddddd

miku43dm 发表于 2022-7-30 12:51

支持技术交流

gghu1012 发表于 2022-7-30 18:18

6666666666666666

Amour。 发表于 2022-7-31 01:06

6666666666666

boomshaka3dm 发表于 2022-7-31 09:54

11111111111111

q1779515741 发表于 2022-7-31 10:34

66666666666666666666

yellowottomany 发表于 2022-7-31 16:24

经过两天测试,我发现这个控制平台类型的代码有个问题,但凡是给IP赋值4,5的都能准确的在游戏里变成街机和手机,但是赋值0,最终的平台类型不定,可能是手机街机主机都有可能,甚至出现街机版MMODRPG
                if (platType == 1)
                {
                        game_.exklusiv = true;
                }
                if (platType == 5)
                {
                        game_.handy = true;
                }
                if (platType == 4)
                {
                        game_.arcade = true;
                }
                if (platType == 3)
                {
                        game_.retro = true;
                }
                if (platType == 2)
                {
                        game_.herstellerExklusiv = true;
                }

yellowottomany 发表于 2022-7-31 16:45

我自己试着写了一段代码加到前面但没效果
                if (num4 == 0)
                {
                        game_.handy = false;
                        game_.arcade = false;
                }

dybhkc 发表于 2022-7-31 16:57

yellowottomany 发表于 2022-7-31 16:24
经过两天测试,我发现这个控制平台类型的代码有个问题,但凡是给IP赋值4,5的都能准确的在游戏里变成街机和 ...

我是以为0是除了手机街机这些后剩余的,就是主机掌机电脑,因为gamescript并没有属性明确指出是什么类型的平台,只有handy这些描述,这样看来0是没有做处理,然后随机,可以在前面加一段if(platType==0){
game_.handy = false;
game_.arcade = false;
game_.retro = false;
}

dybhkc 发表于 2022-7-31 16:59

yellowottomany 发表于 2022-7-31 16:45
我自己试着写了一段代码加到前面但没效果
                if (num4 == 0)
                {


呃,如果没用的话,可能是后面哪又改了,等会我再看看

dybhkc 发表于 2022-7-31 17:17

本帖最后由 dybhkc 于 2022-7-31 17:32 编辑

yellowottomany 发表于 2022-7-31 16:45
我自己试着写了一段代码加到前面但没效果
                if (num4 == 0)
                {

等会看看...

yellowottomany 发表于 2022-7-31 17:38

dybhkc 发表于 2022-7-31 17:17
等会看看...

这个是红的,编译不了

yellowottomany 发表于 2022-7-31 18:16

我会了
直接把Createnewgame2的SetPlatformTyp三项概率都改为0
                if (UnityEngine.Random.Range(0, 100) < 0 && this.publisher && this.unlock_.Get(65))
                {
                        num = 5;
                }
                if (UnityEngine.Random.Range(0, 100) < 0 && this.publisher)
                {
                        num = 4;
                }
                if (UnityEngine.Random.Range(0, 100) < 0 && this.mS_.year > 1995)
                {
                        num = 3;
                }

dybhkc 发表于 2022-7-31 18:26

本帖最后由 dybhkc 于 2022-7-31 18:32 编辑

yellowottomany 发表于 2022-7-31 17:38
这个是红的,编译不了

textscript添加方法
      private int GetGameTypeFromSonderIP(int i)
      {
                for (int j = 0; j <= 2; j++)
                {
                        if (this.npcIPs.Contains("<TY" + j.ToString() + ">"))
                        {
                              return j;
                        }
                }
                return 0;
      }
      
      private int GetPlatTypeFromSonderIP(int i)
      {
                for (int j = 0; j <= 5; j++)
                {
                        if (this.npcIPs.Contains("<PL" + j.ToString() + ">"))
                        {
                              return j;
                        }
                }
                return 0;
      }

gamescript加
      public int platType;
保存
textscript.GetRandomNpcIP():
      int gameZielgruppe = 0;后面加
                int gameType=0;
                int platType=0;
               
      num2 = this.GetSubGenreFromSonderIP(i);后面加
                gameType=this.GetGameTypeFromSonderIP(i);
                platType=this.GetPlatTypeFromSonderIP(i);

      text = text.Replace("<TG" + gameZielgruppe.ToString() + ">", "");后面加
                text=text.Replace("<TY" + gameType.ToString() + ">", "");
                text = text.Replace("<PL" + platType.ToString() + ">", "");

      game_.SetMyName(text);后面加
                game_.gameTyp=gameType;
                game_.platType=platType;

保存
publisherscript加方法
      private int SetPlatformTyp2(gameScript script_, bool forceContractGame)
      {
                int num = script_.platType;
                if (this.IsTochterfirma())
                {
                        if (this.tf_noArcade && num == 4)
                        {
                              num = 0;
                        }
                        if (this.tf_noHandy && num == 5)
                        {
                              num = 0;
                        }
                        if (this.tf_noRetro && num == 3)
                        {
                              num = 0;
                        }
                }
                if (this.onlyMobile && this.unlock_.Get(65))
                {
                        num = 5;
                }
      
                if (forceContractGame)
                {
                        num = 1;
                }
                if (num == 1)
                {
                        script_.exklusiv = true;
                }
                if (num == 5)
                {
                        script_.handy = true;
                }
                if (num == 4)
                {
                        script_.arcade = true;
                }
                if (num == 3)
                {
                        script_.retro = true;
                }
                if (num == 2)
                {
                        script_.herstellerExklusiv = true;
                }
                return num;
      }

保存
publisherscript.createnewgame2():
      删除this.tS_.GetRandomNpcIP(this.myID, gameScript);后面的gameScript.gameTyp = 0;
      改int platTyp2 = this.SetPlatformTyp(gameScript, forceContractGame);为int platTyp2 = this.SetPlatformTyp2(gameScript, forceContractGame);
pulisherscript.SetMMOorF2P():
      里面整个改掉
      private void SetMMOorF2P(gameScript script_, int platTyp)
      {
                if (platTyp == 0 || platTyp == 1 || platTyp == 5 || platTyp == 2)
                {
                        if (this.IsTochterfirma())
                        {
                              if (!this.tf_allowMMO)
                              {
                                        return;
                              }
                              if (!this.tf_allowF2P)
                              {
                                        return;
                              }
                              if (this.tf_onlyPlayerConsole)
                              {
                                        return;
                              }
                        }
                        if (script_.gameTyp == 2)
                        {
                              if (this.publisher && this.unlock_.Get(22))
                              {
                                        script_.gameTyp = 2;
                                        script_.exklusiv = false;
                                        script_.herstellerExklusiv = false;
                                        script_.verkaufspreis = 0;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        script_.inAppPurchase = true;
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                        }
                                        if (UnityEngine.Random.Range(0, 100) > 50)
                                        {
                                                script_.inAppPurchase = true;
                                                return;
                                        }
                              }
                        }
                        else if (script_.gameTyp == 1 && this.gF_.gameplayFeatures_UNLOCK)
                        {
                              script_.gameTyp = 1;
                              script_.aboPreis = 5;
                        }
                }
      }
这是改了一些之后的

dybhkc 发表于 2022-7-31 18:28

yellowottomany 发表于 2022-7-31 18:16
我会了
直接把Createnewgame2的SetPlatformTyp三项概率都改为0
                if (UnityEngine.Random.Range(0, 100) <...

这样有问题吧,他判断的是num的值,而不是type,之前设置的4 5什么的也会受影响吧

yellowottomany 发表于 2022-7-31 18:38

dybhkc 发表于 2022-7-31 18:28
这样有问题吧,他判断的是num的值,而不是type,之前设置的4 5什么的也会受影响吧
...

大佬我还有最后一个问题,悬赏是90贡献委托合同是提取自NPCGAME文件,怎么让NPC不自动发布NPCGAME文件里的游戏,而是只会发布玩家的委托合同游戏。
举个例子,NPCGAME有1,2,3,4这四款游戏,任天堂发布了其中的1,2,3然后把4在委托合同里只有玩家开发才会发布,怎么样能让所有NPCGAME游戏都变成玩家的委托合同呢,就是让游戏1,2,3,4都在委托合同列表,玩家不接合同这些游戏不会发布
我这样做的目的是追求真实化,防止任天堂的游戏列表里有一堆历史上不是他开发的游戏

dybhkc 发表于 2022-7-31 19:40

yellowottomany 发表于 2022-7-31 18:38
大佬我还有最后一个问题,悬赏是90贡献委托合同是提取自NPCGAME文件,怎么让NPC不自动发布NPCGAME文件里 ...

有时间我看看,上面那个怎么样了,我现在一改dll游戏就进不去,测不了

yellowottomany 发表于 2022-7-31 19:46

dybhkc 发表于 2022-7-31 19:40
有时间我看看,上面那个怎么样了,我现在一改dll游戏就进不去,测不了

直接三个改成0就行,不影响历史IP,因为那三个概率是给虚假游戏也就是NPCGAME的游戏产生平台类型的

dybhkc 发表于 2022-7-31 20:36

yellowottomany 发表于 2022-7-31 18:38
大佬我还有最后一个问题,悬赏是90贡献委托合同是提取自NPCGAME文件,怎么让NPC不自动发布NPCGAME文件里 ...

这是说npc只做自已的ip?那不是npc所有游戏,开发商发行商都是他自己?
页: 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
查看完整版本: 【修改教程】萌新的小修改教程