C#:
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Oxide.Plugins
{
[Info("RustLimitPlus", "MaltrzD", "0.0.1")]
class RustLimitPlus : RustPlugin
{
private ConfigData configuration;
private void Loaded()
{
ReadConfig();
SetParametrs();
}
private void SetParametrs()
{
ConVar.Server.max_sleeping_bags = configuration.MaxSleepingBags;
ConVar.Sentry.maxinterference = configuration.MaxTurretInRadius;
ConVar.Sentry.interferenceradius = configuration.CheckTurretsRadius;
Puts($"Current settings:\n" +
$"Max sleeping bags: {configuration.MaxSleepingBags}\n" +
$"Radius: {configuration.CheckTurretsRadius}\n" +
$"Max turrets in radius: {configuration.MaxTurretInRadius}");
}
#region CONFIG
class ConfigData
{
[JsonProperty("Максимальное количество спальных мешков на игрока")] public int MaxSleepingBags = 15;
[JsonProperty("Радиус проверки на другие турели")] public int CheckTurretsRadius = 40;
[JsonProperty("Максимум турелей в радиусе")] public int MaxTurretInRadius = 12;
}
protected override void LoadDefaultConfig()
{
var config = new ConfigData();
SaveConfig(config);
}
void SaveConfig(object config)
{
Config.WriteObject(config, true);
}
void ReadConfig()
{
base.Config.Settings.ObjectCreationHandling = ObjectCreationHandling.Replace;
configuration = Config.ReadObject<ConfigData>();
SaveConfig(configuration);
}
#endregion
}
}