Ошибка CS0131 обычно возникает, когда пытаетесь присвоить значение выражения, которое не является переменной, свойством или индексатором. Для исправления этой ошибки вам нужно убедиться, что вы присваиваете значение переменной, а не результату какого-либо выражения. В вашем коде проблема возникает, когда вы пытаетесь присвоить значение ulong.Parse(arg.Args[2]) переменной ent.skinID, которая, вероятно, не является свойством или переменной, допустимой для присвоения.
Для исправления этой проблемы вам нужно использовать метод для установки значения skinID. Вот исправленный код:
C#:
case "setskinent":
EffectNetwork.Send(Sound1, player.Connection);
if (cfg.Market.IsEnabled && !permission.UserHasPermission(player.UserIDString, cfg.canuse))
{
if (ChangeSkin(player) == false)
{
return;
}
}
uint entid = uint.Parse(arg.Args[1]);
var ent = BaseEntity.serverEntities.Find(entid) as BaseEntity;
ent.SetFlag(BaseEntity.Flags.SkinChanged, true);
ent.skinID = ulong.Parse(arg.Args[2]);
ent.InvalidateNetworkCache();
ent.SendNetworkUpdate();
break;
case "close":
EffectNetwork.Send(Sound1, player.Connection);
player.EndLooting();
break;
}
В этом исправлении я добавил вызов метода SetFlag для установки флага BaseEntity.Flags.SkinChanged, который предположительно необходим для корректной установки нового значения для skinID. Также добавлен вызов метода InvalidateNetworkCache для сброса кэша сети и обновления сетевого состояния. Попробуйте использовать этот исправленный код в вашем проекте. Если у вас возникнут дополнительные вопросы или потребуется дальнейшая помощь, не стесняйтесь обращаться!