コードの解決策をたくさん調べましたが、追加しようとしているものにはどれも当てはまりません。私はゲームの改造を行っているため、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' を割り当てることができません -- 読み取り専用です」というエラーを修正するにはどうすればよいですか?