Извините за ошибку. Вместо использованияError while compiling: TankBreaker.cs(23,58): error CS0103: The name `DamageType' does not exist in the current context
DamageType.Bullet
можно использовать Rust.DamageType.Bullet
. Вот исправленный код: C#:
using Oxide.Core;
using System.Collections.Generic;
using UnityEngine;
using Rust;
namespace Oxide.Plugins
{
[Info("Tank Breaker", "YourName", "1.0.0")]
[Description("Allows players to use regular ammunition to damage tanks")]
class TankBreaker : RustPlugin
{
private void OnEntityTakeDamage(BaseCombatEntity entity, HitInfo hitInfo)
{
if (entity is BradleyAPC)
{
var attacker = hitInfo?.Initiator as BasePlayer;
var weapon = hitInfo?.Weapon?.GetItem()?.info;
if (attacker != null && weapon != null && weapon.shortname == "ammo.rifle")
{
var damage = hitInfo.damageTypes.Get(Rust.DamageType.Bullet);
damage.amount *= 2f; // Удвоить урон от патрона
// Применить увеличенный урон к танку
entity.Hurt(damage, attacker, false);
}
}
}
}
}
Попробуйте скомпилировать плагин с этим исправлением. Он должен работать как ожидается.