Nike.lua
-
Автор темы
- #1
Ну для того, чтобы понять что здесь происходит нужно знать хотя бы основы языка 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.
Добавим его следующим образом:
UI.AddHotkey('Hotkey_name') - Один из важнейших элементов в меню. Так же имеет 2 состояния - enabled (true) и disabled (false), позволяет нам определить, активирован ли бинд или нет. Принимает в себя один аргумент - строку, содержащую название Hotkey-я.
Добавим его следующим образом:
UI.AddSliderInt('Int_slider_name', min_int_value, max_int_value) - Слайдер с целыми числами. Имеет количество состояний которое зависит от чисел, указанных в диапазоне слайдера. Позволяет нам узнать число, выставленное пользователем. Принимает в себя 3 аргумента - строку (название слайдера), минимальное целое число слайдера и максимальное целое число слайдера.
Добавим его так:
UI.AddSliderFloat('float_slider_name', min_float_value, max_float_value) - Все то же самое что и UI.AddSliderInt(Int_slider_name, min_int_value, max_int_value), только принимает в себя не целые, а дробные числа.
Добавим его так:
UI.AddColorPicker('Colorpicker_name') - Колорпикер (Инструмент выбора цвета). Позволяет нам узнать цвет, выбранный пользователем. Принимает в себя один аргумент - строку (название колорпикера).
Добавим так:
UI.AddDropdown('Dropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать один из предложенных вариантов.
Позволяет узнать, какой вариант выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим его так:
UI.AddMultiDropdown('Multidropdown_name', ['1st variant', '2nd variant', ..., '55th variant']) - Выпадающий список с возможностью выбрать несколько из предложенных вариантов. Позволяет узнать, какие варианты выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим так:
UI.AddTextbox('Textbox_name') - Textbox, в него можно вписывать текст. Позволяет узнать текст, вписанный в него. Принимает в себя один аргумент - строку (название текстбокса)
Добавим его так:
UI.AddLabel('Label name') - Просто строка в меню, можно использовать как описание функции. Принимает в себя один аргумент - строку (название label-а).
Добавим так:
С самими элементами в UI классе мы разобрались, давайте перейдем к методам.
(На этом моменте я понял что я ебнулся, пишу этот пост в 2:08, это пиздец товарищи (try harder спокойной ночи))
UI.GetValue(path, 'object_name') - Метод, позволяющий получить значение того или иного элемента в меню. Принимает в себя два аргумента - Путь (может состоять из нескольких строк) и название самого объекта (checkbox, slider, etc.), тоже строка.
Пример синтаксиса такой:
Давайте разберем этот метод для каждого элемента:
Для Checkbox:
Пропишем такой код:
Этот код будет получать значение чекбокса Enabled и выводить его в консоль.
В случае если чекбокс активирован, то код выведет в консоль 1 (что можно расценивать как true).
В случае если чекбокс не активирован, то код выведет в консоль 0 (что можно расценивать как false)
Вот пример, как привязать чекбокс к любому действию:
Для Slider (Для SliderInt и SliderFloat):
Напишем такой код:
Он будет выводить в консоль значение от 0 до 10, т.е. то значение, которое выставлено в слайдер.
Работает как для SliderInt, так и для SliderFloat одинаково.
Для Dropdown:
Опять же, напишем такой код:
Он выведет нам в консоль индекс активированного варианта из массива с вариантами.
Например, если активирован 1, скрипт выведет 0, если активирован 2 то 1 и т.д.
Вот пример использования:
Для Multidropdown:
Приведем в пример такой код:
Этот код будет выводить цифры в консоль, но какие же?
Если мы активируем ТОЛЬКО первый аргумент - выведет 1, если мы активируем 1 и 2 то выведет 3, активируем 1, 2 и 3 - выведет 7.
Так как же узнать какой элемент активен, а какой нет?
Для Multidropdown-ов нужно использовать такой синтаксис (просто пример):
Если активирован нулевой индекс (первый вариант) то в консоль выведет true, иначе false.
UI.GetValue() Можно использовать только для вышеперечисленных объектов, перейдем к другим методам получения информации.
UI.IsHotkeyActive(path, 'object_name')
Этот метод используется только для получения состояния Hotkey-я.
Напишем следующее:
Если Hotkey активен, то скрипт выведет в консоль 1, иначе 0.
Вот более детальный пример:
UI.GetString(path, 'object_name')
Этот метод используется только для получения текста из Textbox-а.
Напишем такой код:
Этот код выведет в консоль текст, написанный в текстбоксе.
Так-же более детальный пример
UI.GetColor(path, 'object_name')
Этот метод используется только для получения цвета из Colorpicker-а.
Используем такой код:
Этот код выведет нам строку из RGBA чисел.
Это были все методы получения информации из элементов меню. Давайте теперь посмотрим как их выставлять.
UI.SetValue(path, 'object_name') Метод, позволяющий выставлять значение в тот или иной элемент в меню. Принимает в себя 3 аргумента - Путь (может состоять из нескольких строк), название самого объекта (checkbox, slider, etc. (тоже строка)) и значение, которое будет установлено.
Пример синтаксиса
Давайте рассмотрим это для каждого элемента в меню
Для Checkbox:
(Возьмем пример, который я привел выше)
Этот кусок кода выключит рейджбот
А этот включит рейджбот
Давайте сделаем уже какой нибудь хороший код, где можно будет понять взаимодействие получения значения элементов из меню и их "выставление" в меню
Этот код будет делать чекбокс Extended backtracking активным если активен Hotkey ping spike on key. Надеюсь все понятно.
Для Slider (Для SliderInt и SliderFloat):
Этот код будет работать одинаково как для SliderInt, так и для SliderFloat:
Он будет выставлять значение FOV в глобальном разделе Rage бота на 100.
Вот еще пример взаимодействия:
Этим куском кода мы выставляем значение из нашего слайдера в слайдер Thirdperson.
Для Dropdown:
Чтобы выставить определенное значение в ОБЫЧНЫЙ дропдаун, напишем такой код:
UI.SetValue('Script items', 'Our dropdown', 0)[/CODE]
Этим мы выставили значение нашего дропдауна на 1, т.е. на нулевой индекс.
Для Multidropdown:
Тут все немного сложнее, давайте для начала напишем легкий код:
Такой код активирует '1' в этом мультидропдауне
Но если мы напишем вместо 0 цифру 4, то в мультидропдауне активируется '3'.
Короче, чтобы сделать элемент в мультидропдауне активным, пропишем следующее:
Этот код делает активным нулевой индекс.
Чтобы сделать элемент в мультидропдауне НЕ активным, напишем следующее.
Этот код делать нулевой индекс в мультидропдауне не активным.
Можно даже написать функцию, которая будет автоматически выставлять нужные нам значения:
UI.ToggleHotkey(path, 'object_name') - Метод позволяет делать Hotkey активным
Пример:
Запустив кусок этого кода, скрипт сделает Doubletap активным.
UI.SetColor(path, 'object name', value) - Метод позволяет выставлять определенный цвет в колорпикер
Пример:
Этот кусок кода создает колорпикер и выставляет в него белый цвет.
На этом вроде бы все, но есть еще два метода класса UI, это
UI.SetEnabled(path, 'object_name', value) - Метод позволяет скрыть элемент в меню. Принимает в себя 3 аргумента - путь, название объекта, и значение.
Покажу наглядно что оно делает:
Если активирован чекбокс "Checkbox", то Slider скрывается, если нет - появляется.
UI.IsMenuOpen() - Метод позволяет узнать, открыто ли меню.
Code:
если меню открыто - выведет в консоль true, иначе false.
На этом вроде бы все. Я искренне надеюсь что это поможет кому-нибудь, ибо я писал это 4 часа ночью.
Жду объективную критику и указание на ошибки.
Могу написать еще несколько таких постов про разные классы по типу Entity и детально разобрать их (возможно со скринами), если это кому-нибудь понадобиться...
Следующая часть - https://yougame.biz/threads/206711/
В этом посте я расскажу подробно о 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')
Добавим его следующим образом:
JavaScript:
UI.AddHotkey('Our hotkey')
Добавим его так:
JavaScript:
UI.AddSliderInt('Our int slider', 0, 10)
Добавим его так:
JavaScript:
UI.AddSliderFloat('Our float slider', 0.0, 10.0)
Добавим так:
JavaScript:
UI.AddColorPicker('Our colorpicker')
Позволяет узнать, какой вариант выбрал пользователь в выпадающем списке. Принимает в себя 2 варианта - строку (название выпадающего списка) и массив с произвольным кол-вом вариантов состоящий из строк.
Добавим его так:
JavaScript:
UI.AddDropdown('Our dropdown', ['1st variant', '2nd variant', '3rd variant'])
Добавим так:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1st variant', '2nd variant', '3rd variant'])
Добавим его так:
JavaScript:
UI.AddTextbox('Our textbox')
Добавим так:
JavaScript:
UI.AddLabel('Our label')
(На этом моменте я понял что я ебнулся, пишу этот пост в 2:08, это пиздец товарищи (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()) //Выводит это состояние в консоль
В случае если чекбокс активирован, то код выведет в консоль 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()) //Выводим в консоль это значение
Работает как для 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
//Тело условия
}
Приведем в пример такой код:
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()) //Выводим в консоль переменную с проверкой индекса.
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()) //Выводим это значение в консоль
Вот более детальный пример:
JavaScript:
UI.AddHotkey('Damage override') //Создаем Hotkey
if (UI.IsHotkeyActive('Damage override')) { //Делаем проверку на то, активирован ли Hotkey
//Тело условия
}
Этот метод используется только для получения текста из 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!') //Выводим в консоль если условие выполнилось
}
Этот метод используется только для получения цвета из Colorpicker-а.
Используем такой код:
JavaScript:
UI.AddColorPicker('Our colorpicker') //Создаем колорпикер
const a = UI.GetColor('Script items', 'Our colorpicker') //Записываем его значение в переменную
Cheat.Print(a.toString()) //Выводим это значение в консоль
Это были все методы получения информации из элементов меню. Давайте теперь посмотрим как их выставлять.
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
Для Slider (Для SliderInt и SliderFloat):
Этот код будет работать одинаково как для SliderInt, так и для SliderFloat:
JavaScript:
UI.SetValue('Rage', 'GENERAL', 'Targeting', 'Fov', 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')
Для 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
}
Этим мы выставили значение нашего дропдауна на 1, т.е. на нулевой индекс.
Для Multidropdown:
Тут все немного сложнее, давайте для начала напишем легкий код:
JavaScript:
UI.AddMultiDropdown('Our multidropdown', ['1', '2', '3', '4', '5'])
UI.SetValue('Script items', 'Our multidropdown', 0)
Но если мы напишем вместо 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))
Пример:
JavaScript:
UI.ToggleHotkey("Rage", "GENERAL", "Exploits", "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') //Добавим колбек
UI.IsMenuOpen() - Метод позволяет узнать, открыто ли меню.
Code:
JavaScript:
const a = UI.IsMenuOpen() //Заносим в переменную состояние меню
Cheat.Print(a.toString()) //Выводим это состояние в консоль
На этом вроде бы все. Я искренне надеюсь что это поможет кому-нибудь, ибо я писал это 4 часа ночью.
Жду объективную критику и указание на ошибки.
Могу написать еще несколько таких постов про разные классы по типу Entity и детально разобрать их (возможно со скринами), если это кому-нибудь понадобиться...
Следующая часть - https://yougame.biz/threads/206711/
Последнее редактирование: