C#:
using System;
using System.Linq;
namespace Oxide.Plugins {
[Info("Plan", "sdapro", "1.0.4")]
//YouTube https://www.youtube.com/channel/UCaatLYzqycP6He7TEbK-IDA
//https://t.me/+jb13FvJyK4o5MTli
public class Plan : RustPlugin {
#region Hooks
private void OnEntitySpawned(BaseNetworkable entity) {
if (entity != null && entity.name.Contains("hemp.entity") || entity.name.Contains("small_stash_deployed") || entity.name.Contains("debris.stone.external.wall") || entity.name.Contains("romancandle-violet") || entity.name.Contains("electric.flasherlight.deployed") || entity.name.Contains("romancandle-blue") || entity.name.Contains("romancandle") || entity.name.Contains("electric.sirenlight.deployed") || entity.name.Contains("romancandle-green") || entity.name.Contains("mortargreen") || entity.name.Contains("mortarblue") || entity.name.Contains("mortarviolet") || entity.name.Contains("mortarchampagne") || entity.name.Contains("mortarorange") || entity.name.Contains("mortarpattern")) {
timer.Once(despawnTimer, () => {
if(!entity.IsDestroyed) entity?.Kill();
}
);
}
}
#endregion
#region Config
private int despawnTimer;
private new void LoadConfig() {
GetConfig(ref despawnTimer, "Settings", "Despawn timer (seconds)");
SaveConfig();
}
private void Init() => LoadConfig();
private void GetConfig<T>(ref T variable, params string[] path) {
if (path.Length == 0) return;
if (Config.Get(path) == null) {
Config.Set(path.Concat(new object[] {
variable
}
).ToArray());
}
variable = (T)Convert.ChangeType(Config.Get(path), typeof(T));
}
protected override void LoadDefaultConfig() => PrintWarning("Generating new configuration file...");
#endregion
}
}