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

FREE IQPlagueSkill : 1.0.5 1.0.5

Нет прав для скачивания
C#:
using System;
using System.Collections.Generic;
using ConVar;
using Newtonsoft.Json;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using UnityEngine;
namespace Oxide.Plugins {
    [Info("IQPlagueSkill", "SkuliDropek", "1.0.5")]
    [Description("Скилл система новых веков")]
    class IQPlagueSkill : RustPlugin {
        /// <summary>
        /// Обновление 1.0.х
        /// - Добавил мультиязычность в кофнигурации и датафайле
        /// - Добавлена проверка на null в методе RegisteredData()
        /// - Изменена проверка на кланы, добавлена поддержка еще одного плагина на кланы
        /// - Корректировка метода на выдачу ДНК
        /// </summary>
#region Vars
        private const Boolean LanguageEn = false;
        public static string PermissionsPatogenArmor = "iqplagueskill.patogenarmory";
        public enum TypeSkill {
            Active, Neutral
        }
#endregion
#region Reference
        [PluginReference]
        Plugin ImageLibrary, IQChat, Friends, Clans, Battles, Duel, IQEconomic, IQHeadReward, XDNotifications, IQCraftSystem, IQKits;
        private void AddNotify(BasePlayer player, string title, string description, string command = "", string cmdyes = "", string cmdno = "") {
            if (!XDNotifications) return;
            var Setting = config.ReferenceSettings.XDNotificationsSettings;
            Interface.Oxide.CallHook("AddNotify", player, title, description, Setting.Color, Setting.AlertDelete, Setting.SoundEffect, command, cmdyes, cmdno);
        }
#region Image Library
        public string GetImage(string shortname, ulong skin = 0) => (string)ImageLibrary?.Call("GetImage", shortname, skin);
        public bool AddImage(string url, string shortname, ulong skin = 0) => (bool)ImageLibrary?.Call("AddImage", url, shortname, skin);
        public void SendImage(BasePlayer player, string imageName, ulong imageId = 0) => ImageLibrary?.Call("SendImage", player, imageName, imageId);
        public bool HasImage(string imageName) => (bool)ImageLibrary?.Call("HasImage", imageName);
        void LoadedImage() {
            var Interface = config.InterfaceSettings.IconsPNG;
#region Interface Panel
            if (!HasImage($"BACKGROUND_PLAGUES_{Interface.BackgroundPNG}")) AddImage(Interface.BackgroundPNG, $"BACKGROUND_PLAGUES_{Interface.BackgroundPNG}");
            if (!HasImage($"BACKGROUND_PLAGUE_TAKE_PANEL_{Interface.BackgroundTakePanel}")) AddImage(Interface.BackgroundTakePanel, $"BACKGROUND_PLAGUE_TAKE_PANEL_{Interface.BackgroundTakePanel}");
            if (!HasImage($"BACKGROUND_PLAGUE_TAKE_BUTTON_{Interface.ButtonTakeSkill}")) AddImage(Interface.ButtonTakeSkill, $"BACKGROUND_PLAGUE_TAKE_BUTTON_{Interface.ButtonTakeSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_SKILL_BLOCK_{Interface.BlockSkill}")) AddImage(Interface.BlockSkill, $"BACKGROUND_PLAGUE_SKILL_BLOCK_{Interface.BlockSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_SKILL_AVAILABLE_{Interface.AvailableSkill}")) AddImage(Interface.AvailableSkill, $"BACKGROUND_PLAGUE_SKILL_AVAILABLE_{Interface.AvailableSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_SKILL_RECEIVED_{Interface.ReceivedSkill}")) AddImage(Interface.ReceivedSkill, $"BACKGROUND_PLAGUE_SKILL_RECEIVED_{Interface.ReceivedSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_NEUTRAL_SKILL_BLOCK_{Interface.NeutralBlockSkill}")) AddImage(Interface.NeutralBlockSkill, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_BLOCK_{Interface.NeutralBlockSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_NEUTRAL_SKILL_AVAILABLE_{Interface.NeutralAvailableSkill}")) AddImage(Interface.NeutralAvailableSkill, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_AVAILABLE_{Interface.NeutralAvailableSkill}");
            if (!HasImage($"BACKGROUND_PLAGUE_NEUTRAL_SKILL_RECEIVED_{Interface.NeutralReceivedSkill}")) AddImage(Interface.NeutralReceivedSkill, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_RECEIVED_{Interface.NeutralReceivedSkill}");
            try {
                webrequest.Enqueue($"http://rust.skyplugins.ru/getimage/BACKGROUND_PLAGUE/12/IMAGELIBRARY_{Name}_{Author}_14321", null, (i, s) => {
                    if (i != 200) {
                    }
                    if (s.Contains("success")) {
                        AddImage(i.ToString(), $"{i.ToString()}_BACKGROUND_PLAGUE", ulong.Parse($"14321"));
                    }
                    if (s.Contains("fail")) {
                        return;
                    }
                }
                , this);
            }
            catch (Exception ex) {
            }
#endregion
#region Skills
            var Skill = config.SkillSettings;
            if (String.IsNullOrWhiteSpace(Skill.AnabioticsSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_ANABIOTICS_{Skill.AnabioticsSettings.GeneralSettings.PNG}")) AddImage(Skill.AnabioticsSettings.GeneralSettings.PNG, $"SKILL_ANABIOTICS_{Skill.AnabioticsSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.AnimalFriendsSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_ANIMALFRIENDS_{Skill.AnimalFriendsSettings.GeneralSettings.PNG}")) AddImage(Skill.AnimalFriendsSettings.GeneralSettings.PNG, $"SKILL_ANIMALFRIENDS_{Skill.AnimalFriendsSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.CrafterSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_CRAFTER_{Skill.CrafterSettings.GeneralSettings.PNG}")) AddImage(Skill.CrafterSettings.GeneralSettings.PNG, $"SKILL_CRAFTER_{Skill.CrafterSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.GatherFriendsSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_GATHERFRIENDS_{Skill.GatherFriendsSettings.GeneralSettings.PNG}")) AddImage(Skill.GatherFriendsSettings.GeneralSettings.PNG, $"SKILL_GATHERFRIENDS_{Skill.GatherFriendsSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.GenesisGensSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_GENESISGENS_{Skill.GenesisGensSettings.GeneralSettings.PNG}")) AddImage(Skill.GenesisGensSettings.GeneralSettings.PNG, $"SKILL_GENESISGENS_{Skill.GenesisGensSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.MetabolismSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_METABOLISM_{Skill.MetabolismSettings.GeneralSettings.PNG}")) AddImage(Skill.MetabolismSettings.GeneralSettings.PNG, $"SKILL_METABOLISM_{Skill.MetabolismSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.MilitarySettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_MILITARY_{Skill.MilitarySettings.GeneralSettings.PNG}")) AddImage(Skill.MilitarySettings.GeneralSettings.PNG, $"SKILL_MILITARY_{Skill.MilitarySettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.MinerSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_MINER_{Skill.MinerSettings.GeneralSettings.PNG}")) AddImage(Skill.MinerSettings.GeneralSettings.PNG, $"SKILL_MINER_{Skill.MinerSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.PatogenAmrorySettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_PATOGENARMORY_{Skill.PatogenAmrorySettings.GeneralSettings.PNG}")) AddImage(Skill.PatogenAmrorySettings.GeneralSettings.PNG, $"SKILL_PATOGENARMORY_{Skill.PatogenAmrorySettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.PatogenKillSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_PATOGENKILL_{Skill.PatogenKillSettings.GeneralSettings.PNG}")) AddImage(Skill.PatogenKillSettings.GeneralSettings.PNG, $"SKILL_PATOGENKILL_{Skill.PatogenKillSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.RegenerationSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_REGENERATION_{Skill.RegenerationSettings.GeneralSettings.PNG}")) AddImage(Skill.RegenerationSettings.GeneralSettings.PNG, $"SKILL_REGENERATION_{Skill.RegenerationSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.ThickSkinSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_THICKSSKIN_{Skill.ThickSkinSettings.GeneralSettings.PNG}")) AddImage(Skill.ThickSkinSettings.GeneralSettings.PNG, $"SKILL_THICKSSKIN_{Skill.ThickSkinSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.WoundedShakeSettings.GeneralSettings.Sprite)) if (!HasImage($"SKILL_WOUNDED_{Skill.WoundedShakeSettings.GeneralSettings.PNG}")) AddImage(Skill.WoundedShakeSettings.GeneralSettings.PNG, $"SKILL_WOUNDED_{Skill.WoundedShakeSettings.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.NeutralSkills.SkillIQHeadRewards.GeneralSettings.Sprite)) if (!HasImage($"SKILL_IQHEAD_REWARD_{Skill.NeutralSkills.SkillIQHeadRewards.GeneralSettings.PNG}")) AddImage(Skill.NeutralSkills.SkillIQHeadRewards.GeneralSettings.PNG, $"SKILL_IQHEAD_REWARD_{Skill.NeutralSkills.SkillIQHeadRewards.GeneralSettings.PNG}");
            if (String.IsNullOrWhiteSpace(Skill.NeutralSkills.IQCraftSystemAdvancedCrafts.GeneralSettings.Sprite)) if (!HasImage($"SKILL_IQCRAFTSYSTEM_{Skill.NeutralSkills.IQCraftSystemAdvancedCrafts.GeneralSettings.PNG}")) AddImage(Skill.NeutralSkills.IQCraftSystemAdvancedCrafts.GeneralSettings.PNG, $"SKILL_IQCRAFTSYSTEM_{Skill.NeutralSkills.IQCraftSystemAdvancedCrafts.GeneralSettings.PNG}");
#endregion
        }
        void CahedImages(BasePlayer player) {
            var Interface = config.InterfaceSettings.IconsPNG;
            var Skill = config.SkillSettings;
#region Interface Panel
            SendImage(player, $"BACKGROUND_PLAGUES_{Interface.BackgroundPNG}");
            SendImage(player, $"BACKGROUND_PLAGUE_TAKE_PANEL_{Interface.BackgroundTakePanel}");
            SendImage(player, $"BACKGROUND_PLAGUE_TAKE_BUTTON_{Interface.ButtonTakeSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_SKILL_BLOCK_{Interface.BlockSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_SKILL_AVAILABLE_{Interface.AvailableSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_SKILL_RECEIVED_{Interface.ReceivedSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_BLOCK_{Interface.NeutralBlockSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_AVAILABLE_{Interface.NeutralAvailableSkill}");
            SendImage(player, $"BACKGROUND_PLAGUE_NEUTRAL_SKILL_RECEIVED_{Interface.NeutralReceivedSkill}");
#endregion
#region Skills
            SendImage(player, $"SKILL_ANABIOTICS_{Skill.AnabioticsSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_ANIMALFRIENDS_{Skill.AnimalFriendsSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_CRAFTER_{Skill.CrafterSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_GATHERFRIENDS_{Skill.GatherFriendsSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_GENESISGENS_{Skill.GenesisGensSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_METABOLISM_{Skill.MetabolismSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_MILITARY_{Skill.MilitarySettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_MINER_{Skill.MinerSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_PATOGENARMORY_{Skill.PatogenAmrorySettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_PATOGENKILL_{Skill.PatogenKillSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_REGENERATION_{Skill.RegenerationSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_THICKSSKIN_{Skill.ThickSkinSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_WOUNDED_{Skill.WoundedShakeSettings.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_IQHEAD_REWARD_{Skill.NeutralSkills.SkillIQHeadRewards.GeneralSettings.PNG}");
            SendImage(player, $"SKILL_IQCRAFTSYSTEM_{Skill.NeutralSkills.IQCraftSystemAdvancedCrafts.GeneralSettings.PNG}");
#endregion
        }
#endregion
#region IQChat
        public void SendChat(BasePlayer player, string Message, Chat.ChatChannel channel = Chat.ChatChannel.Global) {
            var Chat = config.ReferenceSettings.IQChatSettings;
            if (IQChat) IQChat?.Call("API_ALERT_PLAYER", player, Message, Chat.CustomPrefix, Chat.CustomAvatar);
            else player.SendConsoleCommand("chat.add", channel, 0, Message);
        }
#endregion
#region Block Farm
        public bool IsFriends(ulong userID, ulong targetID) {
            if (Friends) return (bool)Friends?.Call("HasFriend", userID, targetID);
            else return false;
        }
        private bool IsClans(String userID, String targetID) {
            if (Clans) {
                String TagUserID = (String)Clans?.Call("GetClanOf", userID);
                String TagTargetID = (String)Clans?.Call("GetClanOf", targetID);
                if (TagUserID == null && TagTargetID == null) return false;
                return (bool)(TagUserID == TagTargetID);
            }
            else return false;
        }
        public bool IsDuel(ulong userID) {
            if (Battles) return (bool)Battles?.Call("IsPlayerOnBattle", userID);
            else if (Duel) return (bool)Duel?.Call("IsPlayerOnActiveDuel", BasePlayer.FindByID(userID));
            else return false;
        }
#endregion
#region IQEconomic
        int GetBalanceUser(ulong UserID) => (int)(IQEconomic?.Call("API_GET_BALANCE", UserID));
        void RemoveBalanceUser(ulong UserID, int Balance) => IQEconomic?.Call("API_REMOVE_BALANCE", UserID, Balance);
#endregion
#endregion
#region Data
        [JsonProperty(LanguageEn ? "user Information and their DNA" : "Информация пользователях и их ДНК")]
        public Dictionary<ulong, int> DataInformation = new Dictionary<ulong, int>();
        [JsonProperty(LanguageEn ? "information about user skills" : "Информация о скиллах пользователей")]
        public Dictionary<ulong, InformationSkills> DataSkills = new Dictionary<ulong, InformationSkills>();
        public class InformationSkills {
            [JsonProperty(LanguageEn ? "Miner" : "Шахтер")]
            public bool Miner;
            [JsonProperty(LanguageEn ? "Regeneration" : "Регенерация")]
            public bool Regeneration;
            [JsonProperty(LanguageEn ? "Military" : "Военный")]
            public bool Military;
            [JsonProperty(LanguageEn ? "Skin" : "Кожа")]
            public bool ThickSkin;
            [JsonProperty(LanguageEn ? "Spirit" : "Дух")]
            public bool WoundedShake;
            [JsonProperty(LanguageEn ? "Metabolism" : "Метаболизм")]
            public bool Metabolism;
            [JsonProperty(LanguageEn ? "pathogen Protection" : "Защита от патогена")]
            public bool PatogenAmrory;
            [JsonProperty(LanguageEn ? "the Genesis gene" : "Генезиз ген")]
            public bool GenesisGens;
            [JsonProperty(LanguageEn ? "Unity with animals" : "Единство с животными")]
            public bool AnimalFriends;
            [JsonProperty(LanguageEn ? "Unity with nature" : "Единство с природой")]
            public bool GatherFriends;
            [JsonProperty(LanguageEn ? "Anabiotics" : "Анабиотики")]
            public bool Anabiotics;
            [JsonProperty(LanguageEn ? "Crafter" : "Крафтер")]
            public bool Crafter;
            [JsonProperty(LanguageEn ? "IQHeadReward" : "IQHeadReward")]
            public bool IQHeadReward;
            [JsonProperty(LanguageEn ? "IQCraftSystem: Advanced Crafter" : "IQCraftSystem : Продвинутый крафтер")]
            public bool IQCraftSystemAdvanced;
            [JsonProperty(LanguageEn ? "IQKits: Reduced recharge" : "IQKits : Уменьшенная перезарядка")]
            public bool IQKitsCooldownPercent;
            [JsonProperty(LanguageEn ? "IQKits: Increased drop chance" : "IQKits : Увеличенный шанс выпадения")]
            public bool IQKitsRareup;
            [JsonProperty(LanguageEn ? "is there a pathogen" : "Имеется ли патоген")]
            public bool PatogenAttack;
        }
        void ReadData() {
            DataInformation = Oxide.Core.Interface.Oxide.DataFileSystem.ReadObject<Dictionary<ulong, int>>("IQPlagueSkill/InformationUser");
            DataSkills = Oxide.Core.Interface.Oxide.DataFileSystem.ReadObject<Dictionary<ulong, InformationSkills>>("IQPlagueSkill/InformationSkills");
        }
        void WriteData() {
            timer.Every(60f, () => {
                Oxide.Core.Interface.Oxide.DataFileSystem.WriteObject("IQPlagueSkill/InformationUser", DataInformation);
                Oxide.Core.Interface.Oxide.DataFileSystem.WriteObject("IQPlagueSkill/InformationSkills", DataSkills);
            }
            );
        }
        void RegisteredDataUser(BasePlayer player) {
            if (player == null) return;
            if (!DataInformation.ContainsKey(player.userID)) DataInformation.Add(player.userID, 0);
            if (!DataSkills.ContainsKey(player.userID)) DataSkills.Add(player.userID, new InformationSkills {
                Anabiotics = false, AnimalFriends = false, Crafter = false, GatherFriends = false, GenesisGens = false, Metabolism = false, Military = false, Miner = false, PatogenAmrory = false, PatogenAttack = false, Regeneration = false, ThickSkin = false, WoundedShake = false, IQHeadReward = false, IQCraftSystemAdvanced = false, IQKitsCooldownPercent = false, IQKitsRareup = false,
            }
            );
        }
#endregion
#region Configuration
        private static Configuration config = new Configuration();
        private class Configuration {
            [JsonProperty(LanguageEn ? "configuring the plugin" : "Настройка плагина")]
            public GeneralSetting GeneralSettings = new GeneralSetting();
            [JsonProperty(LanguageEn ? "configuring all skills" : "Настройка всех скиллов")]
            public Skills SkillSettings = new Skills();
            [JsonProperty(LanguageEn ? "configuring the interface" : "Настройка интерфейса")]
            public InterfaceSetting InterfaceSettings = new InterfaceSetting();
            [JsonProperty(LanguageEn ? "configuring compatibility with other plugins" : "Настройка совместимостей с другими плагинами")]
            public ReferenceSetting ReferenceSettings = new ReferenceSetting();
            [JsonProperty(LanguageEn ? "configuring getting DNA" : "Настройка получения ДНК")]
            public FarmingDNK FarmingDNKS = new FarmingDNK();
#region Skills
            internal class Skills {
                [JsonProperty(LanguageEn ? "Allow viewing a skill without the required number of DNA" : "Разрешить просмотр навыка без нужного кол-во ДНК")]
                public bool ShowSkillNotDNK;
                [JsonProperty(LanguageEn ? "setting the miner skill (Increases the mining rate)" : "Настройка скилла шахтер(Увеличивает рейт добычи)")]
                public Miner MinerSettings = new Miner();
                [JsonProperty(LanguageEn ? "setting the regeneration skill(HP Regeneration after battle)" : "Настройка скилла регенерации(Регенирация ХП после боя)")]
                public Regeneration RegenerationSettings = new Regeneration();
                [JsonProperty(LanguageEn ? "skill setting(Reduces weapon wear)" : "Настройка скилла военный(Уменьшает изнашивания оружия)")]
                public Military MilitarySettings = new Military();
                [JsonProperty(LanguageEn ? "Hard skin skill setting (Protects from cold in winter biomes)" : "Настройка скилла Твердая кожа(Защищает от холода в зимних биомах)")]
                public ThickSkin ThickSkinSettings = new ThickSkin();
                [JsonProperty(LanguageEn ? "setting the skill Will not shake(Gives a chance to get up after a fall)" : "Настройка скилла Не поколебим(Дает шанс встать после падения)")]
                public WoundedShake WoundedShakeSettings = new WoundedShake();
                [JsonProperty(LanguageEn ? "setting up the skill Metabolism (when revived gives N values of satiety, HP, thirst)" : "Настройка скилла Метаболизм(При возраждении дает N значения сытности,хп,жажды)")]
                public Metabolism MetabolismSettings = new Metabolism();
                [JsonProperty(LanguageEn ? "configure spell Protection from a pathogen(one-time protection from the fungus Pathogen(If zarazhenie pathogen , a virus eventually destroys the skills of the player))" : "Настройка скилла Защита от патогена(Одноразовая защита от грибка Патоген(При заражаении патогеном , вирус - со временем разрушает скиллы игрока))")]
                public PatogenAmrory PatogenAmrorySettings = new PatogenAmrory();
                [JsonProperty(LanguageEn ? "setting up skill the Killing of a pathogen(one-time killing of the fungus,if the player was infected by a Pathogen)" : "Настройка скилла Убийство патогена(Одноразовое убийство грибка,если игрок заразился Патогеном)")]
                public PatogenKill PatogenKillSettings = new PatogenKill();
                [JsonProperty(LanguageEn ? "setting up skill the Genesis gene(Keeps the % of DNA at the end of a wipe)" : "Настройка скилла Генезиз ген(Сохраняет % ДНК в конце вайпа)")]
                public GenesisGens GenesisGensSettings = new GenesisGens();
                [JsonProperty(LanguageEn ? "setting up the Unity with nature skill (Adds the ability to get more DNA for animal prey)" : "Настройка скилла Единство с природой(Добавляет возможность получать больше ДНК за добычу животных)")]
                public AnimalFriends AnimalFriendsSettings = new AnimalFriends();
                [JsonProperty(LanguageEn ? "setting up the Unity with earth skill (Adds the ability to get more DNA for full resource extraction)" : "Настройка скилла Единство с землей(Добавляет возможность получать больше ДНК за полную добычу ресурса)")]
                public GatherFriends GatherFriendsSettings = new GatherFriends();
                [JsonProperty(LanguageEn ? "setting up the Anabiotics skill(Players will get more treatment from drugs)" : "Настройка скилла Анабиотики(Игроки будут получать больше лечения от препаратов)")]
                public Anabiotics AnabioticsSettings = new Anabiotics();
                [JsonProperty(LanguageEn ? "setting up the Crafter skill(crafting Speed increases)" : "Настройка скилла Крафтер(Скорость крафта увеличивается)")]
                public Crafter CrafterSettings = new Crafter();
                [JsonProperty(LanguageEn ? "setting up NEUTRAL skills" : "Настройка НЕЙТРАЛЬНЫХ навыков")]
                public NeutralSkill NeutralSkills = new NeutralSkill();
#region Classes
#region NeutralClasses
                internal class NeutralSkill {
                    [JsonProperty(LanguageEn ? "Increases crafting level to advanced opening the possibility to craft items with the advanced crafting condition" : "Увеличивает уровень крафта до продвинутого открывая возможность крафтить предметы с условием продвинутого крафта")]
                    public IQCraftSystemAdvancedCraft IQCraftSystemAdvancedCrafts = new IQCraftSystemAdvancedCraft();
                    [JsonProperty(LanguageEn ? "Increases the drop rate of items in the set" : "Увеличивает шанс выпадения предметов в наборе")]
                    public IQKitsRareSkill IQKitsRare = new IQKitsRareSkill();
                    [JsonProperty(LanguageEn ? "Reduces the cooldown of the skill" : "Уменьшает перезарядку навыков")]
                    public IQKitsCooldownPercenct IQKitsCooldown = new IQKitsCooldownPercenct();
                    [JsonProperty(LanguageEn ? "Iqheadreward setting (Description and setting in the plugin Iqheadreward)" : "Настройка IQHeadReward (Описание и настройка в плагине IQHeadReward)")]
                    public IQHeadReward SkillIQHeadRewards = new IQHeadReward();
                    internal class IQHeadReward {
                        [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                        public bool SkillTurn;
                        [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                        public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    }
                    internal class IQCraftSystemAdvancedCraft {
                        [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                        public bool SkillTurn;
                        [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                        public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    }
                    internal class IQKitsRareSkill {
                        [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                        public bool SkillTurn;
                        [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                        public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                        [JsonProperty(LanguageEn ? "how much % increase the chance of dropping items?" : "На сколько % увеличивать шанс выпадения предметов?")]
                        public int RareUP;
                    }
                    internal class IQKitsCooldownPercenct {
                        [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                        public bool SkillTurn;
                        [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                        public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                        [JsonProperty(LanguageEn ? "how much % should I reduce the set's cooldown?" : "На сколько % уменьшать перезарядку набора?")]
                        public int PercentDrop;
                    }
                }
#endregion
                internal class Miner {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "how much to multiply rates(all at once)" : "На сколько умножать рейты(все сразу)")]
                    public float Rate;
                    [JsonProperty(LanguageEn ? "Use custom multipliers (true-Yes/false-no)" : "Использовать кастомные множители(true - да/false - нет)")]
                    public bool UseLists;
                    [JsonProperty(LanguageEn ? "Use custom multipliers([Shortname] = multiplier)" : "Использовать кастомные множители([Shortname] = множитель)")]
                    public Dictionary<string, float> CustomRate = new Dictionary<string, float>();
                }
                internal class Regeneration {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "how Many lives to regenerate in a time interval" : "Сколько жизней регенерировать в промежуток времени")]
                    public int HealtRegeneration;
                    [JsonProperty(LanguageEn ? "how many seconds to regenerate a player" : "Раз в сколько секунд регенерировать игрока")]
                    public int RegenerationTimer;
                }
                internal class Military {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "how many percent to reduce the wear of weapons(0-100%)" : "На сколько процентов снижать изнашивания оружий(0-100%)")]
                    public int PercentNoBroken;
                }
                internal class ThickSkin {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                }
                internal class WoundedShake {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "Chance to get up when the player is put down" : "Шанс встать в момент когда игрока положат")]
                    public int Rare;
                    [JsonProperty(LanguageEn ? "how many seconds to raise the player when falling, if the chance is successful" : "Через сколько секунд поднимать игрока при падаение,если шанс успешен")]
                    public int RareStartTime;
                    [JsonProperty(LanguageEn ? "after successful triggering - take the skill(true-Yes/false-no)" : "После успешного срабатывания - забирать скилл(true - да/false - нет)")]
                    public bool DropSkill;
                }
                internal class Metabolism {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General configuration" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "How many HP will be when reviving" : "Сколько ХП будет при возрождениие")]
                    public int Health;
                    [JsonProperty(LanguageEn ? "how much Satiety will there be when reviving" : "Сколько Сытности будет при возрождении")]
                    public int Calories;
                    [JsonProperty(LanguageEn ? "how much Thirst will there be when reviving" : "Сколько Жажды будет при возрождении")]
                    public int Hydration;
                    [JsonProperty(LanguageEn ? "Chance to Wake up with these indicators" : "Шанс проснуться с данными показателями")]
                    public int RareMetabolisme;
                    [JsonProperty(LanguageEn ? "after successful triggering - take the skill(true-Yes/false-no)" : "После успешного срабатывания - забирать скилл(true - да/false - нет)")]
                    public bool DropSkill;
                }
                internal class PatogenAmrory {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                }
                internal class PatogenKill {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                }
                internal class GenesisGens {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "How much % of DNA to leave at the end of the wipe(will be counted from the amount spent on skills)0 - 100" : "Сколько % ДНК оставлять в конце вайпа(будет отсчитываться от затраченного количества на скиллы)0 - 100")]
                    public int PercentSave;
                }
                internal class AnimalFriends {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "Min : How much to give out" : "Min : Сколько выдавать ДНК")]
                    public int MinDNKAnimal;
                    [JsonProperty(LanguageEn ? "Max: How much to give out" : "Max : Сколько выдавать ДНК")]
                    public int MaxDNKAnimal;
                    [JsonProperty(LanguageEn ? "Use custom sheet(true-Yes/false-no)" : "Использовать кастомный лист(true - да/false - нет)")]
                    public bool UseLists;
                    [JsonProperty(LanguageEn ? "Custom list, how much to increase the amount of DNA for killing an animal [Animal] = setting" : "Кастомный лист ,на сколько увеличивать количество ДНК за убийство животного [Animal] = Настройка")]
                    public Dictionary<string, CustomSettings> AnimalsList = new Dictionary<string, CustomSettings>();
                    [JsonProperty(LanguageEn ? "Chance of getting additional DNA" : "Шанс получения дополнительного ДНК")]
                    public int RareAll;
                    [JsonProperty(LanguageEn ? "Animals from which DNA will fall" : "Животные с которых будет падать ДНК")]
                    public List<string> AnimalDetected = new List<string>();
                    internal class CustomSettings {
                        [JsonProperty(LanguageEn ? "Chance of getting additional DNA" : "Шанс получения дополнительного ДНК")]
                        public int Rare;
                        [JsonProperty(LanguageEn ? "Min : How much to give out?" : "Min : Сколько выдавать ДНК")]
                        public int MinDNKCustom;
                        [JsonProperty(LanguageEn ? "Max: How much to give out?" : "Max : Сколько выдавать ДНК")]
                        public int MaxDNKCustom;
                    }
                }
                internal class GatherFriends {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "Custom list, how much to increase the amount of DNA for full resource extraction [Shortname] = setting" : "Кастомный лист ,на сколько увеличивать количество ДНК за полную добычу ресурса [Shortname] = Настройка")]
                    public Dictionary<string, CustomSettings> GatherList = new Dictionary<string, CustomSettings>();
                    internal class CustomSettings {
                        [JsonProperty(LanguageEn ? "Chance of getting additional DNA" : "Шанс получения дополнительного ДНК")]
                        public int Rare;
                        [JsonProperty(LanguageEn ? "Min : How much to give out?" : "Min : Сколько выдавать ДНК")]
                        public int MinDNKCustom;
                        [JsonProperty(LanguageEn ? "Max: How much to give out?" : "Max : Сколько выдавать ДНК")]
                        public int MaxDNKCustom;
                    }
                }
                internal class Anabiotics {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "how much to increase the number of HP for using medicine[Shortname] = Amount" : "На сколько увеличивать количество ХП за использование медицины[Shortname] = Amount")]
                    public Dictionary<string, int> AnabioticsList = new Dictionary<string, int>();
                }
                internal class Crafter {
                    [JsonProperty(LanguageEn ? "Enable the ability?(true-enabled/false-disabled)" : "Включить умение?(true - включено/false - выключено)")]
                    public bool SkillTurn;
                    [JsonProperty(LanguageEn ? "General setting" : "Общая настройка")]
                    public GeneralSettingsSkill GeneralSettings = new GeneralSettingsSkill();
                    [JsonProperty(LanguageEn ? "how many times to increase the crafting speed? (Example: initially 60 seconds, 3x magnification = 60/3 = 20)" : "В сколько раз увеличивать скорость крафта? (Пример : изначально 60 секунд, увеличение в 3 раза = 60/3 = 20)")]
                    public int CraftBoost;
                }
                internal class GeneralSettingsSkill {
                    [JsonProperty(LanguageEn ? "Display name" : "Отображаемое имя")]
                    public string DisplayName;
                    [JsonProperty(LanguageEn ? "skill Description" : "Описание скилла")]
                    public string Description;
                    [JsonProperty(LanguageEn ? "sprite for icon" : "Sprite для иконки")]
                    public string Sprite;
                    [JsonProperty(LanguageEn ? "PNG link for the icon(64x64).If you use this,the sprite will be ignored" : "PNG-ссылка для иконки(64х64).Если используете это,спрайт будет игнорироваться")]
                    public string PNG;
                    [JsonProperty(LanguageEn ? "price per study" : "Цена за изучение")]
                    public int PriceDNK;
                }
#endregion
            }
#endregion
#region Interface
            internal class InterfaceSetting {
                [JsonProperty(LanguageEn ? "configuring design elements" : "Настройка элементов дизайна")]
                public Icons IconsPNG = new Icons();
                [JsonProperty(LanguageEn ? "configuring basic elements" : "Настройка основных элементов")]
                public General GeneralSettings = new General();
                internal class Icons {
                    [JsonProperty(LanguageEn ? "PNG background link" : "Ссылка PNG на задний фон")]
                    public string BackgroundPNG;
                    [JsonProperty(LanguageEn ? "Link link to the blocked skill icon PNG" : "Ссылка ссылка на иконку заблокированного навыка PNG")]
                    public string BlockSkill;
                    [JsonProperty(LanguageEn ? "Link link to available skill icon PNG" : "Ссылка ссылка на иконку доступного навыка PNG")]
                    public string AvailableSkill;
                    [JsonProperty(LanguageEn ? "Link link to the learned skill icon PNG" : "Ссылка ссылка на иконку изученного навыка PNG")]
                    public string ReceivedSkill;
                    [JsonProperty(LanguageEn ? "Link to the button to get this skill(develop)" : "Ссылка на кнопку для получения данного скилла(развить)")]
                    public string ButtonTakeSkill;
                    [JsonProperty(LanguageEn ? "Link panel for learning the skill" : "Ссылка панель для изучения скилла")]
                    public string BackgroundTakePanel;
                    [JsonProperty(LanguageEn ? "Link link to the NEUTRAL blocked skill icon PNG" : "Ссылка ссылка на иконку НЕЙТРАЛЬНОГО заблокированного навыка PNG")]
                    public string NeutralBlockSkill;
                    [JsonProperty(LanguageEn ? "Link link to the NEUTRAL available skill icon PNG" : "Ссылка ссылка на иконку НЕЙТРАЛЬНОГО доступного навыка PNG")]
                    public string NeutralAvailableSkill;
                    [JsonProperty(LanguageEn ? "Link link to the NEUTRAL learned skill icon PNG" : "Ссылка ссылка на иконку НЕЙТРАЛЬНОГО изученного навыка PNG")]
                    public string NeutralReceivedSkill;
                }
                internal class General {
                    [JsonProperty(LanguageEn ? "text Color" : "Цвет текста")]
                    public string HexLabels;
                    [JsonProperty(LanguageEn ? "skill text color" : "Цвет текста навыков")]
                    public string HexLabelsSkill;
                    [JsonProperty(LanguageEn ? "skill description text Color" : "Цвет текста описания навыков")]
                    public string HexLabelTakePanel;
                }
            }
#endregion
#region Generals
            internal class GeneralSetting {
                [JsonProperty(LanguageEn ? "settings for automatic date clearing after VAPE" : "Настройки автоматической очисти даты после вайпа")]
                public WipeContoller WipeContollers = new WipeContoller();
                [JsonProperty(LanguageEn ? "managing the PATHOGEN virus" : "Управление вирусом ПАТОГЕН")]
                public VirusPatogen VirusPatogens = new VirusPatogen();
                internal class WipeContoller {
                    [JsonProperty(LanguageEn ? "Enable automatic date clearing after server wipe" : "Включить автоматическую очистку даты после вайпа сервера")]
                    public bool WipeDataUse;
                    [JsonProperty(LanguageEn ? "Cleanse skills of players after a wipe" : "Очищать скиллы игроков после вайпа")]
                    public bool WipeDataSkill;
                }
                internal class VirusPatogen {
                    [JsonProperty(LanguageEn ? "Enable pathogen virus(this virus will remove 1 random skill from the player after N amount of time,they will also have skills for healing and protection from infection)" : "Включить вирус-патоген(Данный вирус будет удалять у игрока 1 случайный навык через N количество времени,у них так же будут навыки на излечение и защиты от заражаения)")]
                    public bool UsePatogen;
                    [JsonProperty(LanguageEn ? "Chance of virus infection" : "Шанс заражения вирусом")]
                    public int RareInfected;
                    [JsonProperty(LanguageEn ? "time to start player infection(seconds)" : "Раз в сколько времени начинать инфекцию игроков(Секунды)")]
                    public int TimerInfectedVirus;
                    [JsonProperty(LanguageEn ? "How long to delete 1 random skill to the player(seconds)" : "Через сколько удалять 1 случайный навык игроку(секунды)")]
                    public int TimerRemoveSkill;
                }
            }
#endregion
#region Reference
            internal class ReferenceSetting {
                [JsonProperty(LanguageEn ? "Setting Up IQChat" : "Настройка IQChat")]
                public IQChat IQChatSettings = new IQChat();
                [JsonProperty(LanguageEn ? "Enable IQEconomic support (DNA will be replaced with the economy currency)" : "Включить поддержку IQEconomic(ДНК заменится на валюту экономики)")]
                public bool IQEconomicUse;
                [JsonProperty(LanguageEn ? "Enable support for IQHeadReward" : "Включить поддержку IQHeadReward")]
                public bool IQHeadRewardUse;
                [JsonProperty(LanguageEn ? "Enable support for IQCraftSystem" : "Включить поддержку IQCraftSystem")]
                public bool IQCraftSystem;
                [JsonProperty(LanguageEn ? "Enable support for IQKits" : "Включить поддержку IQKits")]
                public bool IQKits;
                [JsonProperty(LanguageEn ? "configuring XDNotifications" : "Настройка XDNotifications")]
                public XDNotifications XDNotificationsSettings = new XDNotifications();
                internal class XDNotifications {
                    [JsonProperty(LanguageEn ? "Enable XDNotifications support(Some notifications will come in XDNotifications)" : "Включить поддержку XDNotifications(Некоторые уведомления будут приходить в XDNotifications)")]
                    public bool UseXDNotifications;
                    [JsonProperty(LanguageEn ? "notification background Color (HEX)" : "Цвет заднего фона уведомления(HEX)")]
                    public string Color;
                    [JsonProperty(LanguageEn ? "How long before the notification is deleted" : "Через сколько удалиться уведомление")]
                    public int AlertDelete;
                    [JsonProperty(LanguageEn ? "Sound effect" : "Звуковой эффект")]
                    public string SoundEffect;
                    [JsonProperty(LanguageEn ? "Table Of Contents" : "Оглавление")]
                    public string Title;
                }
                internal class IQChat {
                    [JsonProperty(LanguageEn ? "IQChat: Custom prefix in chat" : "IQChat : Кастомный префикс в чате")]
                    public string CustomPrefix;
                    [JsonProperty(LanguageEn ? "IQChat : Custom avatar in the chat(If you want)" : "IQChat : Кастомный аватар в чате(Если требуется)")]
                    public string CustomAvatar;
                }
            }
#endregion
#region DNKFarming
            internal class FarmingDNK {
                [JsonProperty(LanguageEn ? "setting up getting DNA for killing players" : "Настройка получения ДНК за убийство игроков")]
                public PlayerKill PlayerKills = new PlayerKill();
                [JsonProperty(LanguageEn ? "setting up getting DNA for killing NPCs" : "Настройка получения ДНК за убийство NPC")]
                public NPCKill NPCKills = new NPCKill();
                [JsonProperty(LanguageEn ? "setting up getting DNA for killing animals" : "Настройка получения ДНК за убийство животных")]
                public AnimalKill AnimalKills = new AnimalKill();
                internal class PlayerKill {
                    [JsonProperty(LanguageEn ? "getting DNA for killing players" : "Получение ДНК за убийство игроков")]
                    public bool DNKKillUser;
                    [JsonProperty(LanguageEn ? "Parameters" : "Параметры")]
                    public GeneralSettingsFarming GeneralSettin
// ... [Code preview truncated due to length. Full source in attached file] ...

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

Другие ресурсы пользователя 15FPS

Сверху