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

FREE Stuff : 1.0.1 1.0.1

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Oxide.Core;
using Oxide.Core.Libraries;
using Oxide.Core.Plugins;
using UnityEngine;
namespace Oxide.Plugins
{
    [Info("Stuff", "molik", "1.0.1")]
    [Description("команда стафа")]

    public class Stuff : RustPlugin
    {
          [PluginReference] Plugin IQChat;
        private bool OnlineStuff = true;
        private bool OnlineModerator = true;
        private bool Online = true;
        private string SendMessageCol = "Нельзя отправлять так часто тикеты! Подождите {0:0} сек.и повторите еще раз!";
        private double Cooldown = 120f;
        private string IQChatPrefix = "Base Rust";
        private string AdminsOnlineColor = "#FF0000";
        private string ModeratorsOnlineColor = "#FFA500";
        private string GlmoderOnlineColor = "#B22222";
        private string OnlineColor = "#00FFFF";
        private string IQChatSteamID = "76561199185509039";
        private string ModerPerm = "stuff.moder";
        private string GlmoderPerm = "stuff.glmoder";
        private string OnlinePerm = "stuff.online";
        private string AdminPerm = "stuff.admin";
        private static Stuff Instance;
        private Dictionary<BasePlayer, DateTime> Cooldowns = new Dictionary<BasePlayer, DateTime>();
        Dictionary<string, string> Commands;

         void OnServerInitialized()
        {    
            Instance = this;
            if (IQChat == null)
            {
                PrintError("Missing plugin dependency IQChat");
                Interface.Oxide.UnloadPlugin(Name);
            }
            PermissionService.RegisterPermissions(this, new List<string>() { ModerPerm, GlmoderPerm, AdminPerm, OnlinePerm });
        }
        string col(string colour, string text)
        {
            return $"<color={colour}>{text}</color>";
        } 
        private List<BasePlayer> adminOnline => BasePlayer.activePlayerList.Where(p => PermissionService.HasPermission(p.userID, AdminPerm)).ToList();
        private List<BasePlayer> moderOnline => BasePlayer.activePlayerList.Where(p => PermissionService.HasPermission(p.userID, ModerPerm)).ToList();
        private List<BasePlayer> glmoderOnline => BasePlayer.activePlayerList.Where(p => PermissionService.HasPermission(p.userID, GlmoderPerm)).ToList();
        private List<BasePlayer> OnlinePlayer => BasePlayer.activePlayerList.Where(p => PermissionService.HasPermission(p.userID, OnlinePerm)).ToList();

        [ChatCommand("stuff")]
        void onCommandAdmins(BasePlayer player, string command, string[] args)
        {
            if (!OnlineStuff) return;

            if (adminOnline.Count <= 0)
            { IQChat?.Call("API_ALERT_PLAYER", player, "На данный момент нет администраторов и модераторов в сети.", IQChatPrefix, IQChatSteamID); return; }

            string msg = $"{col(AdminsOnlineColor, "<color=#18FFD1> Admins Online and Moderators Online</color>:")}\n";
            msg += string.Join("", adminOnline.Select(p => $"\n> {p.displayName} -> Admin\n").ToArray());
            msg += string.Join("\n", glmoderOnline.Select(p => $"\n> {p.displayName} -> Glmoder").ToArray());
            msg += string.Join("\n", moderOnline.Select(p => $"\n> {p.displayName} -> Moder").ToArray());
            IQChat?.Call("API_ALERT_PLAYER", player, msg, IQChatPrefix, IQChatSteamID);
        }
        [ChatCommand("online")]
        void onCommandOnline(BasePlayer player, string command, string[] args)
        {
            if (!Online) return;
            string msg = $"{col(OnlineColor, "Online:")}\n";
            msg += string.Join("\n", OnlinePlayer.Select(p => $"> {p.displayName}").ToArray());
            IQChat?.Call("API_ALERT_PLAYER", player, msg, IQChatPrefix, IQChatSteamID);
        }

        #region Permission Service

       public static class PermissionService
       {
        public static Permission permission = Interface.GetMod().GetLibrary<Permission>();

        public static bool HasPermission(ulong uid, string permissionName)
        {
            return !string.IsNullOrEmpty(permissionName) && permission.UserHasPermission(uid.ToString(), permissionName);
        }

        public static void RegisterPermissions(Plugin owner, List<string> permissions)
        {
            if (owner == null) throw new ArgumentNullException("owner");
            if (permissions == null) throw new ArgumentNullException("commands");

            foreach (var permissionName in permissions.Where(permissionName => !permission.PermissionExists(permissionName)))
            {
                permission.RegisterPermission(permissionName, owner);
            }
        }
      }
    #endregion
    }
}

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