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.1.3")]
public class InfoMenu : RustPlugin {
[PluginReference]
private Plugin MenuSystem, LoadingImages;
readonly int HEIGHT_MENU_ELEMENT = 35;
private PluginConfig OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP;
private class PluginConfig {
[JsonProperty("Настройка главной страницы")]
public SettingsQR PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO = 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 LinkQR1 = "https://i.imgur.com/lWYup68.png";
[JsonProperty("Изображение на второй QR-код")]
public string LinkQR2 = "https://i.imgur.com/z4v7gxs.png";
[JsonProperty("Изображение на третий QR-код")]
public string LinkQR3 = "https://i.imgur.com/D6RMIXe.png";
[JsonProperty("Текст на первый QR-код")]
public string BFSLOHYTSODGWGBYGKUYWLJLCZLNWVZFTVWWXLRGTTKXXMULF = "vk.com/yourserver";
[JsonProperty("Текст на второй QR-код")]
public string ICUGDPVHIOWKWWPYNAKEAUTNEDBMNPFZIAMWKMSGBQCDJIWN = "discord.gg/yourserver";
[JsonProperty("Текст на третий QR-код")]
public string ZZTBAVOJGCANITTIWCWKSNAIDDKSPDVHOEOQMYHFYME = "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 {
OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP = Config.ReadObject<PluginConfig>();
if (OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP?.tabs == null || OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.tabs.Count<1) {
PrintWarning("Errorn in OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP file.Created default OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.");
LoadDefaultConfig();
}
}
catch {
LoadDefaultConfig();
}
NextTick(SaveConfig);
}
protected override void SaveConfig() => Config.WriteObject(OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP);
protected override void LoadDefaultConfig() {
OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP = PluginConfig.DefaultConfig();
}
public List<String> cmdList = new List<String> {
"help", "info"
}
;
private void OnServerInitialized() {
foreach (var cmdName in cmdList) cmd.AddChatCommand(cmdName, this, nameof(SPRLXMWBMBVNZXAYNIYWQDJLZWXRSCWVJPHGLSKBBIBD));
IEnumerable<Images> images = from messages in OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.tabs.Values from message in messages from pages in message.Pages from image in pages.Images select image;
foreach (var image in images.ToList()) LoadingImages?.Call("AddImage", image.URL, image.URL);
if(OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.TurnQR) {
LoadingImages.Call("AddImage", OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.LinkQR1, "QR1");
LoadingImages.Call("AddImage", OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.LinkQR2, "QR2");
LoadingImages.Call("AddImage", OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.LinkQR3, "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 SPRLXMWBMBVNZXAYNIYWQDJLZWXRSCWVJPHGLSKBBIBD(BasePlayer player, string command, string[] args) {
MenuSystem?.Call("MS_CustomCMD", player, "menu");
}
[ConsoleCommand("infomenu_selectpage")]
private void YIIMXLZDLVPGGLBOEJKFADKPUMVXXVICFYBNPFVQWRYT(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 ZFHJMWZQYLUYSRKPCFQMNAHJNYZOTIIFQXUHOOKYJLHMHO(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 = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.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 STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH = new CuiElementContainer();
CuiHelper.DestroyUi(player, "SectionGlavnoe");
if (isStart) {
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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 PBRABKUCSBDZTNQHYOLHRJDIVNLWNYMRLOPDKVWKWJNH = lang.GetLanguage(player.UserIDString);
bool QQXXAXBDZTGYJFNYYOTPMNFYMWCSBLIVVVEXNYMBKNLV = PBRABKUCSBDZTNQHYOLHRJDIVNLWNYMRLOPDKVWKWJNH == "ru";
if(OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.TurnQR) {
if (tabIndex == 0) {
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-300 105", OffsetMax = "-150 255"
}
, Image = {
Png = (string) LoadingImages.Call("GetImage", "QR1"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
}
}
, "SectionGlavnoe", "VK");
{
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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
}
}
}
);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement {
Parent = "InputLine", Name = "ThisInput", Components = {
new CuiInputFieldComponent {
Text = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.BFSLOHYTSODGWGBYGKUYWLJLCZLNWVZFTVWWXLRGTTKXXMULF, 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
}
}
}
);
}
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "-75 105", OffsetMax = "75 255"
}
, Image = {
Png = (string) LoadingImages.Call("GetImage", "QR2"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
}
}
, "SectionGlavnoe", "DISCORD");
{
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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
}
}
}
);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement {
Parent = "InputLine", Name = "ThisInput", Components = {
new CuiInputFieldComponent {
Text = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.ICUGDPVHIOWKWWPYNAKEAUTNEDBMNPFZIAMWKMSGBQCDJIWN, 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
}
}
}
);
}
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.5 0", AnchorMax = "0.5 0", OffsetMin = "150 105", OffsetMax = "300 255"
}
, Image = {
Png = (string) LoadingImages.Call("GetImage", "QR3"), Color = "0.9 0.9 0.9 0.75", Material = "assets/icons/greyout.mat"
}
}
, "SectionGlavnoe", "SHOP");
{
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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
}
}
}
);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement {
Parent = "InputLine", Name = "ThisInput", Components = {
new CuiInputFieldComponent {
Text = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.PPMSOQDZGBUSISYJLJRUEXSZIMEURBNOINOMTSIMQIKIPUO.ZZTBAVOJGCANITTIWCWKSNAIDDKSPDVHOEOQMYHFYME, 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
}
}
}
);
}
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiLabel {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "1 1"
}
, Text = {
Text = QQXXAXBDZTGYJFNYYOTPMNFYMWCSBLIVVVEXNYMBKNLV ? "Выделите и скопируйте ссылку, используйте <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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "0 1", OffsetMin = "10 0", OffsetMax = "60 0"
}
, Image = {
Png = (string) LoadingImages?.Call("GetImage", "UnderInfoImage"), Color = "1 1 1 1", Material = "assets/icons/greyout.mat"
}
}
, "UnderInfo", "UnderInfoImage");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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 = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.tabs[group];
int FBQJMYUTRADLZKEUJCOKKCNAQKABSEYBJPHVLIOMOBE = 5;
float BLONIGBLXLXCNQSBYSBNBBBJDIJANBWJYRYEWMSLDMEYSFIU = (Group.Count() / 2f * HEIGHT_MENU_ELEMENT + (Group.Count() - 1) / 2f * 5);
int i=0;
int NOVZQTAKFKAXAYVOOEVSOFMZQJPWDRYZOKZMBJHXXUQBSN=0;
int OIJDAMCCICVJHEEGNMAJPYINFWXUTOKHCFANUNXNL=0;
foreach (var res in Group) {
double offset = -(80 * FBQJMYUTRADLZKEUJCOKKCNAQKABSEYBJPHVLIOMOBE--) + -(2.5 * FBQJMYUTRADLZKEUJCOKKCNAQKABSEYBJPHVLIOMOBE--);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement {
Parent = LeftLayer, Name = LeftLayer + i, Components = {
new CuiRawImageComponent {
Png = (string) LoadingImages?.Call("GetImage", "btn_ctg"), Color = tabIndex == i ? "1 1 1 1" : "1 1 1 0.2"
}
, new CuiRectTransformComponent {
AnchorMin=$"{0.038 + (OIJDAMCCICVJHEEGNMAJPYINFWXUTOKHCFANUNXNL * 0.187)} {0.08 - (NOVZQTAKFKAXAYVOOEVSOFMZQJPWDRYZOKZMBJHXXUQBSN * 0.18)}", AnchorMax=$"{0.038 + (OIJDAMCCICVJHEEGNMAJPYINFWXUTOKHCFANUNXNL * 0.187) + 0.175f} {0.92 - (NOVZQTAKFKAXAYVOOEVSOFMZQJPWDRYZOKZMBJHXXUQBSN * 0.18)}"
}
}
}
);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiButton {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "1 1"
}
, Button = {
Color = "0 0 0 0", Command = $"infomenu_selectpage {group} {i} {0}"
}
, Text = {
Text = res.Title.ToUpper(), Color = tabIndex == i ? "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 + i);
i++;
OIJDAMCCICVJHEEGNMAJPYINFWXUTOKHCFANUNXNL++;
if (OIJDAMCCICVJHEEGNMAJPYINFWXUTOKHCFANUNXNL == 5) {
break;
}
}
var QYRKOZPSZDAYSRSYODCCZEGHJBMSIJGDHWYJJUCLKWOTGHGR = Group[tabIndex];
var XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT = QYRKOZPSZDAYSRSYODCCZEGHJBMSIJGDHWYJJUCLKWOTGHGR.Pages[page];
string omin="";
string omax="";
if (XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Images.Count > 0) {
foreach (var image in XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Images) {
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(image.PositionType.ToUpper(), image.Height, image.Width, ref omin, ref omax);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement() {
Parent = ContentLayer, Components = {
new CuiRawImageComponent {
Png = (string) LoadingImages?.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 XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.blocks) {
foreach (var select in block.colums) {
var text = string.Join("\n", select.TextList);
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(select.PositionType.ToUpper(), select.Height, select.Width, ref omin, ref omax);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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 (XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Buttons.Count > 0) {
int l=0;
foreach (var button in XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Buttons) {
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(button.PositionType.ToUpper(), button.Height, button.Width, ref omin, ref omax);
string cmd = $"im_exec_cmd {group} {button.isClient} {button.CloseMenu} {tabIndex} {page} {l}";
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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 ZNMYWKQKYDJVXLQUVDKYRRQAWOVSVHRPBLREPRQPLKXCA=page+1;
string KPHFQOOVXHXMCHOYOQLTUMTMEEMUNHTNZYEFKPQDAGNJHDOJB = $"infomenu_selectpage {group} {tabIndex} {page-1}";
string VGRGDYVVBMBUHPOJMEDJNYAITOYKFAPDTALNWSUFJPOE = $"infomenu_selectpage {group} {tabIndex} {page+1}";
bool GYYVXRKGSZWFINPALQBWYBHEAMTJXZYKWGMPAOHJ = page > 0;
bool WBBPHOEFFYYNHDFRUULXAISAMJCAZAXJRSBZFOTYO = QYRKOZPSZDAYSRSYODCCZEGHJBMSIJGDHWYJJUCLKWOTGHGR.Pages.Count > (page+1);
if (!XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.OffPageButtons) {
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiLabel {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "1 1"
}
, Text = {
Text = (QQXXAXBDZTGYJFNYYOTPMNFYMWCSBLIVVVEXNYMBKNLV ? "СТРАНИЦА" : "PAGE") + $": {ZNMYWKQKYDJVXLQUVDKYRRQAWOVSVHRPBLREPRQPLKXCA}", FontSize = 25, Font = "robotocondensed-regular.ttf", Align = TextAnchor.MiddleCenter, Color = "0.889 0.882 0.847 0.8"
}
}
, "LabelPage", "ThisLabel");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.15 0", AnchorMax = "0.29 1", OffsetMin = $"0 0", OffsetMax = "-0 -0"
}
, Image = {
Color = GYYVXRKGSZWFINPALQBWYBHEAMTJXZYKWGMPAOHJ ? "0.196 0.200 0.239 1.8" : "0.196 0.200 0.239 0.4"
}
}
, BaseLayer + ".PS", BaseLayer + ".PS.L");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiButton {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "1 1", OffsetMax = "0 0"
}
, Button = {
Color = "0 0 0 0", Command = GYYVXRKGSZWFINPALQBWYBHEAMTJXZYKWGMPAOHJ ? KPHFQOOVXHXMCHOYOQLTUMTMEEMUNHTNZYEFKPQDAGNJHDOJB : ""
}
, Text = {
Text = "<b><</b>", Font = "robotocondensed-bold.ttf", FontSize = 35, Align = TextAnchor.MiddleCenter, Color = GYYVXRKGSZWFINPALQBWYBHEAMTJXZYKWGMPAOHJ ? "0.61 0.63 0.97 1" : "0.61 0.63 0.97 0.15"
}
}
, BaseLayer + ".PS.L");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
RectTransform = {
AnchorMin = "0.71 0", AnchorMax = "0.85 1", OffsetMin = $"0 0", OffsetMax = "-0 -0"
}
, Image = {
Color = WBBPHOEFFYYNHDFRUULXAISAMJCAZAXJRSBZFOTYO ? "0.196 0.200 0.239 1.8" : "0.196 0.200 0.239 0.4"
}
}
, BaseLayer + ".PS", BaseLayer + ".PS.R");
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiButton {
RectTransform = {
AnchorMin = "0 0", AnchorMax = "1 1", OffsetMax = "0 0"
}
, Button = {
Color = "0 0 0 0", Command = WBBPHOEFFYYNHDFRUULXAISAMJCAZAXJRSBZFOTYO ? VGRGDYVVBMBUHPOJMEDJNYAITOYKFAPDTALNWSUFJPOE : ""
}
, Text = {
Text = "<b>></b>", Font = "robotocondensed-bold.ttf", FontSize = 35, Align = TextAnchor.MiddleCenter, Color = WBBPHOEFFYYNHDFRUULXAISAMJCAZAXJRSBZFOTYO ? "0.61 0.63 0.97 1" : "0.61 0.63 0.97 0.15"
}
}
, BaseLayer + ".PS.R");
}
CuiHelper.AddUi(player, STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH);
}
private void ORJTGCQHZGQPDCGEWXMLHEAGPYBBULVYPFNBLHRZUVTIFIGQP(BasePlayer player, string group, int tabIndex = 0, int page = 0) {
var Group = OHVKDXQPVAPVGUOMODIWJYDWEBCXGDBFKXDTIQKJNWUJECONP.tabs[group];
var QYRKOZPSZDAYSRSYODCCZEGHJBMSIJGDHWYJJUCLKWOTGHGR = Group[tabIndex];
var XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT = QYRKOZPSZDAYSRSYODCCZEGHJBMSIJGDHWYJJUCLKWOTGHGR.Pages[page];
string omin="";
string omax="";
CuiElementContainer STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH = new CuiElementContainer();
CuiHelper.DestroyUi(player, ContentLayer);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiPanel {
CursorEnabled = true, Image = {
Color = "0 0 0 0"
}
, RectTransform = {
AnchorMin = "0.485 0", AnchorMax = "0.945 1"
}
}
, "MS_UI", ContentLayer);
if (XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Images.Count > 0) {
foreach (var image in XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Images) {
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(image.PositionType.ToUpper(), image.Height, image.Width, ref omin, ref omax);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiElement() {
Parent = ContentLayer, Components = {
new CuiRawImageComponent {
Png = (string)LoadingImages?.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 XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.blocks) {
foreach (var select in block.colums) {
var text = string.Join("\n", select.TextList);
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(select.PositionType.ToUpper(), select.Height, select.Width, ref omin, ref omax);
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.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 (XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Buttons.Count > 0) {
int l=0;
foreach (var button in XQYCIWLRKAMMWKPXWRVTJOUAQSCQNABUVGKTIBYAMRZT.Buttons) {
TUKQQKRCDIBOMNKSAXOESOFNQLKSBHRKMQSAOYODK(button.PositionType.ToUpper(), button.Height, button.Width, ref omin, ref omax);
string cmd = $"im_exec_cmd {group} {button.isClient} {button.CloseMenu} {tabIndex} {page} {l}";
STSWJUNGZDPMYLXXKWUCGSZEFCWYURLGIQPKLOIVQPH.Add(new CuiButton {
RectTransform = {
AnchorMin=$"{button.Center}", AnchorMax= $"{button.Center}", OffsetMin = omin, OffsetMax = omax
// ... [Code preview truncated due to length. Full source in attached file] ...