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

FREE PermAdder : 1.0.0 1.0.0

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

namespace Oxide.Plugins
{
    [Info("PermAdder", "RoadTech", "1.0.0")]
    class PermAdder : RustPlugin
    {
        private ConfigData configData;

        private class ConfigData
        {
            [JsonProperty(PropertyName = "Permissions")]
            public List<string> Permissions { get; set; }
        }

        private void Init()
        {
            configData = Config.ReadObject<ConfigData>();
            if (configData == null)
            {
                LoadDefaultConfig();
            }
            foreach(var perm in configData.Permissions) {
                permission.RegisterPermission(perm, this);
            }
        }

        protected override void LoadDefaultConfig()
        {
            ConfigData defaultConfig = new ConfigData
            {
                Permissions = new List<string> { }
            };
            Config.WriteObject(defaultConfig, true);
        }

        [ChatCommand("addperm")]
        private void AddPermissionCommand(BasePlayer player, string command, string[] args)
        {
            if (args.Length < 1)
            {
                PrintToChat(player, "Usage: /addperm [permission]");
                return;
            }

            string permName = "permadder." + args[0];

            if (!permission.PermissionExists(permName, this))
            {
                configData.Permissions.Add(permName);

                permission.RegisterPermission(permName, this);

                Config.WriteObject(configData, true);

                PrintToChat(player, $"Permission '{permName}' has been added.");
            }
            else
            {
                PrintToChat(player, $"Permission '{permName}' already exists.");
            }
        }

        [ChatCommand("removeperm")]
        private void RemovePermissionCommand(BasePlayer player, string command, string[] args)
        {
            if (args.Length < 1)
            {
                PrintToChat(player, "Usage: /removeperm [permission]");
                return;
            }

            string permName = "permadder." + args[0];

            if (permission.PermissionExists(permName, this))
            {
                configData.Permissions.Remove(permName);

                permission.RevokeGroupPermission("default", permName);

                Config.WriteObject(configData, true);

                PrintToChat(player, $"Permission '{permName}' has been removed.");
            }
            else
            {
                PrintToChat(player, $"Permission '{permName}' does not exist.");
            }
        }
    }
}

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