Для изменения метода
CleanupConstruction
таким образом, чтобы он удалял объекты по их
shortname
(краткое имя) киянки и плана постройки после завершения времени, вам необходимо получить
shortname
каждого объекта и сравнить его с заданными
shortname
для киянки и плана постройки. После этого произвести удаление соответствующих объектов. Ниже приведен обновленный код с этими изменениями:
C#:
using Oxide.Core;
using System;
using System.Linq;
using UnityEngine;
namespace ConstructionCleanupPlugin
{
[Info("ConstructionCleanup", "YourName", "1.0.0")]
class ConstructionCleanup : RustPlugin
{
private Timer cleanupTimer;
private int countdownTimer;
private string jackhammerShortName = "jackhammer"; // Shortname киянки
private string buildingPlannerShortName = "hammer.building.planner"; // Shortname плана постройки
private void Init()
{
countdownTimer = 600; // Установка начального значения таймера (600 секунд = 10 минут)
cleanupTimer = timer.Every(1f, () =>
{
countdownTimer--;
if (countdownTimer == 20)
{
PrintToChat("Через 20 секунд произойдет очистка планов постройки и киянок.");
}
if (countdownTimer <= 0)
{
CleanupConstruction();
countdownTimer = 600; // Сбрасываем таймер обратно на 10 минут
}
});
}
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 OnPlayerConnected(BasePlayer player)
{
PrintToChat($"Следующая очистка через {countdownTimer} секунд.");
}
private void Unload()
{
cleanupTimer?.Destroy();
}
}
}
В этом обновленном коде добавлены переменные для хранения
shortname
киянки и плана постройки. Метод
CleanupConstruction
теперь проходит по всем объектам на карте, находит объекты с соответствующими
shortname
киянки и плана постройки и удаляет их. Пожалуйста, убедитесь, что
shortname
для киянки и плана постройки указаны корректно в коде.