3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

楼主: dybhkc
打印 上一主题 下一主题

[攻略] 【修改教程】萌新的小修改教程

  [复制链接]

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
421#
发表于 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的游戏全变成委托合同呢
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
422#
发表于 2022-7-31 22:02 | 只看该作者
好像是这个里面控制的UpdateContractWork
回复 支持 反对

使用道具 举报

1

主题

397

帖子

451

积分

高级玩家

Rank: 4

贡献度
11
金元
4067
积分
451
精华
0
注册时间
2010-2-5
423#
发表于 2022-7-31 22:20 来自手机 | 只看该作者
感谢分享!
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
424#
发表于 2022-7-31 22:26 | 只看该作者
还有Createnewgame2的forceContractGame和textscript的GetRandomNpcGame
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
425#
发表于 2022-8-1 10:15 | 只看该作者
就是原版是NPC同时会开发NPCIP和NPCgame两个文件的游戏,NPCIP游戏是固定的,NPCgame的游戏是随机的,委托合同出自NPCgame,就是怎么能既不让NPC发布NPCgame的游戏又让NPC发布委托合同呢
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
426#
发表于 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[num2])
                                {
                                        publisherScript component = array[num2].GetComponent<publisherScript>();
                                        if (component)
                                        {
                                                if (component.isUnlocked && !component.IsTochterfirma() && !component.isPlayer)
                                                {
                                                        return component.myID;
                                                }
                                                num++;
                                                if (num > 1000)
                                                {
                                                        return 3;
                                                }
                                        }
                                }
                        }
                }
                return 3;
        }
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
427#
发表于 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);
   
}

回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
428#
发表于 2022-8-1 12:00 | 只看该作者
CREATENEWGAME的NPCGAME的出版商是哪个代码确定的呢
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
429#
 楼主| 发表于 2022-8-1 12:20 | 只看该作者
yellowottomany 发表于 2022-8-1 12:00
CREATENEWGAME的NPCGAME的出版商是哪个代码确定的呢

这个是会从头轮一遍所有的开发商
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
430#
发表于 2022-8-1 12:29 | 只看该作者
dybhkc 发表于 2022-8-1 12:20
这个是会从头轮一遍所有的开发商

能设置成固定吗,比如加个publisherID = 3
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
431#
发表于 2022-8-1 12:30 | 只看该作者
是这句代码决定的NPCgame出版商吗
                                if (UnityEngine.Random.Range(0, 100) > 60)
                                {
                                        gameScript.npcLateinNumbers = true;
                                }
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
432#
 楼主| 发表于 2022-8-1 12:33 | 只看该作者
yellowottomany 发表于 2022-8-1 12:30
是这句代码决定的NPCgame出版商吗
                                if (UnityEngine.Random.Range(0, 100) > 60)
                                {

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

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
433#
发表于 2022-8-1 12:37 | 只看该作者
dybhkc 发表于 2022-8-1 12:33
我有思路了,不过电脑不在身边,你能把createnewgame2的代码发一下吗

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
434#
发表于 2022-8-1 12:38 | 只看该作者
我已经能让普通合同都由雅达利发布了,但是作用不到委托合同上
GetRandomPublisherID这个程序集赋值3就行
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
435#
发表于 2022-8-1 12:48 | 只看该作者
你说的对,我发现每次最开始的三个合同都是雅达利,万代,艾尼克斯的因为这三个的ID分别是3,4,7都是从小到大依次轮一遍
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
436#
 楼主| 发表于 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;试试

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
437#
 楼主| 发表于 2022-8-1 13:21 | 只看该作者
dybhkc 发表于 2022-8-1 13:20
在case 6的if (gameScript.GetNameSimple().Length

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

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
438#
发表于 2022-8-1 13:27 | 只看该作者
dybhkc 发表于 2022-8-1 13:21
其它的不用动,就是在npcips里没找到合适的,就直接返回,而不是去找个随机的
...

这样委托合同就没了
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
439#
 楼主| 发表于 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里面的

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
440#
 楼主| 发表于 2022-8-1 16:44 | 只看该作者
dybhkc 发表于 2022-8-1 16:42
publisherScript.ReleaseTheGame()
在if (this.publisher)上面加
if (!script_.sonderIP)

其它地方没有改
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
441#
 楼主| 发表于 2022-8-1 16:50 | 只看该作者
yellowottomany 发表于 2022-8-1 13:27
这样委托合同就没了

你先试试吧
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
442#
发表于 2022-8-1 16:52 | 只看该作者
dybhkc 发表于 2022-8-1 16:42
publisherScript.ReleaseTheGame()
在if (this.publisher)上面加
if (!script_.sonderIP)

可行,在测试,看看最多能到多少,会不会溢出
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
443#
发表于 2022-8-1 16:55 | 只看该作者

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

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
444#
 楼主| 发表于 2022-8-1 16:58 | 只看该作者
yellowottomany 发表于 2022-8-1 16:55
只是一开始可行,过了两年,委托合同堆积了260多个,然后NPC又开始发布NPCgame里的游戏了
...

是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
445#
发表于 2022-8-1 17:03 | 只看该作者
dybhkc 发表于 2022-8-1 16:58
是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生

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

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
446#
发表于 2022-8-1 17:03 | 只看该作者
dybhkc 发表于 2022-8-1 16:58
是什么类型的,case 7里面也会从npcgame里面拿,7是snippoff,应该是衍生

发布的游戏都是之前委托合同列表的
回复 支持 反对

使用道具 举报

5

主题

286

帖子

1万

积分

资深玩家

Rank: 9Rank: 9Rank: 9

贡献度
2023
金元
26012
积分
10703
精华
1
注册时间
2021-1-12
447#
 楼主| 发表于 2022-8-1 17:14 | 只看该作者
yellowottomany 发表于 2022-8-1 17:03
发布的游戏都是之前委托合同列表的

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






回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
448#
发表于 2022-8-1 17:30 | 只看该作者
dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs  ...

我试一下
回复 支持 反对

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
449#
发表于 2022-8-1 17:36 | 只看该作者
dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs  ...

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

使用道具 举报

76

主题

9416

帖子

1万

积分

优秀版主

Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19

贡献度
150
金元
94554
积分
10095
精华
4
注册时间
2017-8-25
450#
发表于 2022-8-1 17:41 | 只看该作者
dybhkc 发表于 2022-8-1 17:14
试试gamescript.FreeGameContract()
把this.auftragsspiel_Inivs = true;改成 this.auftragsspiel_Inivs  ...

应该是改contractworkmain的wochen相关的代码,也就是德语的week
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2025-2-8 01:08 , Processed in 0.248012 second(s), 16 queries , Memcache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表