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

FREE InfoMenu : 2.0 2.0

Нет прав для скачивания
C#:
// Все права принадлежат дискорд сообществу https://discord.gg/VgNHPpNrz6
using Newtonsoft.Json;
using Oxide.Core;
using Oxide.Core.Plugins;
using Oxide.Game.Rust.Cui;
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
using UnityEngine;
namespace Oxide.Plugins {
    [Info("InfoMenu", "anfunny", "2.0")]
    public class InfoMenu : RustPlugin {
        [PluginReference]
        private Plugin ImageLibrary, MenuSystem;
        readonly int HEIGHT_MENU_ELEMENT = 35;
        private PluginConfig SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM;
        private class PluginConfig {
            [JsonProperty("Настройка главной страницы")]
            public SettingsQR ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL = new SettingsQR();
            [JsonProperty("Вкладки")]
            public Dictionary<string, List<Tabs>> tabs = new Dictionary<string, List<Tabs>>();
            public static PluginConfig DefaultConfig() {
                PluginConfig conf = new PluginConfig();
                conf.tabs = new Dictionary<string, List<Tabs>>();
                List<Tabs> Tab1 = new List<Tabs>();
                Tab1.Add(new Tabs() {
                    Title = "ГЛАВНАЯ", Pages = new List<Page>()
                }
                );
                Tab1[0].Pages.Add(new Page() {
                    OffPageButtons=true, Images = new List<Images>(), Buttons = new List<Buttons>(), blocks = new List<TextBlocks>()
                }
                );
                List<TextBlocks> blocks1 = Tab1[0].Pages[0].blocks;
                blocks1.Add(new TextBlocks() {
                    colums = new List<TextColumns>()
                }
                );
                blocks1[0].colums.Add(new TextColumns {
                    Anchor=TextAnchor.UpperCenter, TextSize=30, OutlineColor ="1 1 1 1", TextList = new List<string>() {
                        "<b><color=#DADADADA>ДОБРО ПОЖАЛОВАТЬ НА СЕРВЕР!</color></b>\nЗДЕСЬ ВАШЕ ОПИСАНИЕ"
                    }
                    , PositionType = "MiddleCenter", Center = "0.5 0.7", Height = 120.0, Width=550.0
                }
                );
                Tab1.Add(new Tabs() {
                    Title = "ПРАВИЛА", Pages = new List<Page>()
                }
                );
                Tab1[1].Pages.Add(new Page() {
                    OffPageButtons=false, Images = new List<Images>(), Buttons = new List<Buttons>(), blocks = new List<TextBlocks>()
                }
                );
                List<TextBlocks> blocks2 = Tab1[1].Pages[0].blocks;
                blocks2.Add(new TextBlocks() {
                    colums = new List<TextColumns>()
                }
                );
                blocks2[0].colums.Add(new TextColumns {
                    Anchor=TextAnchor.UpperCenter, TextSize=24, OutlineColor ="0 0 0 0", TextList = new List<string>() {
                        "<b><color=#DADADADA>ПРАВИЛА СЕРВЕРА</color></b>"
                    }
                    , PositionType = "MiddleCenter", Center = "0.5 0.95", Height = 30.0, Width=550.0
                }
                );
                blocks2[0].colums.Add(new TextColumns {
                    Anchor=TextAnchor.UpperLeft, TextSize=12, OutlineColor ="0 0 0 0", TextList = new List<string>() {
                        "\n<color=#cb2821>Информация:</color>\n   <size=14>-Играя на нашем сервере, вы автоматически соглашаетесь с правилами.</size>\n   <size=14>-Незнание правил не освобождает вас от ответственности.</size>\n   <size=14>-Правила могут дополняться или изменяться в будущем.</size>\n<color=#cb2821>Правила:</color>\n   <size=14>1.Запрещено использование/хранение стороннего ПО (наличие покупки приравнивается к хранению).</size>\n   <size=14>2.Запрещена провокация игроков или администрации сервера.</size>\n   <size=14>3.Запрещена любая клевета, дезинформация или ложь про игроков, администрацию и сервер.</size>\n   <size=14>4.Запрещена реклама в любой форме.</size>\n   <size=14>5.Запрещено выдавать себя за администратора, если вы таковым не являетесь.</size>\n   <size=14>6.Запрещено использование/распространение багов и недоработок.</size>\n   <size=14>7.Запрещено превышать лимит игроков в команде.</size>\n   <size=14>8.Запрещено использование слов ADMIN или MODER в нике в любом возможном виде.</size>\n   <size=14>9.Запрещено играть с читерами/макросниками.</size>\n   <size=14>10.Запрещено выходить из игры во время проверки на стороннее ПО.</size>\n   <size=14>11.Запрещено вредить серверу любыми способами.</size>\n<color=#cb2821>Дополнительная информация:</color>\n   <size=14>-Администрация вправе проверить вас на наличии стороннего ПО.</size>\n   <size=14>-Администрация вправе заблокировать вас без объяснения причины.</size>\n   <size=14>-Администрация вправе не предоставлять игроку доказательства за наказание.</size>\n   <size=14>-Администрация вправе не указывать причину наказания.</size>\n   <size=14>-Администрация сама выбирает наказание для игрока в зависимости от степени нарушения и обстоятельств.</size>\n   <size=14>-При отказе в проверке, игрок получает блокировку.</size>\n   <size=14>-Если вы уже были замечены с читами/макросами на другом сервере - мы имеем право забанить вас без проверки.</size>"
                    }
                    , PositionType = "MiddleLeft", Center = "0.05 0.55", Height = 400.0, Width=550.0
                }
                );
                conf.tabs.Add("main", Tab1);
                return conf;
            }
        }
        internal class SettingsQR {
            [JsonProperty("Включить QR коды на главной странице?")]
            public bool TurnQR=true;
            [JsonProperty("Изображение на первый QR-код")]
            public string VGSPRDABSQCIGKDTEEHVSNAJNTRBUTZTXAQDNIUAMKLP = "https://ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY.imgur.com/lWYup68.png";
            [JsonProperty("Изображение на второй QR-код")]
            public string MUQYVCVBPSHFJCXMYGYQIKGTZGWJGJHBLMBZBDYRESIHIYDF = "https://i.imgur.com/z4v7gxs.png";
            [JsonProperty("Изображение на третий QR-код")]
            public string OODNYOBOWZPGLUGKFUXBYLVHGMQCYKBCQMRUEOMYZKEDJLSY = "https://ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY.imgur.com/D6RMIXe.png";
            [JsonProperty("Текст на первый QR-код")]
            public string WDDGDYDSVGMYYQLXNPYCLGRIZBNGRYVTSABHYWMO = "vk.com/yourserver";
            [JsonProperty("Текст на второй QR-код")]
            public string CIHAAAUTGWVTVQQLVGBKXAXLSGYODZQCKOIXJIZBTMLCZ = "discord.gg/yourserver";
            [JsonProperty("Текст на третий QR-код")]
            public string WJKVCPKDQCLVHUCFPGFTJGHTCNHARKOVMTJOEHWBRGXGLNAEY = "shop.ru/yourserver";
        }
        public class Tabs {
            [JsonProperty("Заголовок вкладки")]
            public string Title;
            [JsonProperty("Страницы")]
            public List<Page> Pages = new List<Page>();
        }
        public class Page {
            [JsonProperty("Выключить листание страниц")]
            public bool OffPageButtons=false;
            [JsonProperty("Изображения")]
            public List<Images> Images = new List<Images>();
            [JsonProperty("Кнопки")]
            public List<Buttons> Buttons = new List<Buttons>();
            [JsonProperty("Блоки текста")]
            public List<TextBlocks> blocks = new List<TextBlocks>();
        }
        public class Images {
            [JsonProperty("Ссылка")]
            public string URL;
            [JsonProperty("Алгоритм позиционирования (LeftTop,MiddleCenter,RightBottom и т.д")]
            public string PositionType = "MiddleCenter";
            [JsonProperty("Позиция изображения ((0.0 - 1.0),(0.0 - 1.0))")]
            public string Center = "0.5 0.5";
            [JsonProperty("Ширина (в пикселях)")]
            public double Width;
            [JsonProperty("Высота (в пикселях)")]
            public double Height;
        }
        public class Buttons {
            [JsonProperty("Это команда клиентская?")]
            public bool isClient = true;
            [JsonProperty("Команда (Допускаются шаблоны %STEAMID%)")]
            public string CommandText="";
            [JsonProperty("Нужно ли закрыть меню?")]
            public bool CloseMenu = true;
            [JsonProperty("Цвет кнопки (RGBA)")]
            public string Color;
            [JsonProperty("Заголовок кнопки")]
            public string Caption="";
            [JsonProperty("Размер шрифта")]
            public int TextSize;
            [JsonProperty("Алгоритм позиционирования (LeftTop,MiddleCenter,RightBottom и т.д")]
            public string PositionType = "MiddleCenter";
            [JsonProperty("Позиция размещения ((0.0 - 1.0),(0.0 - 1.0))")]
            public string Center = "0.5 0.5";
            [JsonProperty("Ширина (в пикселях)")]
            public double Width;
            [JsonProperty("Высота (в пикселях)")]
            public double Height;
        }
        public class TextBlocks {
            [JsonProperty("Колонки текста")]
            public List<TextColumns> colums = new List<TextColumns>();
        }
        public class TextColumns {
            [JsonProperty("Выравнивание (Left/Center/Right))")]
            public TextAnchor Anchor;
            [JsonProperty("Размер шрифта")]
            public int TextSize;
            [JsonProperty("Цвет тени текста (RGBA)")]
            public string OutlineColor;
            [JsonProperty("Строки текста")]
            public List<string> TextList = new List<string>();
            [JsonProperty("Алгоритм позиционирования (LeftTop,MiddleCenter,RightBottom и т.д")]
            public string PositionType = "MiddleCenter";
            [JsonProperty("Позиция размещения блока текста ((0.0 - 1.0),(0.0 - 1.0))")]
            public string Center = "0.5 0.5";
            [JsonProperty("Ширина (в пикселях)")]
            public double Width;
            [JsonProperty("Высота (в пикселях)")]
            public double Height;
        }
        protected override void LoadConfig() {
            base.LoadConfig();
            try {
                SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM = Config.ReadObject<PluginConfig>();
                if (SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM?.tabs == null || SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.tabs.Count<1) {
                    PrintWarning("Errorn in SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM file.Created default SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.");
                    LoadDefaultConfig();
                }
            }
            catch {
                LoadDefaultConfig();
            }
            NextTick(SaveConfig);
        }
        protected override void SaveConfig() => Config.WriteObject(SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM);
        protected override void LoadDefaultConfig() {
            SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM = PluginConfig.DefaultConfig();
        }
        public List<String> cmdList = new List<String> {
            "help", "info"
        }
        ;
        private void OnServerInitialized() {
            if (!ImageLibrary) {
                PrintError("Imagelibrary not found!");
                return;
            }
            foreach (var cmdName in cmdList) cmd.AddChatCommand(cmdName, this, nameof(KHLQZLQRIDBGVNXORSJQXOWLWWRIWIEOARXQHLGJFQUGV));
            IEnumerable<Images> images = from messages in SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.tabs.Values from message in messages from pages in message.Pages from image in pages.Images select image;
            foreach (var image in images.ToList()) ImageLibrary?.Call("AddImage", image.URL, image.URL);
            if(SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.TurnQR) {
                ImageLibrary.Call("AddImage", SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.VGSPRDABSQCIGKDTEEHVSNAJNTRBUTZTXAQDNIUAMKLP, "QR1");
                ImageLibrary.Call("AddImage", SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.MUQYVCVBPSHFJCXMYGYQIKGTZGWJGJHBLMBZBDYRESIHIYDF, "QR2");
                ImageLibrary.Call("AddImage", SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.OODNYOBOWZPGLUGKFUXBYLVHGMQCYKBCQMRUEOMYZKEDJLSY, "QR3");
            }
        }
        private void Unload() {
            BasePlayer.activePlayerList.ToList().ForEach(player => {
                CuiHelper.DestroyUi(player, BaseLayer);
                CuiHelper.DestroyUi(player, LeftLayer);
            }
            );
        }
        private static string BaseLayer = "InfoMenu_base";
        private static string LeftLayer = "InfoMenu_left";
        private static string ContentLayer = "InfoMenu_content";
        private void KHLQZLQRIDBGVNXORSJQXOWLWWRIWIEOARXQHLGJFQUGV(BasePlayer player, string command, string[] args) {
            MenuSystem?.Call("MS_CustomCMD", player, "menu");
        }
        [ConsoleCommand("infomenu_selectpage")]
        private void WIGNFGWGPVLAUDUHVAZMGEQHGFMZKGUPPQZICICXSU(ConsoleSystem.Arg args) {
            var player = args.Player();
            string group = args.Args[0];
            var tabIndex = args.GetInt(1);
            var page = args.GetInt(2);
            CuiHelper.DestroyUi(player, BaseLayer + ".PS");
            CreateInfoMenu(player, group, tabIndex, page, false);
        }
        [ConsoleCommand("im_exec_cmd")]
        void BEHRCPYVUGJASSZHAUWVJBVKDDLENXCTLCPCZNJJ(ConsoleSystem.Arg args) {
            var player = args.Player();
            if (player==null) return;
            if (!player || !args.HasArgs(5)) return;
            string group = args.Args[0];
            bool isClient = bool.Parse(args.Args[1]);
            bool CloseMenu = bool.Parse(args.Args[2]);
            int tabIndex = args.GetInt(3);
            int page = args.GetInt(4);
            int but = args.GetInt(5);
            var Group = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.tabs[group];
            if (Group==null) return;
            if (Group.Count<tabIndex || Group[tabIndex]==null) return;
            if (Group[tabIndex].Pages.Count<page || Group[tabIndex].Pages[page]==null) return;
            if (Group[tabIndex].Pages[page].Buttons.Count<but || Group[tabIndex].Pages[page].Buttons[but]==null) return;
            string command = Group[tabIndex].Pages[page].Buttons[but].CommandText;
            if (string.IsNullOrEmpty(command)) return;
            string commanda =command.Replace("'", "").Replace("%STEAMID%", player.UserIDString);
            if (isClient) {
                player.Command(commanda);
            }
            else {
                rust.RunServerCommand(commanda);
            }
            if (CloseMenu) player.Command("closemenusystem");
        }
        private void CreateInfoMenu(BasePlayer player, string group, int tabIndex = 0, int page = 0, bool isStart = true) {
            CuiElementContainer container = new CuiElementContainer();
            CuiHelper.DestroyUi(player, "SectionGlavnoe");
            if (isStart) {
                container.Add(new CuiPanel {
                    CursorEnabled = true, Image = {
                        Color = "0 0 0 0"
                    }
                    , RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "172 0", OffsetMax = "0 0"
                    }
                }
                , "MS_UI", BaseLayer);
                container.Add(new CuiPanel() {
                    CursorEnabled = true, RectTransform = {
                        AnchorMin = "0 1", AnchorMax = "1 1", OffsetMin = "0 -60", OffsetMax = "0 0"
                    }
                    , Image = {
                        Color = "0 0 0 0"
                    }
                }
                , BaseLayer, BaseLayer + ".RedPanel");
                container.Add(new CuiPanel() {
                    CursorEnabled = true, RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "0 0"
                    }
                    , Image = {
                        Color = "0 0 0 0"
                    }
                }
                , BaseLayer + ".RedPanel", BaseLayer + ".Left");
                container.Add(new CuiPanel() {
                    CursorEnabled = true, RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 0.9", OffsetMin = "0 0", OffsetMax = "0 0"
                    }
                    , Image = {
                        Color = "0.117 0.121 0.109 0"
                    }
                }
                , BaseLayer, BaseLayer + ".CONTENT_MAIN");
            }
            CuiHelper.DestroyUi(player, LeftLayer);
            container.Add(new CuiPanel {
                Image = {
                    Color = "0 0 0 0"
                }
                , RectTransform = {
                    AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "0 0"
                }
                ,
            }
            , BaseLayer + ".Left", LeftLayer);
            CuiHelper.DestroyUi(player, ContentLayer);
            container.Add(new CuiPanel() {
                CursorEnabled = true, RectTransform = {
                    AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "0 0"
                }
                , Image = {
                    Color = "0 0 0 0"
                }
            }
            , BaseLayer + ".CONTENT_MAIN", ContentLayer);
            string userLang = lang.GetLanguage(player.UserIDString);
            bool NFBPLLCIEPANXODAABIXUTKLGQRYVCVPPVRMCWGQMMXTTTTUI = userLang == "ru";
            if(SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.TurnQR) {
                if (tabIndex == 0) {
                    container.Add(new CuiPanel() {
                        CursorEnabled = true, RectTransform = {
                            AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "0 0"
                        }
                        , Image = {
                            Color = "0.117 0.121 0.109 0"
                        }
                    }
                    , BaseLayer + ".CONTENT_MAIN", "SectionGlavnoe");
                    container.Add(new CuiPanel {
                        RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-300 105", OffsetMax = "-150 255"
                        }
                        , Image = {
                            Png = (string) ImageLibrary.Call("GetImage", "QR1"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
                        }
                    }
                    , "SectionGlavnoe", "VK");
                    {
                        container.Add(new CuiElement {
                            Parent = "VK", Name = "InputVk", Components = {
                                new CuiImageComponent {
                                    Color = "0 0 0 0.15", Material = "assets/content/ui/uibackgroundblur-ingamemenu.mat"
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0.1 0", AnchorMax = "0.9 0", OffsetMin = "0 -22", OffsetMax = "0 -7"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.9 0.9 0.9 0.7", Distance = "1.2 -1.2", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                        container.Add(new CuiPanel {
                            Image = {
                                Color = "0.2 0.2 0.2 0"
                            }
                            , RectTransform = {
                                AnchorMin = "0.006 0.05", AnchorMax = "0.99 0.92", OffsetMin = "0 0", OffsetMax = "1 1"
                            }
                        }
                        , "InputVk", "InputLine");
                        container.Add(new CuiElement {
                            Parent = "InputLine", Name = "ThisInput", Components = {
                                new CuiInputFieldComponent {
                                    Text = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.WDDGDYDSVGMYYQLXNPYCLGRIZBNGRYVTSABHYWMO, FontSize = 10, Command = "", Align = TextAnchor.MiddleCenter, Color = "0.8 0.8 0.8 1", ReadOnly = true, NeedsKeyboard = true
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "1 1"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.4 0.4 0.4 0.8", Distance = "0.4 -0.4", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                    }
                    container.Add(new CuiPanel {
                        RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-75 105", OffsetMax = "75 255"
                        }
                        , Image = {
                            Png = (string) ImageLibrary.Call("GetImage", "QR2"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
                        }
                    }
                    , "SectionGlavnoe", "DISCORD");
                    {
                        container.Add(new CuiElement {
                            Parent = "DISCORD", Name = "InputDs", Components = {
                                new CuiImageComponent {
                                    Color = "0 0 0 0.15", Material = "assets/content/ui/uibackgroundblur-ingamemenu.mat"
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0.1 0", AnchorMax = "0.9 0", OffsetMin = "0 -22", OffsetMax = "0 -7"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.9 0.9 0.9 0.7", Distance = "1.2 -1.2", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                        container.Add(new CuiPanel {
                            Image = {
                                Color = "0.2 0.2 0.2 0"
                            }
                            , RectTransform = {
                                AnchorMin = "0.006 0.05", AnchorMax = "0.99 0.92", OffsetMin = "0 0", OffsetMax = "1 1"
                            }
                        }
                        , "InputDs", "InputLine");
                        container.Add(new CuiElement {
                            Parent = "InputLine", Name = "ThisInput", Components = {
                                new CuiInputFieldComponent {
                                    Text = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.CIHAAAUTGWVTVQQLVGBKXAXLSGYODZQCKOIXJIZBTMLCZ, FontSize = 10, Command = "", Align = TextAnchor.MiddleCenter, Color = "0.8 0.8 0.8 1", ReadOnly = true, NeedsKeyboard = true
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "1 1"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.4 0.4 0.4 0.8", Distance = "0.4 -0.4", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                    }
                    container.Add(new CuiPanel {
                        RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "150 105", OffsetMax = "300 255"
                        }
                        , Image = {
                            Png = (string) ImageLibrary.Call("GetImage", "QR3"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
                        }
                    }
                    , "SectionGlavnoe", "SHOP");
                    {
                        container.Add(new CuiElement {
                            Parent = "SHOP", Name = "InputShop", Components = {
                                new CuiImageComponent {
                                    Color = "0 0 0 0.15", Material = "assets/content/ui/uibackgroundblur-ingamemenu.mat"
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0.1 0", AnchorMax = "0.9 0", OffsetMin = "0 -22", OffsetMax = "0 -7"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.9 0.9 0.9 0.7", Distance = "1.2 -1.2", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                        container.Add(new CuiPanel {
                            Image = {
                                Color = "0.2 0.2 0.2 0"
                            }
                            , RectTransform = {
                                AnchorMin = "0.006 0.05", AnchorMax = "0.99 0.92", OffsetMin = "0 0", OffsetMax = "1 1"
                            }
                        }
                        , "InputShop", "InputLine");
                        container.Add(new CuiElement {
                            Parent = "InputLine", Name = "ThisInput", Components = {
                                new CuiInputFieldComponent {
                                    Text = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.ELSPERSVNACQLJERGIHVRDKAZBILLKGYMENLEGZUBACPGZIL.WJKVCPKDQCLVHUCFPGFTJGHTCNHARKOVMTJOEHWBRGXGLNAEY, FontSize = 10, Command = "", Align = TextAnchor.MiddleCenter, Color = "0.8 0.8 0.8 1", ReadOnly = true, NeedsKeyboard = true
                                }
                                , new CuiRectTransformComponent {
                                    AnchorMin = "0 0", AnchorMax = "1 1", OffsetMin = "0 0", OffsetMax = "1 1"
                                }
                                , new CuiOutlineComponent {
                                    Color = "0.4 0.4 0.4 0.8", Distance = "0.4 -0.4", UseGraphicAlpha = true
                                }
                            }
                        }
                        );
                    }
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.20 0.20 0.24 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-100 20", OffsetMax = "100 70"
                        }
                    }
                    , "SectionGlavnoe", "UnderInfo");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.376 0.384 0.459 0.5"
                        }
                        , RectTransform = {
                            AnchorMin = "1 0", AnchorMax = "1 1", OffsetMin = "-195 5", OffsetMax = "-5 -5"
                        }
                    }
                    , "UnderInfo", "UnderInfoBlock");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.20 0.20 0.24 0"
                        }
                        , RectTransform = {
                            AnchorMin = "1 0", AnchorMax = "1 1", OffsetMin = "-140 2.5", OffsetMax = "0 -2.5"
                        }
                    }
                    , "UnderInfoBlock", "UnderInfoTextBlock");
                    container.Add(new CuiLabel {
                        RectTransform = {
                            AnchorMin = "0 0", AnchorMax = "1 1"
                        }
                        , Text = {
                            Text = NFBPLLCIEPANXODAABIXUTKLGQRYVCVPPVRMCWGQMMXTTTTUI ? "Выделите и скопируйте ссылку, используйте <b><color=white>CTRL + C</color></b>" : "Select and copy the link, use <b><color=white>CTRL+C</color></b>", FontSize = 10, Font = "robotocondensed-regular.ttf", Align = TextAnchor.MiddleCenter, Color = "0.85 0.85 0.85 1"
                        }
                    }
                    , "UnderInfoTextBlock", "UnderInfoText");
                    container.Add(new CuiPanel {
                        RectTransform = {
                            AnchorMin = "0 0", AnchorMax = "0 1", OffsetMin = "10 0", OffsetMax = "60 0"
                        }
                        , Image = {
                            Png = (string) ImageLibrary.Call("GetImage", "UnderInfoImage"), Color = "1 1 1 1", Material = "assets/icons/greyout.mat"
                        }
                    }
                    , "UnderInfo", "UnderInfoImage");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.4 0.4 0.4 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "0 0.5", AnchorMax = "0 0.5", OffsetMin = "-126 -1", OffsetMax = "0 1"
                        }
                    }
                    , "UnderInfo", "Stick_1");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.4 0.4 0.4 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "1 0.5", AnchorMax = "1 0.5", OffsetMin = "0 -1", OffsetMax = "126 1"
                        }
                    }
                    , "UnderInfo", "Stick_2");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.4 0.4 0.4 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-1 -37", OffsetMax = "1 -1"
                        }
                    }
                    , "InputVk", "Stick_1_Down");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.4 0.4 0.4 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-1 -13", OffsetMax = "1 -1"
                        }
                    }
                    , "InputDs", "Stick_2_Down");
                    container.Add(new CuiPanel {
                        Image = {
                            Color = "0.4 0.4 0.4 0.8"
                        }
                        , RectTransform = {
                            AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-1 -37", OffsetMax = "1 -1"
                        }
                    }
                    , "InputShop", "Stick_3_Down");
                }
            }
            var Group = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.tabs[group];
            int count = 5;
            float topPosition = (Group.Count() / 2f * HEIGHT_MENU_ELEMENT + (Group.Count() - 1) / 2f * 5);
            int ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY=0;
            int XXZHYFAPENDACJSDHVGQKBVCFGBFDBYTOGJWYGDLCC=0;
            int YUMSSDQYQXHWWCXBRDUMDPKLWZWFARVNIOWHTOICMCHV=0;
            foreach (var res in Group) {
                double offset = -(80 * count--) + -(2.5 * count--);
                container.Add(new CuiElement {
                    Parent = LeftLayer, Name = LeftLayer + ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY, Components = {
                        new CuiRawImageComponent {
                            Png = (string) ImageLibrary.Call("GetImage", "btn_ctg"), Color = tabIndex == ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY ? "1 1 1 1" : "1 1 1 0.2"
                        }
                        , new CuiRectTransformComponent {
                            AnchorMin=$"{0.038 + (YUMSSDQYQXHWWCXBRDUMDPKLWZWFARVNIOWHTOICMCHV * 0.187)} {0.08 - (XXZHYFAPENDACJSDHVGQKBVCFGBFDBYTOGJWYGDLCC * 0.18)}", AnchorMax=$"{0.038 + (YUMSSDQYQXHWWCXBRDUMDPKLWZWFARVNIOWHTOICMCHV * 0.187) + 0.175f} {0.92 - (XXZHYFAPENDACJSDHVGQKBVCFGBFDBYTOGJWYGDLCC * 0.18)}"
                        }
                    }
                }
                );
                container.Add(new CuiButton {
                    RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1"
                    }
                    , Button = {
                        Color = "0 0 0 0", Command = $"infomenu_selectpage {group} {ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY} {0}"
                    }
                    , Text = {
                        Text = res.Title.ToUpper(), Color = tabIndex == ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY ? "0.929 0.882 0.847 0.75" : "0.7 0.7 0.7 0.2", Align = TextAnchor.MiddleCenter, FontSize = 24, Font = "robotocondensed-bold.ttf"
                    }
                }
                , LeftLayer + ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY);
                ICNLXANPPMAVXWTCSHZSBDCXHKXMNGTXOCQDSRMXMUBWUGMDY++;
                YUMSSDQYQXHWWCXBRDUMDPKLWZWFARVNIOWHTOICMCHV++;
                if (YUMSSDQYQXHWWCXBRDUMDPKLWZWFARVNIOWHTOICMCHV == 5) {
                    break;
                }
            }
            var PageTab = Group[tabIndex];
            var PageSelect = PageTab.Pages[page];
            string omin="";
            string omax="";
            if (PageSelect.Images.Count > 0) {
                foreach (var image in PageSelect.Images) {
                    GetOffsetPos(image.PositionType.ToUpper(), image.Height, image.Width, ref omin, ref omax);
                    container.Add(new CuiElement() {
                        Parent = ContentLayer, Components = {
                            new CuiRawImageComponent {
                                Png = (string)ImageLibrary?.Call("GetImage", image.URL), Color = "1 1 1 0.9"
                            }
                            , new CuiRectTransformComponent {
                                AnchorMin=$"{image.Center}", AnchorMax= $"{image.Center}", OffsetMin = omin, OffsetMax = omax
                            }
                            ,
                        }
                    }
                    );
                }
            }
            foreach (var block in PageSelect.blocks) {
                foreach (var select in block.colums) {
                    var text = string.Join("\n", select.TextList);
                    GetOffsetPos(select.PositionType.ToUpper(), select.Height, select.Width, ref omin, ref omax);
                    container.Add(new CuiElement {
                        Name = CuiHelper.GetGuid(), Parent = ContentLayer, Components = {
                            new CuiTextComponent {
                                Text = text, FontSize = select.TextSize, Align = select.Anchor, Color = "1 1 1 1", Font="robotocondensed-regular.ttf" , FadeIn = isStart ? 0.5f : 0.2f
                            }
                            , new CuiRectTransformComponent {
                                AnchorMin = select.Center, AnchorMax = select.Center, OffsetMin = omin, OffsetMax = omax
                            }
                            , new CuiOutlineComponent {
                                Color = ParseColorFromRGBA(select.OutlineColor), Distance = "0.5 -0.5"
                            }
                        }
                    }
                    );
                }
            }
            if (PageSelect.Buttons.Count > 0) {
                int l=0;
                foreach (var button in PageSelect.Buttons) {
                    GetOffsetPos(button.PositionType.ToUpper(), button.Height, button.Width, ref omin, ref omax);
                    string cmd = $"im_exec_cmd {group} {button.isClient} {button.CloseMenu} {tabIndex} {page} {l}";
                    container.Add(new CuiButton {
                        RectTransform = {
                            AnchorMin=$"{button.Center}", AnchorMax= $"{button.Center}", OffsetMin = omin, OffsetMax = omax
                        }
                        , Button = {
                            Color = HexToCuiColor(button.Color), Command = cmd
                        }
                        , Text = {
                            Text = button.Caption, Align = TextAnchor.MiddleCenter, Font = "robotocondensed-bold.ttf", FontSize = button.TextSize
                        }
                    }
                    , ContentLayer, ContentLayer + "btn"+l);
                    l++;
                }
            }
            var PRBWEHRJQVPCVYNYVSNHGBSQIEEYSRUIXMERXJQIXUK=page+1;
            string CXSQRYQJEZBOZKOADSQYAHFJUVAMCFJMRJNLLNGTAKD = $"infomenu_selectpage {group} {tabIndex} {page-1}";
            string KPSNVPFEDLHVRJVVYEGZPPWPWCOPLXXQEIZEDNQMAEIFCSTBR = $"infomenu_selectpage {group} {tabIndex} {page+1}";
            bool VWDDHUSDQSAPSGNRQJKRSLNUZLHRNDJMXACBMAAELZWY = page > 0;
            bool KMBRKCJRASJIJEWMBQMJNSSDMFPJFGSOPIPZFZCBZVXH = PageTab.Pages.Count > (page+1);
            if (!PageSelect.OffPageButtons) {
                container.Add(new CuiPanel {
                    RectTransform = {
                        AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = $"-195 15", OffsetMax = "205 60"
                    }
                    , Image = {
                        Color = "0 0 0 0"
                    }
                }
                , BaseLayer + ".CONTENT_MAIN", BaseLayer + ".PS");
                container.Add(new CuiPanel {
                    RectTransform = {
                        AnchorMin = "0.5 0", AnchorMax = "0.5 1", OffsetMin = $"-84 0", OffsetMax = "85 0"
                    }
                    , Image = {
                        Color = "0.05 0.05 0.05 0.5"
                    }
                }
                , BaseLayer + ".PS", "LabelPage");
                container.Add(new CuiLabel {
                    RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1"
                    }
                    , Text = {
                        Text = (NFBPLLCIEPANXODAABIXUTKLGQRYVCVPPVRMCWGQMMXTTTTUI ? "СТРАНИЦА" : "PAGE") + $": {PRBWEHRJQVPCVYNYVSNHGBSQIEEYSRUIXMERXJQIXUK}", FontSize = 25, Font = "robotocondensed-regular.ttf", Align = TextAnchor.MiddleCenter, Color = "0.889 0.882 0.847 0.8"
                    }
                }
                , "LabelPage", "ThisLabel");
                container.Add(new CuiPanel {
                    RectTransform = {
                        AnchorMin = "0.15 0", AnchorMax = "0.29 1", OffsetMin = $"0 0", OffsetMax = "-0 -0"
                    }
                    , Image = {
                        Color = VWDDHUSDQSAPSGNRQJKRSLNUZLHRNDJMXACBMAAELZWY ? "0.196 0.200 0.239 1.8" : "0.196 0.200 0.239 0.4"
                    }
                }
                , BaseLayer + ".PS", BaseLayer + ".PS.L");
                container.Add(new CuiButton {
                    RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1", OffsetMax = "0 0"
                    }
                    , Button = {
                        Color = "0 0 0 0", Command = VWDDHUSDQSAPSGNRQJKRSLNUZLHRNDJMXACBMAAELZWY ? CXSQRYQJEZBOZKOADSQYAHFJUVAMCFJMRJNLLNGTAKD : ""
                    }
                    , Text = {
                        Text = "<b><</b>", Font = "robotocondensed-bold.ttf", FontSize = 35, Align = TextAnchor.MiddleCenter, Color = VWDDHUSDQSAPSGNRQJKRSLNUZLHRNDJMXACBMAAELZWY ? "0.61 0.63 0.97 1" : "0.61 0.63 0.97 0.15"
                    }
                }
                , BaseLayer + ".PS.L");
                container.Add(new CuiPanel {
                    RectTransform = {
                        AnchorMin = "0.71 0", AnchorMax = "0.85 1", OffsetMin = $"0 0", OffsetMax = "-0 -0"
                    }
                    , Image = {
                        Color = KMBRKCJRASJIJEWMBQMJNSSDMFPJFGSOPIPZFZCBZVXH ? "0.196 0.200 0.239 1.8" : "0.196 0.200 0.239 0.4"
                    }
                }
                , BaseLayer + ".PS", BaseLayer + ".PS.R");
                container.Add(new CuiButton {
                    RectTransform = {
                        AnchorMin = "0 0", AnchorMax = "1 1", OffsetMax = "0 0"
                    }
                    , Button = {
                        Color = "0 0 0 0", Command = KMBRKCJRASJIJEWMBQMJNSSDMFPJFGSOPIPZFZCBZVXH ? KPSNVPFEDLHVRJVVYEGZPPWPWCOPLXXQEIZEDNQMAEIFCSTBR : ""
                    }
                    , Text = {
                        Text = "<b>></b>", Font = "robotocondensed-bold.ttf", FontSize = 35, Align = TextAnchor.MiddleCenter, Color = KMBRKCJRASJIJEWMBQMJNSSDMFPJFGSOPIPZFZCBZVXH ? "0.61 0.63 0.97 1" : "0.61 0.63 0.97 0.15"
                    }
                }
                , BaseLayer + ".PS.R");
            }
            CuiHelper.AddUi(player, container);
        }
        private void CreateTab(BasePlayer player, string group, int tabIndex = 0, int page = 0) {
            var Group = SVKHXPKBBOCLTONTZJOVDAZXHVYZSXXWDLTVPPJPTUPNNBXM.tabs[group];
            var PageTab = Group[tabIndex];
            var PageSelect = PageTab.Pages[page];
            string omin="";
            string omax="";
            CuiElementContainer container = new CuiElementContainer();
            CuiHelper.DestroyUi(player, ContentLayer);
            container.Add(new CuiPanel {
                CursorEnabled = true, Image = {
                    Color = "0 0 0 0"
                }
                , RectTransform = {
                    AnchorMin = "0.485 0", AnchorMax = "0.945 1"
                }
            }
            , "MS_UI", ContentLayer);
            if (PageSelect.Images.Count > 0) {
                foreach (var image in PageSelect.Images) {
                    GetOffsetPos(image.PositionType.ToUpper(), image.Height, image.Width, ref omin, ref omax);
                    container.Add(new CuiElement() {
                        Parent = ContentLayer, Components = {
                            new CuiRawImageComponent {
                                Png = (string)ImageLibrary?.Call("GetImage", image.URL), Color = "1 1 1 0.9"
                            }
                            , new CuiRectTransformComponent {
                                AnchorMin=$"{image.Center}", AnchorMax= $"{image.Center}", OffsetMin = omin, OffsetMax = omax
                            }
                            ,
                        }
                    }
                    );
                }
            }
            foreach (var block in PageSelect.blocks) {
                foreach (var select in block.colums) {
                    var text = string.Join("\n", select.TextList);
                    GetOffsetPos(select.PositionType.ToUpper(), select.Height, select.Width, ref omin, ref omax);
                    container.Add(new CuiElement {
                        Name = CuiHelper.GetGuid(), Parent = ContentLayer, Components = {
                            new CuiTextComponent {
                                Text = text, FontSize = select.TextSize, Align = select.Anchor, Color = "1 1 1 1", Font="robotocondensed-regular.ttf" , FadeIn = 0.2f
                            }
                            , new CuiRectTransformComponent {
                                AnchorMin = select.Center, AnchorMax = select.Center, OffsetMin = omin, OffsetMax = omax
                            }
                            , new CuiOutlineComponent {
                                Color = ParseColorFromRGBA(select.OutlineColor), Distance = "0.5 -0.5"
                            }
                        }
                    }
                    );
                }
            }
            if (PageSelect.Buttons.Count > 0) {
                int l=0;
                foreach (var button in PageSelect.Buttons) {
                    GetOffsetPos(button.PositionType.ToUpper(), button.Height, button.Width, ref omin, ref omax);
                    string cmd = $"im_exec_cmd {group} {button.isClient} {button.CloseMenu} {tabIndex} {page} {l}";
                    container.Add(new CuiButton {
                        RectTransform = {
                            AnchorMin=$"{button.Center}", AnchorMax= $"{button.Center}", OffsetMin = omin, OffsetMax = omax
                        }
                        , Button = {
                            Color = HexToCuiColor(button.Color), Command = cmd
                        }
                        , Text = {
                            Text = button.Caption, Align = TextAnchor.MiddleCenter, Font = "robotocondensed-bold.ttf", FontSize = button.TextSize
                        }
                    }
                    , ContentLayer, ContentLayer + "btn"+l);
                    l++;
                }
            }
            if (PageTab.Pages.Count>1) {
                if (page>0) {
                    container.Add(new CuiButton {
                        RectTransform = {
                            AnchorMin = "0.34 0.0", AnchorMax = $"0.407 0.11", OffsetMax = "0 0"
                        }
                        , Button = {
                            Color = "0 0 0 0", Command = $"infomenu_selectpage {group} {tabIndex} {page-1}"
                        }
                        , Text = {
                            Text = $"<", Font = "robotocondensed-bold.ttf", FontSize = 30, Align = TextAnchor.MiddleCenter
                        }
                    }
                    , ContentLayer);
                }
                container.Add(new CuiButton {
                    RectTransform = {
                        AnchorMin = "0.41 0.0", AnchorMax = $"0.59 0.106", OffsetMax = "0 0"
                    }
                    , Button = {
                        Color = "0 0 0 0"
                    }
                    , Text = {
                        Text = $"СТРАНИЦА: {page+1}", Font = "robotocondensed-regular.ttf", FontSize = 16, Align = TextAnchor.MiddleCenter
                    }
                }
                , ContentLayer);
                if (PageTab.Pages.Count > (page+1)) {
                    container.Add(new CuiButton {
               
// ... [Code preview truncated due to length. Full source in attached file] ...

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