1124038307 发表于 2022-1-9 01:16

2代 2022 1.03版本改游戏评分一直卡98分问题难度加成 规模花费 设计点数百分比引擎上限等开发游戏限制 最佳设计按钮 粉丝增长 热度 平台性能和销量

本帖最后由 1124038307 于 2022-1-10 11:16 编辑

这些修改本人只测试了半天 有什么BUG尚未可知谨用慎用
设计点数上限 设计重心上限 粉丝增长 最低热度下限去除开发游戏时各种引擎规模等级限制提示 也就是规模不合 引擎不合都能直接开发
2楼游戏评分一直卡98分问题难度加成
4楼平台性能/平台销量
5楼自动设计按钮未加密——————————————————————————————————————————————————————————————————————————————
规模大小花费
关键词GAMESIZE ------四个位置都改
menu_devgames
2624行
menu_DEV_MMOADDON
559
menu_DEV_ADDON
564
menu_DEV_CHANGEDESIGNproritaet
170

private int CalcDevCosts_Grundkosten()
      {
                return global::UnityEngine.Mathf.RoundToInt((float)(this.costs_gameTyp + this.costs_gameSize / 10) * (1f - this.GetPreisnachlass()) * (this.uiObjects.GetComponent<global::UnityEngine.UI.Slider>().value * 0.01f));
      }


this.costs_gameSize / 10 整数乘除 这里/10就是0.1倍

——————————————————————————————————————————————————————
设计点40改80上限 全部8项10点拉满
这里有两种方法
第一种改完如果不改提示限制 每次都必须用完80点 否则还要改跳过提示 最好用第二种方法 或者第三种方法

第一种方法
关键词schwerpunkte 或GetAmountDesignschwerpunkte
menu_devgames 2221行

public int GetAmountDesignschwerpunkte()
      {
int num = 80;
                for (int i = 0; i < this.g_Designschwerpunkt.Length; i++)
                {
                        num -= this.g_Designschwerpunkt;
                }
                return num;
      }

int num = 80; 原40点 改80点//复读:改完如果不改提示限制 每次都必须用完80点 否则还要改过提示 最好用第二种方法

第二种方法 直接跳过提示强行开发游戏
同一个目录 如果每次80点都用完这一步可以跳过
menu_devgame
方法 关键词 BUTTON_Start
873行

第一个判断条件是上面改80点用的 没改不用理跳过下一条
if (this.GetAmountDesignschwerpunkte() > 0)
                {
                        this.guiMain_.MessageBox(this.tS_.GetText(1464), false);
                        this.OpenSide(3);
                        return;
if (this.GetAmountDesignschwerpunkte() > 0) 这里是设计点没用完的情况 如果剩余点大于0会弹出提示没用完点数并不能继续 直接改成> 40或者80就是最多剩40/80以上才会提示

第二个判断
if (this.GetAmountDesignschwerpunkte() < 0)
                {
                        this.guiMain_.MessageBox(this.tS_.GetText(1465), false);
                        this.OpenSide(3);
                        return;
if (this.GetAmountDesignschwerpunkte() < 0) 小于0 表示超过加点限制变负数 弹出信息并中断返回 所以直接改成< -40 超过多少就改多少 最大也就-40点

第三种方法
直接整段删除
————————————————————————————————————————————————————————————————————————
按照上面的原理 其实就已经知道在开发游戏 选择平台 引擎 规模 超过规定好的限制 点勾号并不能开发并且会弹出窗口提示什么问题 这些判定都在同一个目录menu_devgame 方法BUTTON_Start 所以在里面搜其他开发选项限制提示就行
包括上面已知的设计点数限制判定
if (this.GetAmountDesignschwerpunkte() > 0)
if (this.GetAmountDesignschwerpunkte() < 0)
下面的设计重点百分比 if (this.UpdateGesamtArbeitsprioritaet() >100)
引擎等级不合提示 if (this.EngineFeatureToHighTechLevel())
最小游戏特征功能判定if (this.UpdateGesamtGameplayFeatures() <= 0)
最大游戏特征功能判定 if (this.UpdateGesamtGameplayFeatures() > this.maxFeatures_gameSize[this.g_GameSize])
这些最省事的改法当然是直接删除整段完事 不过个人喜欢保留完整性所以留着代码
————————————————————————————————————————————————————————
热度Hype
关键词hype GEThype
platformscript //66行 游戏机平台热度
gamescript //4826       游戏热度

public float GetHype()
      {
this.hype = 100f;
                return this.hype;
      }
this.hype = 100f;直接加进去表示一直是100热度。


设计重点百分比(最下面的饼状图)限制改100%到200%上限 不知道改重点对点数有什么影响 感觉没有 就是顺手改的
关键词proritaet UpdateGesamtArbeitsprioritae
四个目录都改
menu_devgames
855行
menu_DEV_MMOADDON
559
menu_DEV_ADDON
564
menu_DEV_CHANGEDESIGNproritaet
170

if (this.UpdateGesamtArbeitsprioritaet() > 200)
                {
                        this.guiMain_.MessageBox(this.tS_.GetText(400), false);
                        this.OpenSide(3);
                        return;
if (this.UpdateGesamtArbeitsprioritaet() > 200) 这里原是100 表示超过一百图会变红不能继续 改了超过200就不会提示

————————————————————————————————————————————————
粉丝数量
关键词ADDFANS
目录 main scrip
1378行左右

public void AddFans(int i, int genre_)
{      
                if ((this.gelangweiltGenre != -1 || this.sauerBugs > 0) && genre_ != -1 && i >= 0)
                {
                        return;

直接在前面设置倍数 我这里改成增长5倍
public void AddFans(int i, int genre_)
      {
                if (i > 0)
                {
         i *= 5
         }
                if ((this.gelangweiltGenre != -1 || this.sauerBugs > 0) && genre_ != -1 && i >= 0)
                {
                        return;

————————————————————————————————————————————————————————————————————









1124038307 发表于 2022-1-9 17:10

本帖最后由 1124038307 于 2022-1-9 21:14 编辑

如果任何制作都做到极致 你会发现 游戏评分大多都是98分 这是因为程序就已经规定了 如果游戏超过98分 99 100完全4% 2%概率问题 所以如果想增多点99 100评分改法如下
目录GAMESCRIPT 关键词Review CalcReview
方法public void CalcReview(bool entwicklungsbericht) 1867行左右 AI和玩家的共用代码段
if (num6 >= 98f)
                {
                        num6 = 98f;
                        if (global::UnityEngine.Random.Range(0, 25) == 1)
                        {
                              num6 = 99f;
                        }
                        if (global::UnityEngine.Random.Range(0, 50) == 1)
                        {
                              num6 = 100f;
                        }
                }
if (num6 >= 98f)NUM6就是总评分 判定如果超过或者等于98分 则是从0-25 0-50里面随机一个数等于1 1/25 1/50 概率 所以在这段程序里面加上后面的红色代码 让游戏99和满分概率增加
if (num6 >= 98f)
      {
            num6 = 98f;
            if (global::UnityEngine.Random.Range(0, 25) == 1)
            {
                num6 = 99f;
            }
            if (global::UnityEngine.Random.Range(0, 50) == 1)
            {
                num6 = 100f;
            }
          if (this.playerGame)
            {
                if (global::UnityEngine.Random.Range(0, 10) > 5)
                {
                  num6 = 99f;
                }
                if (global::UnityEngine.Random.Range(0, 10) > 5)
                {
                  num6 = 100f;
                }
            }
      }

0-10随机抽出大于5的概率 5/10
想要多少概率可以自己改>后面的数字



1124038307 发表于 2022-1-9 17:23

本帖最后由 1124038307 于 2022-1-9 17:56 编辑

在CalcReview里面的(this.playerGame)段是玩家代码 (!this.playerGame)是ai代码 其余是共用 CASE0 1 2 3 4 5 分别对应简单到传奇难度的加成计算 加成计算大概如下 1252 基于基础计算 GetReviewCurve分数波动 NUM 是基础分
NUM2是玩法评分
NUM3是图形
NUM4声音
NUm5技术
这些不用管 应该是评奖用的?
NUM6 是总评分
1316 最高四项基础分数的最高分数
1338平台加成计算
1368 年代判定 工作室加成
gameplayStudio 质量工作室
grafikStudio   图形
soundStudio    声音
motionCaptureStudio 动捕
1476行 引擎相关加成
GAMSIZE 规模加成
1588 AI和玩家的总分计算
1617 设计重点点数加成
1597行 非人群加成组合 类型      
1682 主题等级加成
1724 DLC
1739 融资 成本
1754 特殊营销
1766 在if (this.playerGame)里面 有小小的加分 难度越高评分加的越少 如果想设定一个最低评分 直接按照难度在CASE里面设定NUM6的值就OK
1867左右 ai和玩家的共用代码段 难度最高分当98分以上时候99 100 随机概率 1932 最低最高游戏评分1-100
1972 获奖最好 最差奖评分概率 entwicklungsbericht 发展 流行



1124038307 发表于 2022-1-9 20:56

本帖最后由 1124038307 于 2022-1-9 21:09 编辑

平台性能/销量性能
关键词Get Performance
两个目录
platformscrip    600行
menu_dev_konsole 926行

方法private int GetPerformance()
NUM就是性能数值
最后一行return num * 2; 就是表现双倍性能
销量
销量
platformscrip
SELLplay玩家主机销量
num为每周销量

1151行 以下开始计算金额 this.sellsPerWeek = global::UnityEngine.Mathf.RoundToInt(num);
1154 NUM9 一周总成本
1155 pay 一周成本出账
1156 总成本this.costs_production += (long)num9;
1157 一周总销售额
1158 EARN 入账
1159 NUM10总销售额 this.umsatzTotal += (long)num10;
1164 生产成本价格相关? if (!this.IsOutdatet())
1183 纳入数据图表
1187 销售成就

如果要修改销售 可以直接在1151改每周 this.sellsPerWeek = global::UnityEngine.Mathf.RoundToInt(num)*10;10倍数
或者                              this.sellsPerWeek = global::UnityEngine.Mathf.RoundToInt(num) +每周多增加数量

1124038307 发表于 2022-1-9 23:52

本帖最后由 1124038307 于 2022-1-10 08:30 编辑

最佳按钮未加密 参考用 如果改了设计点数 想直接拉满就没必要再改这个
MENU_DEVGAME 2245行
关键词 Settings 方法BUTTON_AutoDesignSettings
if (this.g_GameMainGenre != -1 && this.genres_.GetFocusKnown(i, this.g_GameMainGenre, this.g_GameSubGenre)) 第一个最佳设计重点判定
改成if (this.g_GameMainGenre != -1)

if (this.g_GameMainGenre != -1 && this.genres_.GetAlignKnown(j, this.g_GameMainGenre, this.g_GameSubGenre)) 第二个 设计方向判定
改成if (this.g_GameMainGenre != -1)
两个判定对应上中两个部分的设计条

poke108 发表于 2022-1-11 11:03

楼主这个要用什么软件去修改?

1124038307 发表于 2022-1-11 13:03

poke108 发表于 2022-1-11 11:03
楼主这个要用什么软件去修改?

搜DNSPY改Assembly-CSharp.dll教程 要一点代码知识

siye230 发表于 2022-1-13 15:29

求问这个关键词要怎么搜,用dnspy里的搜索搜不到

siye230 发表于 2022-1-13 16:13

楼主我改完之后,为什么最后编译的时候老是显示错误。

1124038307 发表于 2022-1-15 22:07

siye230 发表于 2022-1-13 16:13
楼主我改完之后,为什么最后编译的时候老是显示错误。

编辑方法就行 编辑错误说明语法不对 注意用英文符号

小野猪Zzz 发表于 2022-1-21 10:54

大佬,生产间的效率怎么改...

1124038307 发表于 2022-1-26 22:52

小野猪Zzz 发表于 2022-1-21 10:54
大佬,生产间的效率怎么改...

这个不清楚 游戏里面调语言找英语德语关键词吧

丿蹲点丶守候灬 发表于 2023-3-12 13:52

1124038307 发表于 2022-1-9 17:10
如果任何制作都做到极致 你会发现 游戏评分大多都是98分 这是因为程序就已经规定了 如果游戏超过98分 99 10 ...

if (this.playerGame)这里现在错误了,要怎么改?
页: [1]
查看完整版本: 2代 2022 1.03版本改游戏评分一直卡98分问题难度加成 规模花费 设计点数百分比引擎上限等开发游戏限制 最佳设计按钮 粉丝增长 热度 平台性能和销量