Для того чтобы сделать таймер конфигурируемым через файл конфигурации, вам нужно добавить соответствующие параметры в файл конфигурации плагина. Вот как можно модифицировать код, чтобы использовать таймер из файла конфигурации:
1. Создайте файл конфигурации (например, config.json) с параметром для задания интервала таймера в секундах:
2. Обновите код плагина для использования значения из файла конфигурации:
C#:
using Oxide.Core;
using UnityEngine;
using Newtonsoft.Json;
namespace Oxide.Plugins
{
[Info("RandomItem", "YourName", "1.0.0")]
class RandomItem : RustPlugin
{
private int timerInterval = 60;
void Init()
{
LoadConfigValues();
}
void LoadConfigValues()
{
timerInterval = GetConfigValue("TimerInterval", timerInterval);
SaveConfig();
}
int GetConfigValue(string key, int defaultValue)
{
if (Config[key] == null) return defaultValue;
return Convert.ToInt32(Config[key]);
}
void SaveConfig() => Config.WriteObject(new { TimerInterval = timerInterval }, true);
void OnServerInitialized()
{
timer.Every(timerInterval, () =>
{
GiveRandomItemToAllPlayers();
});
}
void GiveRandomItemToAllPlayers()
{
foreach (BasePlayer player in BasePlayer.activePlayerList)
{
string randomItem = GetRandomItem();
GiveItemToPlayer(player, randomItem);
}
}
string GetRandomItem()
{
List<ItemDefinition> allItems = ItemManager.GetItemDefinitions();
int randomIndex = UnityEngine.Random.Range(0, allItems.Count);
return allItems[randomIndex].shortname;
}
void GiveItemToPlayer(BasePlayer player, string itemShortName)
{
Item item = ItemManager.CreateByName(itemShortName);
if (item != null)
{
player.GiveItem(item);
}
}
}
}
3. После добавления кода для загрузки и сохранения значений из файла конфигурации, поместите файл config.json в директорию плагина на сервере Rust.
После этих шагов ваш плагин будет использовать интервал таймера, заданный в файле конфигурации, для выполнения функции GiveRandomItemToAllPlayers.