• Добрый день, если вы испытываете проблемы с пополнением баланса, свяжитесь с @MrFallen.

Помогите Не работает плагин на выдачу perm при установке префикса

MARKELOXX

21 Апр 2021
7
2
0
Всем привет, скачал плагин с юмода Тык кое что подправил но он не работает, подскажите что не правильно я сделал, желательно описать, так как я в этом еще новичек, но пытаюсь что то сделать сам, спасибо
Данный плагин должен проверять на стоит ли префик перед ником или нет если это так он забирает kits.new и выдает kits.fus+, посмотрите пожалуйста.
Код:
using Oxide.Core.Libraries.Covalence;

namespace Oxide.Plugins
{
    [Info("markNickReward", "MARKELOX", "0.0.1", ResourceId = 0)]
    [Description("Adds players to a group based on phrases in their name")]

    class NameRewards1 : CovalencePlugin
    {
        ConfigData config;

        class ConfigData
        {
            public string RevPerm { get; set; }
            public string Perm { get; set; }
            public string[] Phrases { get; set; }
        }

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(new ConfigData
            {
                Perm = "kits.fus+",
                RevPerm = "kits.new",
                Phrases = new[] { "FUSION#", "FUSIONRUST" }
            }, true);
        }

        void Init()
        {
            config = Config.ReadObject<ConfigData>();
           // if (!permission.GrantPermission(config.Perm))
        }

        void OnUserConnected(IPlayer player)
        {
            foreach (var phrase in config.Phrases)
            {
                if (permission.UserHasPermission(player.Id, config.Perm)) break;
                if (player.Name.ToLower().Contains(phrase.ToLower()))
                {
                    permission.RevokeUserPermission(player.Id, config.RevPerm);
                    permission.GrantUserPermission(player.Id, config.Perm, this);
                    break;
                }
                permission.GrantUserPermission(player.Id, config.RevPerm, this);
                permission.RevokeUserPermission(player.Id, config.Perm);
            }
        }
    }
}
 
Всем привет, скачал плагин с юмода Тык кое что подправил но он не работает, подскажите что не правильно я сделал, желательно описать, так как я в этом еще новичек, но пытаюсь что то сделать сам, спасибо
Данный плагин должен проверять на стоит ли префик перед ником или нет если это так он забирает kits.new и выдает kits.fus+, посмотрите пожалуйста.
Код:
using Oxide.Core.Libraries.Covalence;

namespace Oxide.Plugins
{
    [Info("markNickReward", "MARKELOX", "0.0.1", ResourceId = 0)]
    [Description("Adds players to a group based on phrases in their name")]

    class NameRewards1 : CovalencePlugin
    {
        ConfigData config;

        class ConfigData
        {
            public string RevPerm { get; set; }
            public string Perm { get; set; }
            public string[] Phrases { get; set; }
        }

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(new ConfigData
            {
                Perm = "kits.fus+",
                RevPerm = "kits.new",
                Phrases = new[] { "FUSION#", "FUSIONRUST" }
            }, true);
        }

        void Init()
        {
            config = Config.ReadObject<ConfigData>();
           // if (!permission.GrantPermission(config.Perm))
        }

        void OnUserConnected(IPlayer player)
        {
            foreach (var phrase in config.Phrases)
            {
                if (permission.UserHasPermission(player.Id, config.Perm)) break;
                if (player.Name.ToLower().Contains(phrase.ToLower()))
                {
                    permission.RevokeUserPermission(player.Id, config.RevPerm);
                    permission.GrantUserPermission(player.Id, config.Perm, this);
                    break;
                }
                permission.GrantUserPermission(player.Id, config.RevPerm, this);
                permission.RevokeUserPermission(player.Id, config.Perm);
            }
        }
    }
}
А что ты именно подправил ?
 
А что ты именно подправил ?
Вот исходник

Код:
using Oxide.Core.Libraries.Covalence;

namespace Oxide.Plugins
{
    [Info("NameRewards", "Kappasaurus", "1.0.0", ResourceId = 0)]
    [Description("Adds players to a group based on phrases in their name")]

    class NameRewards : CovalencePlugin
    {
        ConfigData config;

        class ConfigData
        {
            public string Group { get; set; }
            public string[] Phrases { get; set; }
        }

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(new ConfigData
            {
                Group = "vip",
                Phrases = new[] { "Oxide", "Example" }
            }, true);
        }

        void Init()
        {
            config = Config.ReadObject<ConfigData>();
            if (!permission.GroupExists(config.Group))
                permission.CreateGroup(config.Group, config.Group, 0);
        }

        void OnUserConnected(IPlayer player)
        {
            foreach (var phrase in config.Phrases)
            {
                if (permission.UserHasGroup(player.Id, config.Group)) break;
                if (player.Name.ToLower().Contains(phrase.ToLower()))
                {
                    permission.AddUserGroup(player.Id, config.Group);
                    break;
                }
                permission.RemoveUserGroup(player.Id, config.Group);
            }
        }
    }
}
 
Просто мне нужно чтобы было так:
Есть текст? Выдаём kits.fus+ и забираем kits.new
Нет текста? Забираем kits.fus+ и выдаём kits.new
Ну так это сделать легко.

Только проверку делай не по тексту а по пермиссиону. Если брать префиксы то каждый префикс это пермиссион же. Ну вот. Делаешь проверку на пермиссион и если есть то выдаёшь свой пермиссион и удаляшь тот который не нужен
 
Всем привет, скачал плагин с юмода Тык кое что подправил но он не работает, подскажите что не правильно я сделал, желательно описать, так как я в этом еще новичек, но пытаюсь что то сделать сам, спасибо
Данный плагин должен проверять на стоит ли префик перед ником или нет если это так он забирает kits.new и выдает kits.fus+, посмотрите пожалуйста.
Код:
using Oxide.Core.Libraries.Covalence;

namespace Oxide.Plugins
{
    [Info("markNickReward", "MARKELOX", "0.0.1", ResourceId = 0)]
    [Description("Adds players to a group based on phrases in their name")]

    class NameRewards1 : CovalencePlugin
    {
        ConfigData config;

        class ConfigData
        {
            public string RevPerm { get; set; }
            public string Perm { get; set; }
            public string[] Phrases { get; set; }
        }

        protected override void LoadDefaultConfig()
        {
            Config.WriteObject(new ConfigData
            {
                Perm = "kits.fus+",
                RevPerm = "kits.new",
                Phrases = new[] { "FUSION#", "FUSIONRUST" }
            }, true);
        }

        void Init()
        {
            config = Config.ReadObject<ConfigData>();
           // if (!permission.GrantPermission(config.Perm))
        }

        void OnUserConnected(IPlayer player)
        {
            foreach (var phrase in config.Phrases)
            {
                if (permission.UserHasPermission(player.Id, config.Perm)) break;
                if (player.Name.ToLower().Contains(phrase.ToLower()))
                {
                    permission.RevokeUserPermission(player.Id, config.RevPerm);
                    permission.GrantUserPermission(player.Id, config.Perm, this);
                    break;
                }
                permission.GrantUserPermission(player.Id, config.RevPerm, this);
                permission.RevokeUserPermission(player.Id, config.Perm);
            }
        }
    }
}

а зачем ты в плагине "подправил"? конфиг же существует для этого. можешь написать мне в лс, скину тебе настроенный.
 
Активность
Пока никто не печатает сообщение

Похожие темы