Конечно, вот пример простого плагина на C# для платформы Oxide, который будет выгонять игроков с сервера через 15 минут бездействия:Привет, напиши пожалуйста плагин на платформе Oxide на языке C# для игры Rust, который будет выгонять игроков с сервера через 15 минут бездействия.
C#:
using Oxide.Core.Plugins;
using Oxide.Core.Libraries.Covalence;
using System;
using System.Collections.Generic;
namespace Oxide.Plugins
{
[Info("AutoKick", "YourName", "1.0.0")]
class AutoKick : RustPlugin
{
private Dictionary<string, Timer> playerTimers = new Dictionary<string, Timer>();
void OnServerInitialized()
{
foreach (BasePlayer player in BasePlayer.activePlayerList)
{
StartTimer(player);
}
}
void OnPlayerInput(BasePlayer player, InputState input)
{
if (playerTimers.ContainsKey(player.UserIDString))
{
playerTimers[player.UserIDString].Reset();
}
}
void OnPlayerDisconnected(BasePlayer player, string reason)
{
if (playerTimers.ContainsKey(player.UserIDString))
{
playerTimers[player.UserIDString].Destroy();
playerTimers.Remove(player.UserIDString);
}
}
void StartTimer(BasePlayer player)
{
Timer timer = timer.Once(900f, () =>
{
if (player == null || player.IsSleeping())
return;
player.Kick("You have been kicked for inactivity.");
});
playerTimers[player.UserIDString] = timer;
}
}
}
Этот плагин будет выгонять игроков с сервера через 15 минут бездействия. Помните, что перед использованием плагина всегда рекомендуется протестировать его на тестовом сервере. Надеюсь, это поможет вам создать нужный функционал для вашего сервера Rust!