C#:
namespace Oxide.Plugins
{
[Info("FDoorRepair", "fufeldev", "1.0.0")]
public class FDoorRepair : RustPlugin
{
private void OnServerInitialized()
{
RepairAllDoors();
}
[ChatCommand("doorfix")]
private void DoorFixCommand(BasePlayer player, string command, string[] args)
{
int count = RepairAllDoors();
if (player != null) player.ChatMessage($"Починено дверей: {count}");
}
[ConsoleCommand("doorfix")]
private void DoorFixConsoleCommand(ConsoleSystem.Arg arg)
{
int count = RepairAllDoors();
Puts($"Починено дверей: {count}");
}
private int RepairAllDoors()
{
int count = 0;
foreach (BaseNetworkable networkable in BaseNetworkable.serverEntities)
{
Door door = networkable as Door;
if (door == null || door.IsDestroyed) continue;
float maxHealth = door.MaxHealth();
if (maxHealth <= 0f || door.Health() >= maxHealth) continue;
door.SetHealth(maxHealth);
door.SendNetworkUpdate();
count++;
}
return count;
}
}
}