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

FREE OnlinePlus : 1.0.0 1.0.0

Нет прав для скачивания
C#:
using System.Collections.Generic;
using System.Linq;

namespace Oxide.Plugins
{
    [Info(plugininfor.Title, plugininfor.Author, plugininfor.Version)]
    [Description(plugininfor.Description)]
    class OnlinePlus : RustPlugin
    {
        private static class plugininfor
        {
            internal const string Author = "setfps"; internal const string Title = "OnlinePlus"; internal const string Version = "1.0.0"; internal const string Description = "Отображение онлайна сервера (КАСТОМНОЕ)";
        }
        #region Perms
        const string permfromuse = "perm.fromuse";
        const string moderperm = "perm.moder";
        #endregion

        void OnServerInitialized()
        {
            PrintWarning("Плагин успешно загружен. skyplugins.ru (by setfps)");
            lang.RegisterMessages(Messages, this, "ru");
            Messages = lang.GetMessages("ru", this);
        }
        void Init()
        {
            permission.RegisterPermission(permfromuse, this);
            permission.RegisterPermission(moderperm, this);
        }

        [ChatCommand("online")]
        void online(BasePlayer player)
        {
            var admins = BasePlayer.activePlayerList.Count(p => p.IsAdmin);
            var kolvo = BasePlayer.activePlayerList.Count;
            var moders = BasePlayer.activePlayerList.Count(p => permission.UserHasGroup(p.UserIDString, moderperm));
            if (!permission.UserHasPermission(player.UserIDString, permfromuse) && !player.IsAdmin)
            {
                SendReply(player, Messages["noPerm"]);
                Effect.server.Run("assets/prefabs/locks/keypad/effects/lock.code.denied.prefab",
                    player.GetNetworkPosition());
                return;
            }
            PrintToChat(player, $"Сейчас на сервере {kolvo} игроков, {moders} модераторов, {admins} администраторов.");
        }
        [ChatCommand("players")]
        void player(BasePlayer player)
        {
            if (!permission.UserHasPermission(player.UserIDString, permfromuse) && !player.IsAdmin)
            {
                SendReply(player, Messages["noPerm"]);
                Effect.server.Run("assets/prefabs/locks/keypad/effects/lock.code.denied.prefab",
                    player.GetNetworkPosition());
                return;
            }
            string plist = "";
            var players = BasePlayer.activePlayerList.Count;
            if (players == 0)
            {
                plist += "Игроков щас нет в сети";
            }
            else
            {
                foreach (BasePlayer p in BasePlayer.activePlayerList)
                {
                    if (BasePlayer.activePlayerList.Count == 1)
                    {
                        plist += $"Вы на сервере один\n— {p.displayName} ({p.UserIDString})";
                    }
                    else
                    {
                        plist += $"{p.displayName} ({p.UserIDString})\n";
                    }
                }

                InChat(player, Messages["players"], players, plist);
            }
        }

        private void InChat(BasePlayer player, string msgId, params object[] args)
        {
            PrintToChat(player, lang.GetMessage(msgId, this, player.UserIDString), args);
        }

        private string GetLangValue(string key, string userId) => lang.GetMessage(key, this, userId);

        private Dictionary<string, string> Messages = new Dictionary<string, string>()
        {
            {"noPerm", "Недостаточно прав."},
            {"players", "Список Игроков ({0}):\n{1}"},
        };
    }
}

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