JS-скрипт [Part 1] All about UI elements in onetap crack (for newbies)

pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Не проще было хотя-бы так расписать?
Код:
UI.AddCheckbox("checkbox_name");
var enabled = UI.GetValue("Script items" , "checkbox_name");
//Если чекбокс активен, enabled будет true, иначе, false.
//Взаимодействие:
UI.AddLabel("true") //текст в меню "true"
UI.AddLabel("false") //текст в меню "false"
function menu()
{
var enabled = UI.GetValue("Script items" , "checkbox_name");
//Выносим сюда, потому-что мы будем получать значение только после перезагрузки скрипта, а в функции которую мы зарегистрировали под каллбек Draw, переменная enabled будет бесконечно меняться.
UI.SetVisible("Script items", "true", enabled) //Если у нас активен чекбокс, то мы видим текст "true", иначе мы не будем видеть.
UI.SetVisible("Script items", "false", !enabled) //оператор ! значит "не", тоесть нам не надо писать enabled == false а просто !enabled. Если у нас не активен чекбокс, то мы видем текст "false", иначе мы не будем видеть.
}
Cheat.RegisterCallback("Draw", "menu") //мы регистрируем нашу функцию под каллбек "Draw"
И так со всем остальным
 
Последнее редактирование модератором:
Nike.lua
Олдфаг
Статус
Оффлайн
Регистрация
13 Окт 2020
Сообщения
2,746
Реакции[?]
1,465
Поинты[?]
2K
Не проще было хотя-бы так расписать?
UI.AddCheckbox("checkbox_name");
var enabled = UI.GetValue("Script items" , "checkbox_name");
//Если чекбокс активен, enabled будет true, иначе, false
И так со всем остальным
Я хотел сделать все максимально подробно и с примерами, которые может проверить каждый, жаль что lightshot не захватывает игру, так бы еще прикрепил скриншоты.
 
pidjan
Пользователь
Статус
Оффлайн
Регистрация
10 Ноя 2020
Сообщения
526
Реакции[?]
148
Поинты[?]
1K
Я хотел сделать все максимально подробно и с примерами, которые может проверить каждый, жаль что lightshot не захватывает игру, так бы еще прикрепил скриншоты.
Я дополнил то что написал, так я обьяснил 4 UI элемента
 
я дебил
Эксперт
Статус
Оффлайн
Регистрация
9 Мар 2020
Сообщения
995
Реакции[?]
444
Поинты[?]
2K
Ну для того, чтобы понять что здесь происходит нужно знать хотя бы основы языка JavaScript (learn.javascript.ru - хороший учебник для новичков, учился там же) и английский язык на уровне средней школы.
В этом посте я расскажу подробно о UI классе в кряке вантапа. В UI классе присутствует 18 методов, 9 из которых это сами элементы, 8 из них это взаимодействие с этими элементами и последний метод можно отнести к прочее, поговорим о нем ниже.
(Все элементы которые добавляются с помощью UI класса находятся в меню вантапа по пути Misc - JAVASCRIPT - Script items)

Сначала пройдемся по самим UI элементам, а после по взаимодействию с ними, и так начнем:
UI.AddCheckbox('Checkbox_name') - Самый используемый элемент в меню. Имеет 2 состояния - enabled (true) и disabled (false), что позволяет нам понимать, нужно ли выполнять функцию или нет. Принимает в себя один аргумент - строку, содержащую название самого Checkbox-a.
Добавим его следующим образом:
JavaScript:
UI.AddCheckbox('Our checkbox')
UI.AddHotkey('Hotkey_name') - Один из важнейших элементов в меню. Так же имеет 2 состояния - enabled (true) и disabled (false), позволяет нам определить, активирован ли бинд или нет. Принимает в себя один аргумент - строку, содержащую название Hotkey-я.
Добавим его следующим образом:
JavaScript:
UI.AddHotkey('Our hotkey')
UI.AddSliderInt('Int_slider_name', min_int_value, max_int_value) - Слайдер с целыми числами. Имеет количество состояний которое зависит от чисел, указанных в диапазоне слайдера. Позволяет нам узнать число, выставленное пользователем. Принимает в себя 3 аргумента - строку (название слайдера), минимальное целое число слайдера и максимальное целое число слайдера.
Добавим его так:
JavaScript:
UI.AddSliderInt('Our int slider', 0, 10)
UI.AddSliderFloat('float_slider_name', min_float_value, max_float_value) - Все то же самое что и UI.AddSliderInt(Int_slider_name, min_int_value, max_int_value), только принимает в себя не целые, а дробные числа.
Добавим его так:
JavaScript:
UI.AddSliderFloat('Our float slider', 0.0, 10.0)
UI.AddColorPicker('Colorpicker_name') - Колорпикер (Инструмент выбора цвета). Позволяет нам узнать цвет, выбранный пользователем. Принимает в себя один аргумент - строку (название колорпикера).
Добавим так:
JavaScript:
UI.AddColorPicker('Our colorpicker')
UI.AddDropdown('Dropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать один из предложенных вариантов.
Позволяет узнать, какой вариант выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим его так:
JavaScript:
UI.AddDropdown('Our dropdown', ['1st variant', '2nd variant', '3rd variant'])
UI.AddMultiDropdown('Multidropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать несколько из предложенных вариантов. Позволяет узнать, какие варианты выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим так:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1st variant', '2nd variant', '3rd variant'])
UI.AddTextbox('Textbox_name') - Textbox, в него можно вписывать текст. Позволяет узнать текст, вписанный в него. Принимает в себя один аргумент - строку (название текстбокса)
Добавим его так:
JavaScript:
UI.AddTextbox('Our textbox')
UI.AddLabel('Label name') - Просто строка в меню, можно использовать как описание функции. Принимает в себя один аргумент - строку (название label-а).
Добавим так:
JavaScript:
UI.AddLabel('Our label')
С самими элементами в UI классе мы разобрались, давайте перейдем к методам.
(На этом моменте я понял что я ебнулся, пишу этот пост в 2:08, это пиздец товарищи :roflanPominki: (try harder спокойной ночи))
UI.GetValue(path, 'object_name') - Метод, позволяющий получить значение того или иного элемента в меню. Принимает в себя два аргумента - Путь (может состоять из нескольких строк) и название самого объекта (checkbox, slider, etc.), тоже строка.
Пример синтаксиса такой:
JavaScript:
UI.GetValue('Rage', 'GENERAL', 'General', 'Enabled')
Давайте разберем этот метод для каждого элемента:
Для Checkbox:
Пропишем такой код:
JavaScript:
const state = UI.GetValue('Rage', 'GENERAL', 'General', 'Enabled') //Создаем переменную и записываем в нее состояние слайдера.
Cheat.Print(state.toString()) //Выводит это состояние в консоль
Этот код будет получать значение чекбокса Enabled и выводить его в консоль.
В случае если чекбокс активирован, то код выведет в консоль 1 (что можно расценивать как true).
В случае если чекбокс не активирован, то код выведет в консоль 0 (что можно расценивать как false)
Вот пример, как привязать чекбокс к любому действию:
JavaScript:
UI.AddCheckbox('Checkbox') //Создаем чекбокс

if (UI.GetValue('Script items', 'Checkbox')) {     //Проверяем, активен ли чекбокс
    //Code body                                    //Если да - тело условя начнет выполняться
}
                                                //Если нет - тело условия НЕ будет выполняться

Для Slider (Для SliderInt и SliderFloat):
Напишем такой код:
JavaScript:
UI.AddSliderInt('Our slider int', 0, 10) //Создаем наш слайдер
const a = UI.GetValue('Script items', 'Our slider int') //Записываем в переменную значение из слайдера
Cheat.Print(a.toString()) //Выводим в консоль это значение
Он будет выводить в консоль значение от 0 до 10, т.е. то значение, которое выставлено в слайдер.
Работает как для SliderInt, так и для SliderFloat одинаково.

Для Dropdown:
Опять же, напишем такой код:
JavaScript:
UI.AddDropdown('Our dropdown', ['1', '2', '3']) //Создаем выпадающий список
const a = UI.GetValue('Script items', 'Our dropdown') //Заносим его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Он выведет нам в консоль индекс активированного варианта из массива с вариантами.
Например, если активирован 1, скрипт выведет 0, если активирован 2 то 1 и т.д.
Вот пример использования:
JavaScript:
UI.AddDropdown('Tab', ['Rage', 'Anti-Aim', 'Visual', 'Misc']) //Создаем выпадающий список

if (UI.GetValue('Script items', 'Tab') == 0/*0 its index*/) { //Проверяем, включен ли в выпадающем списке именно RAGE
    //Тело условия
}
Для Multidropdown:
Приведем в пример такой код:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4'])
const a = UI.GetValue('Script items', 'Our multidropdown')
Cheat.Print(a.toString())
Этот код будет выводить цифры в консоль, но какие же?
Если мы активируем ТОЛЬКО первый аргумент - выведет 1, если мы активируем 1 и 2 то выведет 3, активируем 1, 2 и 3 - выведет 7.
Так как же узнать какой элемент активен, а какой нет?
Для Multidropdown-ов нужно использовать такой синтаксис (просто пример):
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4']) //Создаем наш мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our multidropdown') //Заносим его в переменную
zeroIndexEnabled = dropdown & (1 << 0 /*0 its index*/) ? true : false //Создаем переменную, где проверяем, активен ли нулевой индекс или нет
Cheat.Print(zeroIndexEnabled.toString()) //Выводим в консоль переменную с проверкой индекса.
Если активирован нулевой индекс (первый вариант) то в консоль выведет true, иначе false.
UI.GetValue() Можно использовать только для вышеперечисленных объектов, перейдем к другим методам получения информации.

UI.IsHotkeyActive(path, 'object_name')
Этот метод используется только для получения состояния Hotkey-я.
Напишем следующее:
JavaScript:
UI.AddHotkey('Our hotkey') //Создаем Hotkey
const a = UI.IsHotkeyActive('Script items', 'Our hotkey') //Заносим его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Если Hotkey активен, то скрипт выведет в консоль 1, иначе 0.
Вот более детальный пример:
JavaScript:
UI.AddHotkey('Damage override') //Создаем Hotkey

if (UI.IsHotkeyActive('Damage override')) { //Делаем проверку на то, активирован ли Hotkey
   //Тело условия
}
UI.GetString(path, 'object_name')
Этот метод используется только для получения текста из Textbox-а.
Напишем такой код:
JavaScript:
UI.AddTextbox('Our textbox') //Создаем Textbox
const a = UI.GetString('Script items', 'Our textbox') //Записываем его значение в переменную
Cheat.Print(a) //Выводим это значение в консоль
Этот код выведет в консоль текст, написанный в текстбоксе.
Так-же более детальный пример
JavaScript:
UI.AddTextbox('Name') //Создаем текстбокс

if (UI.GetString('Script items', 'Name') == 'dfrnz') { //Делаем проверку на то, вписан ли в текстбокс dfrnz
    Cheat.Print('Hello dfrnz!') //Выводим в консоль если условие выполнилось
}
UI.GetColor(path, 'object_name')
Этот метод используется только для получения цвета из Colorpicker-а.
Используем такой код:
JavaScript:
UI.AddColorPicker('Our colorpicker') //Создаем колорпикер
const a = UI.GetColor('Script items', 'Our colorpicker') //Записываем его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Этот код выведет нам строку из RGBA чисел.

Это были все методы получения информации из элементов меню. Давайте теперь посмотрим как их выставлять.
UI.SetValue(path, 'object_name') Метод, позволяющий выставлять значение в тот или иной элемент в меню. Принимает в себя 3 аргумента - Путь (может состоять из нескольких строк), название самого объекта (checkbox, slider, etc. (тоже строка)) и значение, которое будет установлено.
Пример синтаксиса
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 0)
Давайте рассмотрим это для каждого элемента в меню
Для Checkbox:
(Возьмем пример, который я привел выше)
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 0)
Этот кусок кода выключит рейджбот
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 1)
А этот включит рейджбот
Давайте сделаем уже какой нибудь хороший код, где можно будет понять взаимодействие получения значения элементов из меню и их "выставление" в меню
JavaScript:
UI.AddHotkey('ping spike on key') //Создаем Hotkey в меню

function a() { //Напишем функцию
    if (UI.IsHotkeyActive('Script items', 'ping spike on key')) { //Делаем проверку на активность Hotkey-я
        UI.SetValue('Misc', 'Miscellaneous', 'Extended backtracking', 1) //Если он активен, выставим значение Extended backtracking-а 1
    }
}

Cheat.RegisterCallback('CreateMove', 'a') //Делаем callback
Этот код будет делать чекбокс Extended backtracking активным если активен Hotkey ping spike on key. Надеюсь все понятно.
Для Slider (Для SliderInt и SliderFloat):
Этот код будет работать одинаково как для SliderInt, так и для SliderFloat:
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'Targeting', 'Fov', 100)
Он будет выставлять значение FOV в глобальном разделе Rage бота на 100.
Вот еще пример взаимодействия:
JavaScript:
UI.AddSliderInt('Thirdperson distance', 0, 300)

function a() {
    t = UI.GetValue('Script items', 'Thirdperson distance')
    UI.SetValue('Visual', 'World', 'View', 'Thirdperson', t)
}

Cheat.RegisterCallback('CreateMove', 'a')
Этим куском кода мы выставляем значение из нашего слайдера в слайдер Thirdperson.
Для Dropdown:
Чтобы выставить определенное значение в ОБЫЧНЫЙ дропдаун, напишем такой код:
JavaScript:
UI.AddDropdown('Our dropdown', ['1', '2', '3', '4'])

[CODE=javascript]UI.AddDropdown('Tab', ['Rage', 'Anti-Aim', 'Visual', 'Misc']) //Создаем дродаун
UI.AddCheckbox('Set rage tab!') //Создаем чекбокс

if (UI.GetValue('Script items', 'Set rage tab!')) { //Делаем проверку на то, активирован ли чекбокс
    UI.SetValue('Script items', 'Tab', 0) //Если условие верно - выставляем дропдауну значение 0, т.е. Rage
}
UI.SetValue('Script items', 'Our dropdown', 0)[/CODE]
Этим мы выставили значение нашего дропдауна на 1, т.е. на нулевой индекс.
Для Multidropdown:
Тут все немного сложнее, давайте для начала напишем легкий код:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4', '5'])

UI.SetValue('Script items', 'Our multidropdown', 0)
Такой код активирует '1' в этом мультидропдауне
Но если мы напишем вместо 0 цифру 4, то в мультидропдауне активируется '3'.
Короче, чтобы сделать элемент в мультидропдауне активным, пропишем следующее:
JavaScript:
UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5']) //Создадим мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our dropdown') //Занесем его значение в переменную
const static = 1 << 0 /*0 its index*/ //Определим, какой индекс нужно сделать активным
UI.SetValue('Script items', 'Our dropdown', dropdown | static ) //Сделаем его активным
Этот код делает активным нулевой индекс.

Чтобы сделать элемент в мультидропдауне НЕ активным, напишем следующее.
JavaScript:
UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5']) //Создадим мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our dropdown') //Занесем его значение в переменную
const static = 1 << 0 /*0 its index*/ //Определимся с индексом
UI.SetValue('Script items', 'Our dropdown', dropdown &~ static ) //Сделаем этот индекс НЕ активным.
Этот код делать нулевой индекс в мультидропдауне не активным.
Можно даже написать функцию, которая будет автоматически выставлять нужные нам значения:
JavaScript:
UI.SetMultiDropdownValue = function(dropdown, index, enabled) {
    static = 1 << index

    return enabled ? (dropdown | static) : (dropdown &~ static)
}

UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5'])

UI.SetValue('Script items', 'Our dropdown', UI.SetMultiDropdownValue(UI.GetValue('Script items', 'Our dropdown'), 2, true))
UI.ToggleHotkey(path, 'object_name') - Метод позволяет делать Hotkey активным
Пример:
JavaScript:
UI.ToggleHotkey("Rage", "GENERAL", "Exploits", "Doubletap")
Запустив кусок этого кода, скрипт сделает Doubletap активным.

UI.SetColor(path, 'object name', value) - Метод позволяет выставлять определенный цвет в колорпикер
Пример:
JavaScript:
UI.AddColorPicker('Colorpicker') //Создаем колорпикер
UI.SetColor('Script items', 'Colorpicker', [255,255,255,255]) //Выставим в этот колорпикер белый цвет
Этот кусок кода создает колорпикер и выставляет в него белый цвет.

На этом вроде бы все, но есть еще два метода класса UI, это

UI.SetEnabled(path, 'object_name', value) - Метод позволяет скрыть элемент в меню. Принимает в себя 3 аргумента - путь, название объекта, и значение.
Покажу наглядно что оно делает:
JavaScript:
UI.AddCheckbox('Checkbox') //Создаем чекбокс
UI.AddSliderInt('Slider', 0, 130) //Создаем Слайдер

function a() { //Пишем функцию
    if (UI.GetValue('Script items', 'Checkbox')) { //Делаем проверку на то, активен ли чекбокс или нет
        UI.SetEnabled('Script items', 'Slider', 0) //Если активен - скрываем слайдер в меню
    } else {
        UI.SetEnabled('Script items', 'Slider', 1) //Если НЕ активен - снова делаем слайдер видимым в меню
    }
}

Cheat.RegisterCallback('Draw', 'a') //Добавим колбек
Если активирован чекбокс "Checkbox", то Slider скрывается, если нет - появляется.

UI.IsMenuOpen() - Метод позволяет узнать, открыто ли меню.
Code:
JavaScript:
const a = UI.IsMenuOpen() //Заносим в переменную состояние меню

Cheat.Print(a.toString()) //Выводим это состояние в консоль
если меню открыто - выведет в консоль true, иначе false.

На этом вроде бы все. Я искренне надеюсь что это поможет кому-нибудь, ибо я писал это 4 часа ночью. :kappa::kappa::kappa:
Жду объективную критику и указание на ошибки.
Могу написать еще несколько таких постов про разные классы по типу Entity и детально разобрать их (возможно со скринами), если это кому-нибудь понадобиться...
За старания конечно тут надо оценить
 
Начинающий
Статус
Оффлайн
Регистрация
12 Июл 2021
Сообщения
34
Реакции[?]
6
Поинты[?]
0
Ну для того, чтобы понять что здесь происходит нужно знать хотя бы основы языка JavaScript (learn.javascript.ru - хороший учебник для новичков, учился там же) и английский язык на уровне средней школы.
В этом посте я расскажу подробно о UI классе в кряке вантапа. В UI классе присутствует 18 методов, 9 из которых это сами элементы, 8 из них это взаимодействие с этими элементами и последний метод можно отнести к прочее, поговорим о нем ниже.
(Все элементы которые добавляются с помощью UI класса находятся в меню вантапа по пути Misc - JAVASCRIPT - Script items)

Сначала пройдемся по самим UI элементам, а после по взаимодействию с ними, и так начнем:
UI.AddCheckbox('Checkbox_name') - Самый используемый элемент в меню. Имеет 2 состояния - enabled (true) и disabled (false), что позволяет нам понимать, нужно ли выполнять функцию или нет. Принимает в себя один аргумент - строку, содержащую название самого Checkbox-a.
Добавим его следующим образом:
JavaScript:
UI.AddCheckbox('Our checkbox')
UI.AddHotkey('Hotkey_name') - Один из важнейших элементов в меню. Так же имеет 2 состояния - enabled (true) и disabled (false), позволяет нам определить, активирован ли бинд или нет. Принимает в себя один аргумент - строку, содержащую название Hotkey-я.
Добавим его следующим образом:
JavaScript:
UI.AddHotkey('Our hotkey')
UI.AddSliderInt('Int_slider_name', min_int_value, max_int_value) - Слайдер с целыми числами. Имеет количество состояний которое зависит от чисел, указанных в диапазоне слайдера. Позволяет нам узнать число, выставленное пользователем. Принимает в себя 3 аргумента - строку (название слайдера), минимальное целое число слайдера и максимальное целое число слайдера.
Добавим его так:
JavaScript:
UI.AddSliderInt('Our int slider', 0, 10)
UI.AddSliderFloat('float_slider_name', min_float_value, max_float_value) - Все то же самое что и UI.AddSliderInt(Int_slider_name, min_int_value, max_int_value), только принимает в себя не целые, а дробные числа.
Добавим его так:
JavaScript:
UI.AddSliderFloat('Our float slider', 0.0, 10.0)
UI.AddColorPicker('Colorpicker_name') - Колорпикер (Инструмент выбора цвета). Позволяет нам узнать цвет, выбранный пользователем. Принимает в себя один аргумент - строку (название колорпикера).
Добавим так:
JavaScript:
UI.AddColorPicker('Our colorpicker')
UI.AddDropdown('Dropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать один из предложенных вариантов.
Позволяет узнать, какой вариант выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим его так:
JavaScript:
UI.AddDropdown('Our dropdown', ['1st variant', '2nd variant', '3rd variant'])
UI.AddMultiDropdown('Multidropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать несколько из предложенных вариантов. Позволяет узнать, какие варианты выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим так:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1st variant', '2nd variant', '3rd variant'])
UI.AddTextbox('Textbox_name') - Textbox, в него можно вписывать текст. Позволяет узнать текст, вписанный в него. Принимает в себя один аргумент - строку (название текстбокса)
Добавим его так:
JavaScript:
UI.AddTextbox('Our textbox')
UI.AddLabel('Label name') - Просто строка в меню, можно использовать как описание функции. Принимает в себя один аргумент - строку (название label-а).
Добавим так:
JavaScript:
UI.AddLabel('Our label')
С самими элементами в UI классе мы разобрались, давайте перейдем к методам.
(На этом моменте я понял что я ебнулся, пишу этот пост в 2:08, это пиздец товарищи :roflanPominki: (try harder спокойной ночи))
UI.GetValue(path, 'object_name') - Метод, позволяющий получить значение того или иного элемента в меню. Принимает в себя два аргумента - Путь (может состоять из нескольких строк) и название самого объекта (checkbox, slider, etc.), тоже строка.
Пример синтаксиса такой:
JavaScript:
UI.GetValue('Rage', 'GENERAL', 'General', 'Enabled')
Давайте разберем этот метод для каждого элемента:
Для Checkbox:
Пропишем такой код:
JavaScript:
const state = UI.GetValue('Rage', 'GENERAL', 'General', 'Enabled') //Создаем переменную и записываем в нее состояние слайдера.
Cheat.Print(state.toString()) //Выводит это состояние в консоль
Этот код будет получать значение чекбокса Enabled и выводить его в консоль.
В случае если чекбокс активирован, то код выведет в консоль 1 (что можно расценивать как true).
В случае если чекбокс не активирован, то код выведет в консоль 0 (что можно расценивать как false)
Вот пример, как привязать чекбокс к любому действию:
JavaScript:
UI.AddCheckbox('Checkbox') //Создаем чекбокс

if (UI.GetValue('Script items', 'Checkbox')) {     //Проверяем, активен ли чекбокс
    //Code body                                    //Если да - тело условя начнет выполняться
}
                                                //Если нет - тело условия НЕ будет выполняться

Для Slider (Для SliderInt и SliderFloat):
Напишем такой код:
JavaScript:
UI.AddSliderInt('Our slider int', 0, 10) //Создаем наш слайдер
const a = UI.GetValue('Script items', 'Our slider int') //Записываем в переменную значение из слайдера
Cheat.Print(a.toString()) //Выводим в консоль это значение
Он будет выводить в консоль значение от 0 до 10, т.е. то значение, которое выставлено в слайдер.
Работает как для SliderInt, так и для SliderFloat одинаково.

Для Dropdown:
Опять же, напишем такой код:
JavaScript:
UI.AddDropdown('Our dropdown', ['1', '2', '3']) //Создаем выпадающий список
const a = UI.GetValue('Script items', 'Our dropdown') //Заносим его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Он выведет нам в консоль индекс активированного варианта из массива с вариантами.
Например, если активирован 1, скрипт выведет 0, если активирован 2 то 1 и т.д.
Вот пример использования:
JavaScript:
UI.AddDropdown('Tab', ['Rage', 'Anti-Aim', 'Visual', 'Misc']) //Создаем выпадающий список

if (UI.GetValue('Script items', 'Tab') == 0/*0 its index*/) { //Проверяем, включен ли в выпадающем списке именно RAGE
    //Тело условия
}
Для Multidropdown:
Приведем в пример такой код:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4'])
const a = UI.GetValue('Script items', 'Our multidropdown')
Cheat.Print(a.toString())
Этот код будет выводить цифры в консоль, но какие же?
Если мы активируем ТОЛЬКО первый аргумент - выведет 1, если мы активируем 1 и 2 то выведет 3, активируем 1, 2 и 3 - выведет 7.
Так как же узнать какой элемент активен, а какой нет?
Для Multidropdown-ов нужно использовать такой синтаксис (просто пример):
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4']) //Создаем наш мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our multidropdown') //Заносим его в переменную
zeroIndexEnabled = dropdown & (1 << 0 /*0 its index*/) ? true : false //Создаем переменную, где проверяем, активен ли нулевой индекс или нет
Cheat.Print(zeroIndexEnabled.toString()) //Выводим в консоль переменную с проверкой индекса.
Если активирован нулевой индекс (первый вариант) то в консоль выведет true, иначе false.
UI.GetValue() Можно использовать только для вышеперечисленных объектов, перейдем к другим методам получения информации.

UI.IsHotkeyActive(path, 'object_name')
Этот метод используется только для получения состояния Hotkey-я.
Напишем следующее:
JavaScript:
UI.AddHotkey('Our hotkey') //Создаем Hotkey
const a = UI.IsHotkeyActive('Script items', 'Our hotkey') //Заносим его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Если Hotkey активен, то скрипт выведет в консоль 1, иначе 0.
Вот более детальный пример:
JavaScript:
UI.AddHotkey('Damage override') //Создаем Hotkey

if (UI.IsHotkeyActive('Damage override')) { //Делаем проверку на то, активирован ли Hotkey
   //Тело условия
}
UI.GetString(path, 'object_name')
Этот метод используется только для получения текста из Textbox-а.
Напишем такой код:
JavaScript:
UI.AddTextbox('Our textbox') //Создаем Textbox
const a = UI.GetString('Script items', 'Our textbox') //Записываем его значение в переменную
Cheat.Print(a) //Выводим это значение в консоль
Этот код выведет в консоль текст, написанный в текстбоксе.
Так-же более детальный пример
JavaScript:
UI.AddTextbox('Name') //Создаем текстбокс

if (UI.GetString('Script items', 'Name') == 'dfrnz') { //Делаем проверку на то, вписан ли в текстбокс dfrnz
    Cheat.Print('Hello dfrnz!') //Выводим в консоль если условие выполнилось
}
UI.GetColor(path, 'object_name')
Этот метод используется только для получения цвета из Colorpicker-а.
Используем такой код:
JavaScript:
UI.AddColorPicker('Our colorpicker') //Создаем колорпикер
const a = UI.GetColor('Script items', 'Our colorpicker') //Записываем его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Этот код выведет нам строку из RGBA чисел.

Это были все методы получения информации из элементов меню. Давайте теперь посмотрим как их выставлять.
UI.SetValue(path, 'object_name') Метод, позволяющий выставлять значение в тот или иной элемент в меню. Принимает в себя 3 аргумента - Путь (может состоять из нескольких строк), название самого объекта (checkbox, slider, etc. (тоже строка)) и значение, которое будет установлено.
Пример синтаксиса
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 0)
Давайте рассмотрим это для каждого элемента в меню
Для Checkbox:
(Возьмем пример, который я привел выше)
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 0)
Этот кусок кода выключит рейджбот
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'General', 'Enabled', 1)
А этот включит рейджбот
Давайте сделаем уже какой нибудь хороший код, где можно будет понять взаимодействие получения значения элементов из меню и их "выставление" в меню
JavaScript:
UI.AddHotkey('ping spike on key') //Создаем Hotkey в меню

function a() { //Напишем функцию
    if (UI.IsHotkeyActive('Script items', 'ping spike on key')) { //Делаем проверку на активность Hotkey-я
        UI.SetValue('Misc', 'Miscellaneous', 'Extended backtracking', 1) //Если он активен, выставим значение Extended backtracking-а 1
    }
}

Cheat.RegisterCallback('CreateMove', 'a') //Делаем callback
Этот код будет делать чекбокс Extended backtracking активным если активен Hotkey ping spike on key. Надеюсь все понятно.
Для Slider (Для SliderInt и SliderFloat):
Этот код будет работать одинаково как для SliderInt, так и для SliderFloat:
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'Targeting', 'Fov', 100)
Он будет выставлять значение FOV в глобальном разделе Rage бота на 100.
Вот еще пример взаимодействия:
JavaScript:
UI.AddSliderInt('Thirdperson distance', 0, 300)

function a() {
    t = UI.GetValue('Script items', 'Thirdperson distance')
    UI.SetValue('Visual', 'World', 'View', 'Thirdperson', t)
}

Cheat.RegisterCallback('CreateMove', 'a')
Этим куском кода мы выставляем значение из нашего слайдера в слайдер Thirdperson.
Для Dropdown:
Чтобы выставить определенное значение в ОБЫЧНЫЙ дропдаун, напишем такой код:
JavaScript:
UI.AddDropdown('Our dropdown', ['1', '2', '3', '4'])

[CODE=javascript]UI.AddDropdown('Tab', ['Rage', 'Anti-Aim', 'Visual', 'Misc']) //Создаем дродаун
UI.AddCheckbox('Set rage tab!') //Создаем чекбокс

if (UI.GetValue('Script items', 'Set rage tab!')) { //Делаем проверку на то, активирован ли чекбокс
    UI.SetValue('Script items', 'Tab', 0) //Если условие верно - выставляем дропдауну значение 0, т.е. Rage
}
UI.SetValue('Script items', 'Our dropdown', 0)[/CODE]
Этим мы выставили значение нашего дропдауна на 1, т.е. на нулевой индекс.
Для Multidropdown:
Тут все немного сложнее, давайте для начала напишем легкий код:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4', '5'])

UI.SetValue('Script items', 'Our multidropdown', 0)
Такой код активирует '1' в этом мультидропдауне
Но если мы напишем вместо 0 цифру 4, то в мультидропдауне активируется '3'.
Короче, чтобы сделать элемент в мультидропдауне активным, пропишем следующее:
JavaScript:
UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5']) //Создадим мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our dropdown') //Занесем его значение в переменную
const static = 1 << 0 /*0 its index*/ //Определим, какой индекс нужно сделать активным
UI.SetValue('Script items', 'Our dropdown', dropdown | static ) //Сделаем его активным
Этот код делает активным нулевой индекс.

Чтобы сделать элемент в мультидропдауне НЕ активным, напишем следующее.
JavaScript:
UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5']) //Создадим мультидропдаун
const dropdown = UI.GetValue('Script items', 'Our dropdown') //Занесем его значение в переменную
const static = 1 << 0 /*0 its index*/ //Определимся с индексом
UI.SetValue('Script items', 'Our dropdown', dropdown &~ static ) //Сделаем этот индекс НЕ активным.
Этот код делать нулевой индекс в мультидропдауне не активным.
Можно даже написать функцию, которая будет автоматически выставлять нужные нам значения:
JavaScript:
UI.SetMultiDropdownValue = function(dropdown, index, enabled) {
    static = 1 << index

    return enabled ? (dropdown | static) : (dropdown &~ static)
}

UI.AddMultiDropdown('Our dropdown', ['1', '2', '3', '4', '5'])

UI.SetValue('Script items', 'Our dropdown', UI.SetMultiDropdownValue(UI.GetValue('Script items', 'Our dropdown'), 2, true))
UI.ToggleHotkey(path, 'object_name') - Метод позволяет делать Hotkey активным
Пример:
JavaScript:
UI.ToggleHotkey("Rage", "GENERAL", "Exploits", "Doubletap")
Запустив кусок этого кода, скрипт сделает Doubletap активным.

UI.SetColor(path, 'object name', value) - Метод позволяет выставлять определенный цвет в колорпикер
Пример:
JavaScript:
UI.AddColorPicker('Colorpicker') //Создаем колорпикер
UI.SetColor('Script items', 'Colorpicker', [255,255,255,255]) //Выставим в этот колорпикер белый цвет
Этот кусок кода создает колорпикер и выставляет в него белый цвет.

На этом вроде бы все, но есть еще два метода класса UI, это

UI.SetEnabled(path, 'object_name', value) - Метод позволяет скрыть элемент в меню. Принимает в себя 3 аргумента - путь, название объекта, и значение.
Покажу наглядно что оно делает:
JavaScript:
UI.AddCheckbox('Checkbox') //Создаем чекбокс
UI.AddSliderInt('Slider', 0, 130) //Создаем Слайдер

function a() { //Пишем функцию
    if (UI.GetValue('Script items', 'Checkbox')) { //Делаем проверку на то, активен ли чекбокс или нет
        UI.SetEnabled('Script items', 'Slider', 0) //Если активен - скрываем слайдер в меню
    } else {
        UI.SetEnabled('Script items', 'Slider', 1) //Если НЕ активен - снова делаем слайдер видимым в меню
    }
}

Cheat.RegisterCallback('Draw', 'a') //Добавим колбек
Если активирован чекбокс "Checkbox", то Slider скрывается, если нет - появляется.

UI.IsMenuOpen() - Метод позволяет узнать, открыто ли меню.
Code:
JavaScript:
const a = UI.IsMenuOpen() //Заносим в переменную состояние меню

Cheat.Print(a.toString()) //Выводим это состояние в консоль
если меню открыто - выведет в консоль true, иначе false.

На этом вроде бы все. Я искренне надеюсь что это поможет кому-нибудь, ибо я писал это 4 часа ночью. :kappa::kappa::kappa:
Жду объективную критику и указание на ошибки.
Могу написать еще несколько таких постов про разные классы по типу Entity и детально разобрать их (возможно со скринами), если это кому-нибудь понадобиться...

Следующая часть - https://yougame.biz/threads/206711/
Это просто ТОП\!
 
Сверху Снизу