Хотя бы уведомление в чате
Такое реализовать не сложно. Попробую расписать по шагам.
Для начала создаем текстовый файл "TimeNotifier.cs", TimeNotifier - название плагина к примеру.
Далее идем на http://docs.oxidemod.org/rust/#getting-started и в разделе Getting Started видим пример тела плагина. Копируем в свой текстовый файл, и меняем значения Title, Author, Description на свои, строчку "class EpicStuff : RustPlugin" меняем на "class TimeNotifier : RustPlugin", потому что название файла и класса всегда должны совпадать. Получаем в итоге следующее:
Код:
namespace Oxide.Plugins
{
[Info("TimeNotifier", "public_html", 0.1)]
[Description("Простой плагин показывающий в чате внутриигровое время")]
class TimeNotifier : RustPlugin
{
// The rest of the code and magic
}
}
Далее берем пример циклического таймера вот отсюда - http://docs.oxidemod.org/rust/#timers-basic Копируем код из "Repeating timer", и вставляем в наш хук, вместо строчки "Puts("OnServerInitialized works!");". Получаем следующее:
Код:
namespace Oxide.Plugins
{
[Info("TimeNotifier", "public_html", 0.1)]
[Description("Простой плагин показывающий в чате внутриигровое время")]
class TimeNotifier : RustPlugin
{
void OnServerInitialized()
{
timer.Repeat(5f, 0, () =>
{
Puts("Hello world!")
});
}
}
}
Далее вместо строчки "Puts("Hello world!")" ставим простую функцию Server.Broadcast() которая выводит в чат сообщение всем игрокам, в скобках должна быть строчка, которая будет выводится в чат.
Для получения и форматирования игрового времени будет использоваться функция TOD_Sky.Instance.Cycle.DateTime.ToString("HH:mm").
В итоге получаем готовый плагин:
Код:
namespace Oxide.Plugins
{
[Info("TimeNotifier", "public_html", 0.1)]
[Description("Простой плагин показывающий в чате внутриигровое время")]
class TimeNotifier : RustPlugin
{
void OnServerInitialized()
{
timer.Repeat(600, 0, () =>
{
Server.Broadcast("Игровое время: " + TOD_Sky.Instance.Cycle.DateTime.ToString("HH:mm"));
});
}
}
}