dybhkc
发表于 2022-7-28 18:10
yellowottomany 发表于 2022-7-28 18:08
这样吗,还是编译不了怎么回事
少了private Sprite[,] themes_SCREENSHOTS;
yellowottomany
发表于 2022-7-28 18:19
dybhkc 发表于 2022-7-28 18:10
少了private Sprite[,] themes_SCREENSHOTS;
还有一处是红的,file那里
dybhkc
发表于 2022-7-28 18:22
yellowottomany 发表于 2022-7-28 18:19
还有一处是红的,file那里
File前面加System.IO.试试
yellowottomany
发表于 2022-7-28 18:24
dybhkc 发表于 2022-7-28 18:22
File前面加System.IO.试试
那个Screenshot2D那个用管吗
yellowottomany
发表于 2022-7-28 18:26
dybhkc 发表于 2022-7-28 18:22
File前面加System.IO.试试
刚才的可以了,这个红了
dybhkc
发表于 2022-7-28 18:29
yellowottomany 发表于 2022-7-28 18:26
刚才的可以了,这个红了
先保存一下再改这个
yellowottomany
发表于 2022-7-28 18:32
dybhkc 发表于 2022-7-28 18:29
先保存一下再改这个
可以了感谢,我进游戏测试一下
yellowottomany
发表于 2022-7-28 19:13
dybhkc 发表于 2022-7-28 18:29
先保存一下再改这个
我试了,建了255个主题的文件夹,放了几个图片,没效果,都是bug
dybhkc
发表于 2022-7-28 19:34
yellowottomany 发表于 2022-7-28 19:13
我试了,建了255个主题的文件夹,放了几个图片,没效果,都是bug
可能是版本问题,我用的还是以前修改过很多的4.06,现在电脑不在身边,明天我再看看
yellowottomany
发表于 2022-7-28 19:45
dybhkc 发表于 2022-7-28 19:34
可能是版本问题,我用的还是以前修改过很多的4.06,现在电脑不在身边,明天我再看看 ...
不是版本,我核对了一下新版本,没区别
yellowottomany
发表于 2022-7-28 19:55
可能是还有个GetScreenshotTexture2D没改
dybhkc
发表于 2022-7-28 19:55
yellowottomany 发表于 2022-7-28 19:45
不是版本,我核对了一下新版本,没区别
噢,想起来了,不好意思,我忘了一个地方,themes的initArrays方法,最后加上this.themes_Screenshot=new Sprite[,];
[,]这里面逗号前我忘了,不过和initArray上面几行[]里面一样的是一样的,逗号后写最大主题数,就是图片数最多的一个主题的图片数
这次修改没记录,一下子忘了。。。
dybhkc
发表于 2022-7-28 19:59
yellowottomany 发表于 2022-7-28 19:55
可能是还有个GetScreenshotTexture2D没改
这个我记得是在一个叫Qa啥的地方调用的,不知道是做什么的,我测试了的,有效
yellowottomany
发表于 2022-7-28 20:12
历史性的一刻,我做水管工主题出了我预设的超级马里奥,太激动啦!
yellowottomany
发表于 2022-7-28 20:14
你把下面这个发到我的悬赏帖下领悬赏,然后你再单独开一贴发怎么改这个,再给你30贡献度和300金元
themes添加类
private Sprite[,] themes_SCREENSHOTS;
public Sprite GetScreenshot(int theme_, int grafikPoints)
{
int num = 0;
int num2 = 0;
while (num2 < 1000 && System.IO.File.Exists(string.Concat(new string[]
{
Application.dataPath,
"/Extern/Screenshots/",
theme_.ToString(),
"/",
num2.ToString(),
".png"
})))
{
num = num2;
num2++;
}
int num3 = 30000 / (num + 1);
num3 = grafikPoints / num3;
if (num3 < 0)
{
num3 = 0;
}
if (num3 > num)
{
num3 = num;
}
if (this.themes_SCREENSHOTS)
{
return this.themes_SCREENSHOTS;
}
this.themes_SCREENSHOTS = this.mS_.LoadPNG(string.Concat(new string[]
{
Application.dataPath,
"/Extern/Screenshots/",
theme_.ToString(),
"/",
num3.ToString(),
".png"
}));
return this.themes_SCREENSHOTS;
}
改动gamescript
public Sprite GetScreenshot()
{
return this.themes_.GetScreenshot(this.gameMainTheme, Mathf.RoundToInt(this.points_grafik));
}
改动initArrays,49是文件夹内图片最大数,根据实际改
最后加上
this.themes_SCREENSHOTS = new Sprite;
dybhkc
发表于 2022-7-28 20:15
yellowottomany 发表于 2022-7-28 20:12
历史性的一刻,我做水管工主题出了我预设的超级马里奥,太激动啦!
终于成了,都快给我整不自信了
dybhkc
发表于 2022-7-29 11:09
dybhkc 发表于 2022-7-28 12:57
1理论上可以,不过几百个主题,十多个等级,这得几千张图啊
2的话,可以试试
...
这个npcips在游戏里体现在哪?npc的游戏好像都在npcgames.txt里啊
dybhkc
发表于 2022-7-29 11:10
yellowottomany 发表于 2022-7-28 11:40
大佬有办法解决如下两个问题吗,
1.游戏封面受主题决定而不是类型,解决足球游戏给篮球封面的问题
2.NPCIPs ...
这个npcips在游戏里体现在哪?npc的游戏好像都在npcgames.txt里
yellowottomany
发表于 2022-7-29 11:16
dybhkc 发表于 2022-7-29 11:10
这个npcips在游戏里体现在哪?npc的游戏好像都在npcgames.txt里
npcgame都是委托游戏,是随机分配给厂商的,比如npcgame里的口袋妖怪可以是随机给任何厂商的,但是NPCIPs可以控制厂商甚至其他东西比如类型主题发布时间,把口袋妖怪固定给任天堂发布,你看我这个帖子描述了NPCIPS文件,https://bbs.3dmgame.com/thread-6320385-1-1.html,两个附件是我真实补丁的厂商和IP文件
yellowottomany
发表于 2022-7-29 11:23
我知道大致改哪里,可能是createnewgame2这个是NPC发新游戏的地方
yellowottomany
发表于 2022-7-29 11:25
还有个地方的代码可以参考,publisherscript里有一项叫onlymobile,只让该厂商发布手机游戏,这个在publisher.txt里录入的,应该可以借鉴
dybhkc
发表于 2022-7-29 11:28
yellowottomany 发表于 2022-7-29 11:23
我知道大致改哪里,可能是createnewgame2这个是NPC发新游戏的地方
我改了一些代码,也加了几个ip测试,但在游戏里没有出现,所以我想知道ip到底是什么,在游戏里怎么出现,是直接作为游戏名还是什么,我好测试
yellowottomany
发表于 2022-7-29 11:30
dybhkc 发表于 2022-7-29 11:28
我改了一些代码,也加了几个ip测试,但在游戏里没有出现,所以我想知道ip到底是什么,在游戏里怎么出现, ...
你直接给雅达利或任天堂1976年加个游戏他1976就能发布
yellowottomany
发表于 2022-7-29 11:31
dybhkc 发表于 2022-7-29 11:28
我改了一些代码,也加了几个ip测试,但在游戏里没有出现,所以我想知道ip到底是什么,在游戏里怎么出现, ...
IP就是指的游戏,由固定厂商在固定时间发布,游戏类型不能早于这个类型研发的时间,不然不会发布,你给任天堂1976加个技巧类就可以了
yellowottomany
发表于 2022-7-29 11:32
任天堂代码18,技巧类代码0,主题随便都行
dybhkc
发表于 2022-7-29 19:46
yellowottomany 发表于 2022-7-29 11:32
任天堂代码18,技巧类代码0,主题随便都行
2基本行了,先给你看一下效果
这是文件里用来测试的
104<P18><G0><T92><%85><Y2015><TY0><PL4>
103<P18><G0><T92><%85><Y2015><TY2><PL5>
102<P18><G0><T92><%85><Y2015><TY1><PL5>
101<P18><G0><T92><%85><Y2015><TY0><PL3>
100<P18><G0><T92><%85><Y2015><TY1><PL2>
99<P18><G0><T92><%85><Y2015><TY2><PL1>
98<P18><G0><T92><%85><Y2015><TY0><PL0>
这是第一行的
这是第二行的
这是第三行的
TY是gameType,PL是platType
gametype
0 单机
1 网络
2 免费
plattype
0 电脑 主机 掌机
1 独占
2 开发商独占
3 Retro 复古
4 Arcade 街机
5 Mobile handy 手机
dybhkc
发表于 2022-7-29 19:49
yellowottomany 发表于 2022-7-29 11:32
任天堂代码18,技巧类代码0,主题随便都行
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.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;
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;
}
textscript加方法private int GetPlatTypeFromSonderIP(int i)
{
for (int j = 0; j <= 5; j++)
{
if (this.npcIPs.Contains("<PL" + j.ToString() + ">"))
{
return j;
}
}
return 0;
}
保存
publisherscript.createnewgame2():
删除this.tS_.GetRandomNpcIP(this.myID, gameScript);往后的gameScript.gameTyp = 0;
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-29 19:50
dybhkc 发表于 2022-7-29 19:46
2基本行了,先给你看一下效果
这是文件里用来测试的
104
名字是ip文件里名字后没带空格
dybhkc
发表于 2022-7-29 20:01
dybhkc 发表于 2022-7-29 19:50
名字是ip文件里名字后没带空格
文件的话ty pl啥的位置是任意的
q123l610
发表于 2022-7-29 20:53
›参与/回复主题