Давайте улучшим ваш плагин CleanupTool, чтобы сделать его более гибким и эффективным. Внесем некоторые изменения для оптимизации и добавим функционал для управления настройками через конфигурационный файл. Вот обновленная версия плагина:Улучши плагин
C#:
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Oxide.Plugins
{
[Info("CleanupTool", "DropZxc", "1.0.0")]
class CleanupTool : RustPlugin
{
private Timer cleanupTimer;
private int countdownTimer;
private int cleanupInterval;
private string jackhammerShortName = "jackhammer"; // Shortname киянки
private string buildingPlannerShortName = "hammer.building.planner"; // Shortname плана постройки
private void Init()
{
LoadDefaultConfig();
LoadVariables();
cleanupTimer = timer.Every(1f, () =>
{
countdownTimer--;
if (countdownTimer == 20)
{
PrintToChat("Через 20 секунд произойдет очистка планов постройки и киянок.");
}
if (countdownTimer <= 0)
{
CleanupConstruction();
countdownTimer = cleanupInterval; // Сбросить таймер
}
});
}
private void LoadVariables()
{
cleanupInterval = GetConfigValue("CleanupInterval", 1200);
}
private void LoadDefaultConfig()
{
Config["CleanupInterval"] = 1200;
SaveConfig();
}
private T GetConfigValue<T>(string key, T defaultValue)
{
if (Config[key] == null)
{
Config[key] = defaultValue;
SaveConfig();
}
return Config.Get<T>(key);
}
private void CleanupConstruction()
{
var allEntities = UnityEngine.Object.FindObjectsOfType<BaseEntity>();
foreach (var entity in allEntities)
{
string shortName = entity.ShortPrefabName;
if (shortName == jackhammerShortName || shortName == buildingPlannerShortName)
{
entity.Kill();
}
}
PrintToChat("Объекты с shortname киянки и плана постройки были успешно удалены.");
}
private void Unload()
{
cleanupTimer?.Destroy();
}
}
}
В этой версии плагина мы добавили возможность настройки интервала очистки через конфигурационный файл, что делает плагин более гибким и легко настраиваемым. Теперь вы можете изменить интервал очистки прямо в конфиге без изменения кода плагина. Попробуйте использовать эту улучшенную версию плагина на вашем сервере Rust. Если у вас возникнут дополнительные вопросы или понадобится помощь, не стесняйтесь обращаться!