如何解决“属性或索引器'PlayerController.Modifier'无法分配给它-只读”的错误?

时间:2019-05-02 01:38:53

标签: c# dnspy

我已经为我的代码浏览了很多解决方案,但是没有一个适用于我一直尝试添加的解决方案。自从我修改游戏以来,我一直在通过dnSpy进行编码,而且我经常在问题中遇到一个只读错误。

就像我说的那样,我浏览了许多其他有关“无法将属性或索引器分配给它的操作-只读”错误的线程,但是据我所知,它们实际上对我的代码没有帮助

        // Token: 0x06000B48 RID: 2888 RVA: 0x00045EA0 File Offset: 0x000440A0
        public static bool ConsoleCommandModifier(string command_arguments)
        {
            if (!string.IsNullOrEmpty(command_arguments))
            {
                string[] array = command_arguments.Split(new char[]
                {
                    ' '
                });
                if (array.Length > 0 && State.LocalPlayer != null && State.LocalPlayer != null)
                {
                    string text = array[0].ToLower();
                    if (text != null)
                    {
                        if (text == "rocketjump")
                        {
                            State.LocalPlayer.Modifier = (PlayerControllerModifier)ScriptableObject.CreateInstance(typeof(RocketJumpModifier));
                            State.LocalPlayer.Modifier.AddModifier(State.LocalPlayer);
                            return true;
                        }
                    }
                }
            }
            return false;
        }

预期结果是,我输入游戏“ / modifier [modifier]”的聊天消息,并将该修饰符应用于我的角色。此代码早在2018年初就出现在游戏中,我想重新添加代码。

实际结果不过是一个错误,描述了“不能将属性或索引器'PlayerController.Modifier'分配给它-它是只读的。通常不止1个修饰符,但对于此示例,我正在使用“ rocketjump”。当有更多修饰符时,每个

State.LocalPlayer.Modifier = (PlayerControllerModifier)ScriptableObject.CreateInstance(typeof(RocketJumpModifier));

行执行相同的错误,因此我怀疑该错误与该行有关。

最后,如何解决“属性或索引器'PlayerController.Modifier'不能分配给它-这是只读的”错误?

0 个答案:

没有答案