C#:
using Newtonsoft.Json;
using System.Collections.Generic;
namespace Oxide.Plugins
{
[Info("StashBlock", "walkinrey", "1.0.0")]
public class StashBlock : RustPlugin
{
Configuration config;
class Configuration
{
[JsonProperty("Разрешение для установки тайников")]
public string permission = "stash.use";
}
void Loaded() => permission.RegisterPermission(config.permission, this);
protected override void SaveConfig() => Config.WriteObject(config);
protected override void LoadConfig()
{
base.LoadConfig();
try
{
config = Config.ReadObject<Configuration>();
}
catch
{
LoadDefaultConfig();
}
NextTick(SaveConfig);
}
protected override void LoadDefaultConfig() => config = new Configuration();
protected override void LoadDefaultMessages()
{
lang.RegisterMessages(new Dictionary<string, string>
{
["StashBlock"] = "You can't use small stashes!"
}, this, "en");
lang.RegisterMessages(new Dictionary<string, string>
{
["StashBlock"] = "Вы не можете использовать тайники!"
}, this, "ru");
}
void OnEntitySpawned(BaseEntity entity)
{
if (entity is StashContainer)
{
var player = BasePlayer.FindByID(entity.OwnerID);
if (player != null)
{
if(player.IPlayer.HasPermission(config.permission)) return;
SendReply(player, lang.GetMessage("StashBlock", this, player.userID.ToString()));
player.GiveItem(ItemManager.CreateByName("stash.small"));
NextTick(()=>{entity.Kill();});
}
}
}
}
}