Информация Гайд Всё о Lua скриптинге для MoonLoader
Для лёгкой и удобной работы с кодом Lua скриптов вам понадобится настроить для себя среду разработки. Для работы с Lua достаточно любого текстового редактора, но какой-нибудь блокнот Windows для этого подходит совсем плохо, поэтому лучше использовать специализированные программы. На текущий момент полная поддержка MoonLoader есть в Atom и Notepad++, помимо этого есть пользовательские дополнения для Visual Studio Code и Sublime Text.
Проект по-умолчанию.
В меню File выбираем пункт Open Folder. и указываем путь до папки moonloader, после этого она откроется как проект.
Проект по-умолчанию.
Как и в Atom, здесь есть возможность показа меню проекта, а точнее «Папка как Проект». В меню «Файл» выбираем пункт «Открыть Папку как Проект» и указываем путь к папке «moonloader».
Кодировка по-умолчанию.
Над лентой выбираем пункт Опции и переходим в Настройки. В меню слева выбираем пункт Новый документ и в разделе кодировки ставим флажок на список, в котором выбираем кодировку Windows-1251
После установки среды разработки, изучения основ Lua и ознакомления с документацией MoonLoader, можно приступать от теории к практике. Давайте сначала рассмотрим самое основное, на всякий случай.
В этом примере показаны не все директивы, за полным списком обращайтесь к соответствующей странице на вики.
События и колбэки
Событиями, а точнее их обработчиками, в MoonLoader называются функции, вызывающиеся в скриптах автоматически при каком-либо действии в игре, требующим обработки. Обработчики событий могут иметь входящие и возвращаемые параметры: входящие передают какую-то информацию скрипту, а возвращаемые позволяют повлиять на дальнейшую обработку после совершения события.
Зарегистрировать обработчик события можно двумя способами: просто добавить в скрипт функцию с соответствующим именем, либо воспользоваться функцией addEventHandler. Учтите, что первым способом обработчик может быть зарегистрирован только один раз.
Скрипты с зарегистрированными событиями не завершаются самостоятельно.
Пример: onScriptTerminate вызывается при завершении какого-либо скрипта
С основными принципами разработки вы теперь знакомы и при этих знаниях сможете выполнить большинство задач, однако некоторые задачи требуют применения специальных техник. Давайте рассмотрим некоторые из них.
Создание модулей
Модули делятся на два типа: Lua и DLL. Lua-модули пишутся, как вы уже могли догадаться, на языке Lua и в результате представляют из себя привычные Lua-скрипты, только с некоторыми особенностями.
Давайте рассмотрим пример простого модуля, назовём его example:
RaveOS. Установка, настройка, майнинг, команды, обновление.
RaveOS одна из самых популярных систем для майнинга криптовалют. RaveOS создана на базе Linux, что делает эту систему максимально стабильной, быстрой, энергоэффективной и надежной. В этой подробной статье мы рассмотрим все вопросы по операционной системе, разберемся в нюансах установки, настройки, майнинга, командах, управлении и обновлении. Разберем причины большинства проблем и основные ошибки работы с RaveOS.
Регистрация в RaveOS
Для начала работы с RaveOS нужно зарегистрироваться. Переходим по ссылке и проходим процедуру регистрации.

Регистрация стандартная, заполняете логин, e-mail, пароль и подтверждаете пароль. После создания аккаунта, вы попадете в Web интерфейс управления RaveOS.

В нашем случае, есть два воркера и два рига, у вас все будет по нулям.
С регистрацией закончили, переходим к скачиванию RaveOS.
Системные требования для установки Rave OS
Минимальные системные требования:
Рекомендованные системные требования:
Настройки биос (bios) для материнской платы под Rave OS
Как именно это сделать в биос, читайте в статье по настройке биос для майнинга.
Скачиваем образ RaveOS
В этом же окне Web интерфейсе операционной системы, ищем слева ссылку Download. Данная ссылка всегда ведет на самую последнюю и актуальную версию RaveOS. Рекомендую нигде больше не скачивать образ RaveOS, кроме официального сайте.
Название образа будет примерно таким — raveos-v1.0.24-8340-1698.img.zip. Когда вы будете качать, версия уже будет более новая.
Образ RaveOS скачивается в архиве zip, после скачивания архива, разархивируйте его для записи образа на SSD, HDD, M.2 или флешку.
Устанавливаем образ RaveOS на носитель: SSD, HDD, M.2 или флешку
Прежде чем устанавливать RaveOS, нам нужно добавить Worker. Это нужно для того, что бы установленную систему RaveOS привязать к созданному воркеру. Так при загрузке RaveOS с носителя, мы увидим запущенную систему в Web интерфейсе.
В web интерфейсе RaveOS заходим во вкладку Dashboard или Workers и добавляем Worker нажав Add Worker.

Так же Worker можно добавить через вкладку Workers.

При добавлении воркера, заполните следующие поля:
После скачивания образа RaveOS на ПК, нужно его установить на носитель. Носитель должен быть как минимум на 16Gb. Крайне рекомендуем использовать SSD накопители, т.к. они работают гораздо быстрее чем флешки и стабильнее. Если есть возможность, можете использовать SSD M.2, но данный порт в материнской плате можно использовать под дополнительную видеокарту, а в качестве носителя выбрать SSD.
Если вы все таки остановитесь на флешке, обязательно убедитесь что она имеет интерфейс минимум USB 3.0 и вставлена в порт материнской платы, который поддерживает USB 3.0, а так же убедитесь что флешка имеет хотя бы 16Gb памяти.
Для записи образа, нам понадобиться разархивированный образ RaveOS. Установить утилиту HDD Raw Copy Tool.
Через HDD Raw Copy Tool записываем образ RaveOS.
Запускаем программу, в поле FILE выбираем образ RaveOS.

В следующем окне открываем в поле ATA выбираем носитель на который будем записывать образ.

Далее нажимаем Continue и подтверждаем запись.
После записи образа, нужно прописать токен нашего рига в конфигурационный файл, это свяжет нашу систему с ригом на котором будет запущен RaveOS.
Переходим в Web интерфейс, т.е. входим в наш аккаунт в системе RaveOS, и переходим во вкладку Workers.
Выбираем Edit, входим в настройки воркера и ищем вкладку SYSTEM INFO. Нас интересует поле Worker Token.

Копируем Worker token.
Нам его нужно вставить в файл ОС (диск с операционной системой RaveOS):/config/token.txt, вставьте Worker’s token и сохраните его. Все, этим действием вы соединили ваш воркер в RaveOS с образом, теперь при запуске этого образа в ферме, вы увидите это через панель управления (web интерфейс) RaveOS.
После записи образа, настраиваем bios материнской платы под майнинг, делая наш носитель с образом приоритетным для записи в том числе.
Запуск RaveOS
После записи образа на жесткий диск или на флешку, и вставки токена воркера в файл token.txt, подключайте ваш образ к ферме, как собрать и настроить ферму читайте на сайте. Ферма может быть подключена к монитору или нет. Это не важно, после запуска фермы в web интерфейсе RaveOS вы увидите что ваш воркер онлайн. Если это так, значит вы все сделали правильно.
RaveOS не видит видеокарту, особенно 3060 Ti, 3070, 3080
Если RaveOS не видит видеокарту 3060, 3070 или 3080, убедитесь что вы установили последнюю версию, не меньше raveos-v1.0.24-8340-1698. Т.к. в более старых версиях нет поддержки этих видеокарт. Как обновить rave os мы обсудим далее.
Если RaveOS не видит другие видеокарты, дайте ему возможность инициализировать их. При первой загрузке система может очень долго инициализировать видеокарты, особенно если их много, 6 и более.
В этом случае запускайте ферму по одной карте, т.е. оставьте в материнской плате только одну карту, запустите ферму и подождите пока она запустится. После запуска и инициализации видеокарты, выключите ферму и подключите вторую карту, и так повторяйте для каждой карты фермы. Обычно это помогает.
Если это не помогло, убедитесь что вы правильно выставили настройки биоса, как это сделать читайте в статье по настройке биос под майнинг.
Как запустить майнинг в RaveOS
После успешного запуска фермы, нужно создать кошелек, выбрать пул и майнера.
Создаем кошелек в RaveOS
Для создания кошелька, переходим во вкладку Wallets и выбираем Add Wallet.
В поле Wallet name — вводим поле кошелька.
После создания кошелька, можно запускать майнинг в RaveOS.
В следующем окне выбираем кошелек, монету, пул, сервера, майнера и запускаем майнинг.
Структура объектов (кластеры, воркеры, видеокарты) в системе Rave OS
Для понимания правильной настройки ваших ферм в системе Rave OS, объясним иерархию объектов в ферме.
Кластеры (Clusters) — представьте это как объект, например гараж или комната в которой размещены ваши воркеры или риги (до ригов или воркеров мы еще дойдем). Организуйте свои воркеры в кластеры, которые будут повторять физическое расположение ваших устройств. Благодаря объединению ригов в фермы, вы можете разделять их по геолокации, например если у вас риги в разных гаражах, офисах, квартирах, комнатах. Это больше нужно для тех, у кого много ферм и ригов.
Воркер (Workers) — это непосредственно ваш риг. Т.е. материнская плата с процессором, блоком питания и видеокартами. В обычной жизни, это и называют фермой. Как работает майнинг ферма, читайте на сайте.
Настройка аккаунта, кластера и воркера в Rave OS
Создание и настройка кластера
Все кластера находятся в основной вкладке «Clusters». Что мы можем сделать с кластерами в Rave OS:
Создание и настройка воркера. Dashboard (Панель мониторинга)
Нажав на нужный кластер, вы попадает во вкладку Dashboard (Панель мониторинга). Общие возможности панели:
Список воркеров, важная информация в реальном времени, полная картина майнинг активности
Во кладке Dashboard, вы видите в реальном времени состояние ваших ригов а именно:
Еще правее каждого воркера можно увидеть следующую информацию:
Действия над воркерами
Действия можно выполнять над каждым воркером отдельно, либо выбрать несколько воркеров и произвести какие либо действия. Что можно сделать с одним воркером:
Подробнее об этих действиях мы рассмотрим далее в статье, когда будем рассматривать настройки воркера и каждую возможность по отдельности.
Если вы выберите отдельный воркер, поставите галочку левее названия и нажав кнопку «Action» вы увидите следующие действия:
Настройки воркера в Rave OS
Для того, что бы попасть в настройки воркера, достаточно зайти во вкладку Workers и на нужном воркере нажать изображения карандаша. Либо нажать на названии нужного воркера во вкладке Dashboard.

Какую информацию можно узнать и какие действия можно сделать зайдя на конкретный воркер в Rave OS? Название воркера, текущий хешрейт, текущее потребление, кнопка майнинга Mining, которая дает возможность быстро изменить настройки майнинга (кошелек, монету, майнер). И панель Actions, доступная в верхнем правом углу.

В этой панели доступны следующие действия над воркером:
А ниже доступны 6 вкладок:
Вкладка HARDWARE
В данной вкладке, которая открывается в разделе воркеров по умолчанию в Rave OS, вы можете видеть производителя карт (Manufacturer), кошелек (Wallet), монету (Coin), майнер (Miner), кол-во принятых и не принятых шар (Shares), процент непринятых шар (Bad shares) и алгоритм на котором работает воркер (Algo). Это верхняя строчка под вкладками.
Далее идет таблица с подробными данными по каждой карте в воркере. В нашем случае, это майнинг на GTX 1080 TI. Таблица разделена на 7 столбцов:
Вкладка TUNING
Данная вкладка позволяет настраивать видеокарты в Rave OS, т.е. разгонять и даунвольтить их. Вы можете разгонять карты по одной, либо применить шаблон разгона для всех карт или только определенных карт которые вы выделите слева чекбоксом. Об о разгоне видеокарт в Rave OS мы поговорим ниже.
Вкладка SETTINGS (Watchdog, auto fan, auto reboot, NV-pill) в Rave OS
В данной вкладке собраны настройки Watchdog-а по температуре и по хешрейту.
Так же в этой вкладке есть следующие настройки:
Вкладка SYSTEM INFO
Данная вкладка содержит системную информацию по вашему воркеру. А именно:
Вкладка STATISTICS
Данная вкладка показывает статистику по воркеру за последние 24 часа. Что тут можно проанализировать:
Вкладка NOTIFICATIONS
Вкладка Notification содержит системные сообщения. Какие сообщения тут есть и что они значат, поговорим подробнее дальше в статье.
Как обновить версию RaveOS
Есть два способа обновления версии RaveOS:
Как обновить Rave OS первым способом понятно, это описано выше в установке RaveOS.
Для обновления RaveOS до последней версии через терминал, нужно сделать следующее:
Заходим в Dashboard и справа каждого рига будет кнопка Console. Нажимаем не нее.

В качестве логина вводим — root, в качестве пароля вводим — admin.
Вводим команду upgrade и обновляемся до последней версии.

Обновление пройдет автоматически, после чего ваш риг перезагрузится.
Lua VehicleTools
Bredd Lane
Известный
Перекинуть файл «VehicleTools.lua» в папку «moonloader».
[30.09.2020 / V1.5.1]:
— Мини-фикс.
[29.09.2020 / V1.5]:
— Код стал открытым.
— Куча фиксов.
— Теперь нужные модули будут записываться в отдельную папку в папке «moonloader\lib».
— Теперь ImGui уведомления находятся в самом скрипте. Также они были немного изменены.
— Убрана функция «Логотип» из функции «Виджет» из раздела «Настройки > Основные».
— Убрана функция «Починка колес» из раздела «Читы».
— Убрана функция «Удалить» из вкладки «Функции».
— Убрана функция «Проверить обновление» из вкладки «Функции».
— В раздел «Информация» была добавлена кнопка «Информация о важных функциях», при нажатии на нее, откроется окошко, в котором будут описаны важные функции, такие как, автообновление, описание к каждой функции, HotKeys.
— Немного изменен интерфейс скрипта.
— Обновлена функция автообновления, теперь вы сами решаете, устанавливать ли вам обновление или нет. Если оно выйдет, то после того как скрипт, при входе в игру найдет обновления, появится окошко, в котором можно будет выбрать, устанавливать новую версию или нет. Также в раздел «Настройки > Дополнительно» была добавлена функция отключение этого окна при входе.
— Добавлена функция «Отключение при выключенном двигателе» к функции «Антипадение с мото/вело» в разделе «Читы».
— Добавлена функция «Езда под водой» в раздел «Читы».
— Добавлена функция «Водонепроницаемый двигатель» в раздел «Читы».
— Добавлена функция «Отключение эффектов (FPS UP)» в раздел «Настройки > Основные».
— Добавлена функция «Показатель здоровья т/с (HPBAR)» в раздел «Настройки > Основные». К этой функции прилагаются еще настройки.
— Добавлены функции изменение команды, прорисовка, изменение цвета 3D текста (Постоянный цвет и Rainbow), отключение обводки у 3D текста (функция «Изменение текста»), «Не показывать за объектами», изменение шрифта и его размера (функция «Кастомный /dl») к функции «Настройки /dl» в раздел «Настройки > Основные».
— Добавлена функция изменения шрифта и его размера к функции «3D текст с состоянием дверей т/с» в раздел «Настройки > Основные».
— Улучшена функция «NoRadio» из функции «Настройки > Основные». Теперь радио полностью блокируется, а не постоянно переключается.
[7.09.2020 / V1.4.1]:
— Мини-фикс.
[23.08.2020 / V1.3.5]:
— Фикс виджета.
[23.08.2020 / V1.3.4]:
— Фикс проверок на название сервера.
[22.08.2020 / V1.3.3]:
— Теперь в виджете показывается нормальное название вашего т/с.
[17.08.2020 / V1.3.2]:
— Очередной фикс.
[17.08.2020 / V1.3.1]:
— Фикс.
[17.08.2020 / V1.3]:
— Добавлена функция «Изменение цвета отражения фар» в раздел «Настройки >> Основные». Можно настроить, имеет 2 функции: постоянный цвет и переливание цветов (RGB подсветка), скорость переливания можно настроить.
— Добавлена функция «Удаление всех т/с в радиусе» в разделе «Читы». Активация/Деактивация командой (по стандарту /delveh, можно изменить). При активации все т/с в радиусе прорисовки удалятся.
— Теперь скорость переливания некоторых элементов интерфейса (RGB подсветки) можно изменить.
— Добавлена функция отключения скрипта во вкладке «Функции».
— Добавлена функция удаления скрипта во вкладке «Функции».
[13.08.2020 / V1.2.5]:
— Все тот же фикс.
[11.08.2020 / V1.2.4]:
— Очередной фикс.
[10.08.2020 / V1.2.3]:
— Из-за некоторых проблем была убрана функция «Турбогуделка».
[10.08.2020 / V1.2.2]:
— Еще один фикс.
[10.08.2020 / V1.2.1]:
— Фикс.
Исходник Софт [Module] RKeys v2.1.1 / Last update 26.06.2020
Известный
Обновил библиотеку RKeys. Исправил косяки старой версии, добавил новые косяки, без этого никак да.
Спасибо @FYP за практические советы по реализации кода. С обновлениями обещаю уменьшить количество гавнокода Спойлер
Вложения
Pelemexa
Активный
Hatiko
Известный
Известный
Double Tap Inside
Известный
Обновил библиотеку RKeys. Исправил косяки старой версии, добавил новые косяки, без этого никак да.
Что нового?
— Модуль полностью переписан с нуля
— Клавиши теперь могут блокировать управление клавиатурой (3й необязательный аргумент registerHotKey, изменить можно через rkeys.getHotKey редактируя свойство isBlock)
— Новые функции. Новая реализация.
— Возможность разделения клавиш-модификаторов на левые и правые.
— В старой реализации ID хоткея это его индекс в таблице tHotKey (при удалении ID уже указывал на другую кнопку или вовсе в никуда). Теперь у каждого хоткея уникальный ID который не связан с таблицей.
* Мини справка находится в шапке библиотеки (файл rkeys.lua)
Спасибо @FYP за практические советы по реализации кода. С обновлениями обещаю уменьшить количество гавнокода Спойлер
Известный
imgui_addons с тем же приколом.
Куда нажать шоб скачать модуль и как его установить?
imgui_addons работает немного по другому. Там эта система что в этом ркейс уже тыщу лет. но вот перехват мыши это гг. Насколько я помню сам имгуи блокирует мышь если задействовать элементы.
Скачать через МЗ или с гитхаба. Файл либы lua/rkeys.lua. Закинуть в moonloader/lib
Double Tap Inside
Известный
imgui_addons работает немного по другому. Там эта система что в этом ркейс уже тыщу лет. но вот перехват мыши это гг. Насколько я помню сам имгуи блокирует мышь если задействовать элементы.
Скачать через МЗ или с гитхаба. Файл либы lua/rkeys.lua. Закинуть в moonloader/lib
Я чуть поиздевался над твоим имгуи аддонс, Window Msg,
WM_LBUTTONDOWN = 0x0201,
WM_LBUTTONUP = 0x0202,
WM_LBUTTONDBLCLK = 0x0203,
WM_RBUTTONDOWN = 0x0204,
WM_RBUTTONUP = 0x0205,
WM_RBUTTONDBLCLK = 0x0206,
WM_MBUTTONDOWN = 0x0207,
WM_MBUTTONUP = 0x0208,
WM_MBUTTONDBLCLK = 0x0209,
WM_MOUSELAST = 0x0209,
WM_MOUSEWHEEL = 0x020a,
WM_XBUTTONDOWN = 0x020b,
WM_XBUTTONUP = 0x020c,
Мне впадло было разбирацца шоб оно работало еще всё как надо) нр через wm отображало кнопки которые я нажал. типо ALT +Left Button в имгуи адонс.






























