Иконка ресурса

FREE Online : 1.0.2 1.0.2

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
namespace Oxide.Plugins
{
    [Info("Online", "Online", "1.0.2")]
    public class Online : RustPlugin
    {
		private void OnServerInitialized()
		{
			timer.Repeat(720f, 0, () => {
				ShowOnlineInChat();
			});
		}
		
		[ChatCommand("online")]
		private void ShowOnlineInChat(BasePlayer player = null)
		{
			var online = BasePlayer.activePlayerList.Count;
			var sleep = BasePlayer.sleepingPlayerList.Count;
			var connect = ServerMgr.Instance.connectionQueue.Joining;
			var queue = ServerMgr.Instance.connectionQueue.Queued;
			
			SendOnlineMsg(player, online, sleep, connect, queue);
		}
		
		[ChatCommand("online_test")]
		private void ShowOnlineTestInChat(BasePlayer player = null)
		{
			if (player.IsAdmin)			
				SendOnlineMsg(player, 123, 456, 324, 77);
		}
		
		private void SendOnlineMsg(BasePlayer player, int online, int sleep, int connect, int queue)
		{
			var msg = $"<size=15>Сейчас <color=#ffa35c>"+FormatString((uint)online, "игрок", "игрока", "игроков")+"</color> онлайн";
			if(connect != 0) {
				if(sleep == 0 && queue == 0)
					msg += " и ";
				else
					msg += ", ";
				msg += "<color=#ff801f>"+FormatString((uint)connect, "игрок", "игрока", "игроков")+"</color> подключаются";
			}
			if(sleep != 0) {
				if(queue == 0)
					msg += " и ";
				else
					msg += ", ";
				msg += "<color=#ff6e00>"+FormatString((uint)sleep, "игрок", "игрока", "игроков")+"</color> спят";
			}
			if(queue != 0 && online + connect > ConVar.Server.maxplayers - 1) {
				msg += " и ";
				msg += "<color=#cc5800>"+FormatString((uint)queue, "игрок", "игрока", "игроков")+"</color> в очереди";
			}
			msg += "</size>.";
			if(player != null)
				SendReply(player, msg);
			else
				Server.Broadcast(msg);
		}
		
		private static string FormatString(uint str, string first, string second, string third)
		{
			var formatted = str + " ";
			if (str > 100)
				str = str % 100;
			if (str > 9 && str < 21)
				formatted += third;
			else
				switch (str % 10)
				{
					case 1:
						formatted += first;
						break;
					case 2:
					case 3:
					case 4:
						formatted += second;
						break;
					default:
						formatted += third;
						break;
				}

			return formatted;
		}
    }
	
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху