Для исправления ошибки "CS0131: The left-hand side of an assignment must be a variable, a property or an indexer" вам нужно использовать правильный синтаксис для изменения свойстваИсправь ошибку IncreaseWeaponMagazine.cs(61,20): error CS0131: The left-hand side of an assignment must be a variable, a property or an indexer
Код:
capacity
Код:
magazine
Код:
capacity
Код:
capacity
C#:
using System;
using System.Collections.Generic;
using UnityEngine;
using Oxide.Core;
using Rust;
namespace Oxide.Plugins
{
[Info("IncreaseWeaponMagazine", "YourName", "1.0.0")]
class IncreaseWeaponMagazine : RustPlugin
{
void OnServerInitialized()
{
ModifyWeaponMagazine("rifle.ak", 38); // Калашников (AK)
ModifyWeaponMagazine("pistol.eoka", 38); // Электрическая летающая Радужная Конфетка (Eoka)
ModifyWeaponMagazine("rifle.tommy", 25); // Томми Ган (Thompson)
ModifyWeaponMagazine("rifle.lr300", 120); // Пулемет
Puts("Увеличение размера магазина для определенных оружий выполнено");
}
void ModifyWeaponMagazine(string shortName, int capacity)
{
var item = ItemManager.FindItemDefinition(shortName);
if (item == null)
{
Puts($"Ошибка: предмет {shortName} не найден.");
return;
}
var entityPrefab = item.GetComponent<ItemModEntity>()?.entityPrefab;
if (entityPrefab == null)
{
Puts($"Ошибка: нет entityPrefab для {shortName}.");
return;
}
var weapon = entityPrefab.GetComponent<BaseProjectile>();
if (weapon == null)
{
Puts($"Ошибка: {shortName} не является оружием.");
return;
}
var magazine = weapon.primaryMagazine;
if (magazine == null)
{
Puts($"Ошибка: {shortName} не имеет магазина.");
return;
}
var newMagazine = new ItemModProjectile.ProjectileItemMod
{
ammoType = magazine.ammoType,
capacity = capacity,
reloadTime = magazine.reloadTime
};
weapon.primaryMagazine = newMagazine;
Puts($"Размер магазина для {item.displayName.translated} увеличен до {capacity}");
}
}
}
В этом исправленном коде значение свойства
Код:
capacity
Код:
newMagazine