小鑫小帅 发表于 2020-2-6 20:08

有没有4维上限,以及4维消耗速度的代码呢?

あい☆きゃん 发表于 2020-2-17 02:42

请问,为什么我不能改负重啊?

ssss雨夜 发表于 2020-2-25 16:53

叠加完整步骤
搜索stack
双击Awake
原本只有一条this.m_StackDummies.Add(base.transform.GetChild(i).gameObject);
在下面添加一条就是一倍叠加
5倍就再复制4条
添加了就错误啊··

a770178331 发表于 2020-3-1 01:56

这帖子太牛批了!基本上都学会了 哈哈

任性宅子 发表于 2020-3-2 21:58

能不能详细讲怎么刷所有物品?谢谢~~

123POL 发表于 2020-3-4 12:38

qscgu135 发表于 2019-12-25 20:47
dnSpy

百度下就有学习版的这个了,我也是第一次用这个软件。

dnspy用这个需要打开那个文件,只修改一个文件为什么不能保存

123POL 发表于 2020-3-4 12:39

ssss雨夜 发表于 2020-2-25 16:53
叠加完整步骤
搜索stack
双击Awake


解决没   同样

阿拉邦 发表于 2020-3-23 14:52

qq066320 发表于 2020-1-15 14:03
腐烂时间修改:
搜索 food.Update 然后在它的代码里添加一串:this.m_FInfo.m_SpoilTime = 9999f;
9999f就 ...

在food.SetupInfo里面添加“this.m_FInfo.m_SpoilTime = this.m_FInfo.m_SpoilTime * 2f;” 2f是倍率,3f就是3倍腐烂时间
像这样:
public override void SetupInfo()
    {
      base.SetupInfo();
      this.m_FInfo = (FoodInfo)this.m_Info;
      this.m_FInfo.m_SpoilTime = this.m_FInfo.m_SpoilTime * 2f;
    }

一只双眼皮 发表于 2020-4-6 19:10

@ssss雨夜@あい☆きゃん 凡是这种底下红X   代码 CS xxxx这种,都是编译环境问题。也就是说,你代码区里那些变红的,就是找不到位置,不能直接编译的错误。
先尝试:不要用 编辑类 这个功能 ,用 编辑 方法 以缩小出错可能。
如果仍出错,直接复制别人改好的IL代码,在IL中粘贴替换。

3dm_14859747 发表于 2020-4-10 06:31

我改了之后怎么一直在游戏加载界面

EE1652061500 发表于 2020-4-12 00:45

大佬 如何修改这个代码 我编辑了然后编译 下列有三排的代码 我不知道怎么办了

EE1652061500 发表于 2020-4-12 02:03

大佬 求教 有偿

一只双眼皮 发表于 2020-4-12 02:16

EE1652061500 发表于 2020-4-12 00:45
大佬 如何修改这个代码 我编辑了然后编译 下列有三排的代码 我不知道怎么办了 ...

这个,是哪个? 什么玩意三排? 编译的什么? 你这么问,谁知道怎么办?

EE1652061500 发表于 2020-4-12 11:18

就是 跟着修改 我编辑了 编译不了 那个火推 加10倍那个

样小样 发表于 2020-4-13 21:49

ssss雨夜 发表于 2020-2-25 16:53
叠加完整步骤
搜索stack
双击Awake


你是不是把文件拿到别的文件夹编译了,要在游戏原目录下编译,不能挪走,因为很多东西是调用其他文件里面的类

一只双眼皮 发表于 2020-4-13 23:05

本帖最后由 一只双眼皮 于 2020-4-13 23:06 编辑

任性宅子 发表于 2020-3-2 21:58
能不能详细讲怎么刷所有物品?谢谢~~
刷所有物品的 分析方法:
1、构思阶段
当我看到 Control+i 实际上是实现一个 Instance的时候,跟着就找到了 m_DebugSpawnID 它是首先不能为 None,且不能为空的。
CreateItem 这个方法 也是以 SpawnID (Spawn 刷新,生产,一般刷物品、某个对象重生,往往都用这个Spawn) ID 就好解释了。只要它是ID,那它必然有一个 Enums 储存。
2、是否能实现?
所以,我先分析了 m_DebugSpawnID 这个字段的被赋值情况。找到了 MenuDebugItem 下的 OnHide 方法。
如果开启Debug模式,也可以通过这个OnHide 来刷物品。当然因为我直接做了改写,原始是什么快键就没有继续研究它
3、移植
是不是直接把这个Onhide给加快键,并调用到 UpdateDebug这类的 Update方法中就可以了呢?
理论上,如果接口做的很方便是可以的。但GreenHell在这个调用上,并不能直接调取。

原版的 OnHide
    public override void OnHide()
    {
      base.OnHide();
      if (!ItemsManager.Get())
      {
            return;
      }
      if (this.m_List.GetSelectionIndex() < 0 || this.m_List.GetSelectionIndex() >= this.m_Items.Count)
      {
            ItemsManager.Get().m_DebugSpawnID = ItemID.None;
            return;
      }
      string selectedElementText = this.m_List.GetSelectedElementText();
      if (selectedElementText != string.Empty)
      {
            ItemsManager.Get().m_DebugSpawnID = (ItemID)Enum.Parse(typeof(ItemID), selectedElementText);
      }
    }


我改版的UpdateDebug
if (Input.GetKey(KeyCode.LeftControl)) //这一部分不关键,就是写了一些快键。
      {
            if (Input.GetKeyDown(KeyCode.P)) //这一部分不关键,就是写了一些快键。
            {
                this.UnlockItemInNotepad(ItemID.Logs_Bed); //这一部分不关键,解锁地图,非刷物品相关问题。
            }
            if (Input.GetKeyDown(KeyCode.LeftAlt)) //这一部分不关键,就是写了一些快键。
            {
                MenuInGameManager.Get().ShowScreen(typeof(MenuDebugItem)); //其实这里就这一句是我加的核心。
                string selectedElementText = this.m_List.GetSelectedElementText();
                if (selectedElementText != string.Empty)
                {
                  ItemsManager.Get().m_DebugSpawnID = (ItemID)Enum.Parse(typeof(ItemID), selectedElementText);
                }
            }
      }

我发现:需要 Show 一个 Screen ,也就是 要显示MenuDebugItem 这个菜单,以使玩家来选择 DebugSpawnId 的目标。
而MenuDebugItem 这个类,需要在 MenuInGameManager 类中的 UpdateInput 方法中调用 ,用 this.ShowScreen(typeof(MenuDebugItem));来调用。
可我如果直接在 ItemManager这个类中直接this那肯定是不行的。 这里需要改写。
于是最终出现了 Menu xxxx . Get(). ShowScreen xxxxxx. 这样的格式。
(这里牵扯到编程规则,对于非专业编程玩家来说,最好在这里直接使用编辑 方法自己来尝试。一直尝试到不反红报错)
后面也一样,如果不是公开的,需要转换,就语法转换过来。这里好像不用转,直接复制粘贴过来(时间长我忘记了)
新功能 . . Get √
这是通用方法。一切mod的修改、再创造,都是这种:1、发现代码-2、构思功能-3、分析结构-4、调试-5、成功-6、发表(也有实现不了的功能,也有不爱发表的玩家)。
新技能..Get √

EE1652061500 发表于 2020-4-14 00:33

一只双眼皮 发表于 2020-4-13 23:05
刷所有物品的 分析方法:
1、构思阶段
当我看到 Control+i 实际上是实现一个 Instance的时候,跟着就找到 ...

大佬 找到这个值 对于萌新来说 有点难度哦

EE1652061500 发表于 2020-4-14 02:21

一只双眼皮 发表于 2020-4-13 23:05
刷所有物品的 分析方法:
1、构思阶段
当我看到 Control+i 实际上是实现一个 Instance的时候,跟着就找到 ...

一步一步的去对 都没知道如何找这个值 更别说修改了 好难啊

任性宅子 发表于 2020-4-14 11:33

一只双眼皮 发表于 2020-4-13 23:05
刷所有物品的 分析方法:
1、构思阶段
当我看到 Control+i 实际上是实现一个 Instance的时候,跟着就找到 ...

谢谢大大的解答~~虽然不太懂,但我会去尝试的~~

3dm_14859747 发表于 2020-4-17 16:48

bill783 发表于 2019-12-27 13:30
搜skill.ArcherySkill




大佬,能 详细说下怎么改弓箭的晃动 吗,我找到发现有几个一样的public float GetAimDuration()
    {
      return this.m_AimDuration.Evaluate(this.m_Value);
    }

一只双眼皮 发表于 2020-4-22 12:29

3dm_14859747 发表于 2020-4-17 16:48
大佬,能 详细说下怎么改弓箭的晃动 吗,我找到发现有几个一样的public float GetAimDuration()
    {
   ...

Aim是瞄准 因为不止弓有瞄准,所以会有多个。

spear是矛
throwing 投掷 “G” 即从背包扔石头出去
Spearfishing 鱼叉,理当是指四叉矛
Blowgun 吹箭筒。这个是后期待开发的,暂时没有开放
Archery 是弓箭。(射术)
按照同样的修改方法对应修改这些项,即可。
近期超级忙,没时间写代码。1.5.3也不知道啥时候有空更新:lol
能自己动手,自强的玩家有福了。

丶汐 发表于 2020-4-22 14:34

一只双眼皮 发表于 2020-4-22 12:29
Aim是瞄准 因为不止弓有瞄准,所以会有多个。

spear是矛


大佬,之前我直接用修改器秒建的,昨晚1.5.3更新后又来了个小更新就用不了了。但是自己想照着改个F8秒放建筑现在也不能改,m_DebugBuild似乎不存在了,一编译就错误,这怎么办呀。而且这个秒放是可以即使红色也能直接建造在指定位置吗?谢谢大佬。

一只双眼皮 发表于 2020-4-22 22:58

本帖最后由 一只双眼皮 于 2020-4-23 01:53 编辑

丶汐 发表于 2020-4-22 14:34
大佬,之前我直接用修改器秒建的,昨晚1.5.3更新后又来了个小更新就用不了了。但是自己想照着改个F8秒放 ...
以前的秒建是可以的。现在如果没有了,想办法传文件给我我看看。最近挺忙,没空更新游戏。:L我的本体还停留在1.5.1
up2 debug 模式很可能被移出游戏了。以前直接对其修改的项目变得很麻烦。我正在尝试。
update3可以实现。变得炒鸡麻烦
update4 移步58楼。那才是正确的修改方法。
以下修改方法虽然是错误的,但其他玩家可以借鉴添加字段 等操作的流程。就不删除了

步骤1、在类ConstructionGhost 下新建一个字段
1-1、右键点 天兰色的 类名ConstructionGhost 选择:创建字段
名称用 m_DebugBuild
再点 类型这个页标签 显示的应该是int
点int 下方的 清除
出现类型 这个亮着的按钮
点击 类型 ,然后在上面的输入栏输入bool
选择深蓝色的bool                         {}system这一行。点确定。
这样回到上一级界面,会发现 int变成了bool 再点确定。
这样就对了
然后复制老版本的代码


2、从ConstructionGhost.Update 中复制代码,粘贴到新版

3、在新版的ConstructionGhostManager.Update中

任意空白处右键——编辑IL指令
在局部变量标签下,添加局部变量-会自动生成一个 int 变量。
然后 一路确定出来。
在左上角 文件 菜单中 选择 全部保存。
4、再次从左边(旧版)中复制代码到新版(右边),就不再反红了。

我把改好的(只有这一项功能)放到网盘了。
链接: https://pan.baidu.com/s/1DBWVENIlYIjcDhYxSjFrAg 提取码: 1vdd


丶汐 发表于 2020-4-22 23:34

一只双眼皮 发表于 2020-4-22 22:58
以前的秒建是可以的。现在如果没有了,想办法传文件给我我看看。最近挺忙,没空更新游戏。我的本体还停 ...

Debug应该是不能直接用了。那我自己是改不成了,就慢慢等大佬更新吧:lol

这应该是最新版的Assembly-CSharp.dll了。
链接: https://pan.baidu.com/s/1d_lsll2yPGNW9I9gnh0QKQ
提取码: sujm

一只双眼皮 发表于 2020-4-22 23:48

丶汐 发表于 2020-4-22 23:34
Debug应该是不能直接用了。那我自己是改不成了,就慢慢等大佬更新吧

这应该是最新版的Assembly-CSha ...

看楼上。改出来了。需要测试。

一只双眼皮 发表于 2020-4-22 23:56

摩天大楼:
删除 ConstructionGhost.UpdateAttachingToSlot 中的

                if (construction != null && construction.m_Level >= 2 && constructionSlot.m_UpperLevelSlot)
                {
                        return false;
                }

这几行,重新编译即可。

丶汐 发表于 2020-4-23 00:35

本帖最后由 丶汐 于 2020-4-23 00:53 编辑

一只双眼皮 发表于 2020-4-22 23:48
看楼上。改出来了。需要测试。
大佬你发的分享是空文件夹。我按流程自己弄了一下,在加载存档的时候会直接崩溃退出。
检查了一下,还是存在闪退。我也实在看不出问题所在……
不管怎么样先谢谢大佬。大佬有空能做再做吧。

一只双眼皮 发表于 2020-4-23 01:51

本帖最后由 一只双眼皮 于 2020-4-23 01:56 编辑

丶汐 发表于 2020-4-23 00:35
大佬你发的分享是空文件夹。我按流程自己弄了一下,在加载存档的时候会直接崩溃退出。
检查了一下,还是存 ...
解决了。真特么不能偷懒啊。我就想省点事,结果搞一晚上。明天还要上班:'( 53#的方法不对。

需要在 ConstructionGhost 这个类中修改 UpdateState 为下面的格式
过测项:进游戏-读取存档-按F8放建筑。
没有长期测试,会不会还有问题未知。

    public void UpdateState()
    {
      if (this.IsReady() || Input.GetKeyDown(KeyCode.F8))
      {
            this.SetState(ConstructionGhost.GhostState.Ready);
      }
      ConstructionGhost.GhostState state = this.m_State;
      if (state == ConstructionGhost.GhostState.Dragging)
      {
            this.UpdateRotation();
            this.UpdateTransform();
            this.UpdateColor();
            this.UpdateShaderProps();
            return;
      }
      if (state != ConstructionGhost.GhostState.Building)
      {
            return;
      }
      this.UpdateShaderProps();
    }





丶汐 发表于 2020-4-23 08:48

一只双眼皮 发表于 2020-4-23 01:51
解决了。真特么不能偷懒啊。我就想省点事,结果搞一晚上。明天还要上班 53#的方法不对。

需要在 Const ...

太强了太强了,确实可以用了。辛苦大佬,昨晚我自己测试完都已经睡了。真是十分感谢。{:3_121:}

mrh121 发表于 2020-4-23 22:19

本帖最后由 mrh121 于 2020-4-24 00:45 编辑

一只双眼皮 发表于 2020-4-23 01:51
解决了。真特么不能偷懒啊。我就想省点事,结果搞一晚上。明天还要上班 53#的方法不对。

需要在 Const ...
大佬1.5.3版本Debug items打开后是空的,有办法解决吗

解决了,把1.5.2版本的MenuDebugItem文本复制粘贴到1.5.3版本的MenuDebugItem里面就好了
页: 1 [2] 3
查看完整版本: 收集的大佬的修改攻略,大家一起来补充下!