Lua SnailMatic 1.9 | Самый функциональный биндер [RU/ENG]

GrezeeBal

Известный
Автор темы
Проверенный
1,604
933
tgfh6Tm.png
SnailMatic 1.9 Achatina / От разработчиков ScriptPatrol Lua


Биндер
  • Огромный функционал
  • Неграниченное количество биндов с неограниченным количеством строк
  • Автоматические отыгровки, сокращения команд и фраз, ввод команд/текста и активация биндов в назначенное время, математические операции, алгоритмы и так далее.
  • Активация биндов по команде, по клавише/сочетанию клавиш (есть поддержка кнопок мыши), по появлению текста в чате, через переменные и через интерфейс
  • Гайд по созданию биндов (github)

Интерфейс
  • Продуманный, простой, удобный и практичный интерфейс.
  • Наличие горячих клавиш для быстрого взаимодействия с интерфейсом
  • Присутствует английская локализация
  • Бинды в биндере можно перемещать, группировать, дублировать, запускать/останавливать/ставить на паузу через кнопки в интерфейсе.
  • Подробнее о всех возможностях здесь интерфейса (github)

Cbuuyzf.jpg
Gi5cBOi.jpg
Mq5WI50.jpg
BMzWLaB.jpg
C7C7T8E.jpg
XRg9zTV.jpg
L9vduW9.jpg

Переменные
Большое количество переменных, которые помогают автоматизировать бинды и действия:
  • Обычные переменные ($var$): не принимают параметры, а работают по четко-заданному алгоритму.
    • Например, переменная $time$ - напишет время в формате HH:MM:SS (20:51:42)
    • Или, например, переменная $chatclear$ очистит чат
  • Функциональные переменные (@var(...)@): работают по параметрам, задаваемыми самим пользователем, от которых зависит конечный результат переменных.
    • Параметрами в функциональных переменных выступают выражения, условия, порядковые номера, другие переменные из биндера.
    • Например, переменная @math(2+2)@ - напишет «4»
    • Или, например, переменная @nick($closestidtocenter$)@ - напишет ник игрока, который находится ближе всего от центра экрана. В этом примере в качестве параметра использовалась обычная переменная из биндера $closestidtocenter$, которая пишет ID ближайшего игрока от центра экрана
Гайд по функциональным переменным (github)

Создание собственных виджетов
  • С помощью этой системы можно очень легко создавать свои собственные и уникальные виджеты. Они могут отображать нужную для тебя информацию в любом месте на экране.
  • Можно создавать неограниченное количество виджетов, которые будут одновременно отображаться на экране
  • Виджеты можно кастомизировать, добавлять в них иконки и картинки, менять цвет текста и фона (или просто убрать его) и менять размер элементов.
  • В виджеты можно добавлять любой текст и переменные, которые в свою очередь будут выполнять свои функции и сами писать текст
  • Инструкция по созданию виджетов (github)

urerznX.png
ti18shB.jpg
WF8uorm.jpg

Внтутриигровой блокнот
  • "Шпаргалка", блокнот, в который можно записывать любой текст
  • Количество файлов и текста неограниченно
  • Есть быстрый предпросмотр блокнота через команду (/smnote)
  • В блокноте работают переменные из биндера, которые будут выполнять свои функции и сами писать текст
  • Присутствует поиск текста, форматирование текста (как и в виджетах), а так же возможность добавлять иконки и картинки
  • Текст из блокнота можно быстро копировать, нажимая ЛКМ на нужные строки.
  • Инструкция по использованию блокнота (github)

h2hDJn9.jpg
cVHNsJ9.jpg

Создание своих диалоговых окон

152640276-ae969965-15b7-4a94-9c73-322ed91f9708.png

Сокращение команд, фраз, текста
  • Бинды в SnailMatic можно активировать командами, которые не содержат в начале себя слэши или другие знаки. Таким образом можно сокращать нужные команды или текст.
  • Пример по сокращению команд (github)

Взаимодействие с командами других скриптов
  • Биндер может писать команды других скриптов и они будут при этом активироваться
  • Для этого на такую команду нужно поставить отправку "На клиент SAMP" в редакторе бинда
  • Методы отправки строк (github)

Ввод текста в указанное время
  • С помощью данной системы (/sm.remind) можно устанавливать напоминания или дать указание биндеру ввести указанный текст спустя какое-то количество времени.
  • Гайд по использованию /sm.remind (github)

Взаимодействие с указанным игроком
  • В биндере присутствует система таргета, которая позволяет легко взаимодействовать с одним указанным игроком.
  • Помимо этого, в наборе переменных есть функции, позволяющие отдельно взаимодействовать с ближайшими игроками.
  • Гайд по использованию системы таргета (github)

Совместимость с SA-MP R1, R3, R4-2, 0.3DL
  • Биндер совместим с вышеперечисленными версиями SA-MP, CRMP и независим от SAMPFUNCS (но наличие рекомендуется).

SnailMatic API
  • Биндер экспортирует некоторые свои функции, на основе которых можно делать для него плагины или дополнять свои скрипты этим функционалом.
  • Документация по SnailMatic API (github)



Дополнительное описание
  • Возможность установки условий активации бинда (например, если твой персонаж не в машине - бинд не запустится)
  • Возможность остановки и паузы запущенных биндов
  • Возможность подтверждать/не подтверждать автоматическую активацию бинда по тексту в чате
  • Возможность зацикливания биндов (с помощью переменных или команды активации бинда)
  • Возможность заблокировать клавишу активации бинда для управления игры (управление игры не будет реагировать на клавишу активации бинда)
  • Возможность использования регулярных выражений в биндах
  • 10 методов отправки строки
  • Возможность активации биндов командами, которые не содержат в начале себя слэши и остальные знаки ("/cmd" и "cmd" - две разные команды активации, которые будут активировать разные бинды)
  • Удобный редактор биндов с двумя вариантами ввода текста: построчно и в виде блокнота, что позволит вставлять в бинды большие текста средствами CTRL+C и CRTL+V
  • Модульность биндера: система профилей и установка новых переменных
  • Кастомизация биндера: возможность поставить на фон интерфейса картинку и изменить звук уведомлений
  • Группировка биндов: перемещение их по списку, а так же создание папок
  • Радиальное меню активации нужных биндов
  • Активация переменных необязательно через бинды — их можно писать вручную в обычный чат, где они будут возвращать выполняемую функцию.
  • Отдельная настройка отыгровки оружия с удобными активациями (в настройках биндера)
  • Установка умного автоакцента
  • Два варианта уведомлений биндера: всплывающие и обычные в чат
  • Собственный конвертор профилей из других биндеров (КВАС, ScriptPatrol AHK/Lua, Police Assistant)
  • Наличие "Беспалевного" режима, который убирает все уведомления в консоль биндера(CTRL+~) и консоль SAMPFUNCS(при наличии)(~)
  • Перемещение скриншотов по папкам прямо из игры
  • Установка простых временных(на одну сессию игры) переменных, которые содержат в себе заданный текст с возможностью быстро их обновлять
  • Совместимость с MoonLoder 0.26.5 и 0.27
  • Работает на лаунчерах, где можно устанавливать .lua скрипты
  • Автообновление
  • Два языка интерфейса: English, Русский

Команды биндера
/sm.open или CTRL+Z(по умолчанию)открыть биндер
/sm.ss [папка]* [скрин] [новое название скрина]перемещение (последнего)скриншота в указанную папку с указанным именем (по умолчанию перемещается с оригинальным названием).
/sm.regvar [название переменной]* [текст]*установка простой текстовой переменной на одну сессию
/sm.regvarwn [название переменной]* [текст]*полный аналог /sm.regvar, но без уведомлений от биндера
/> [текст]быстрое открытие текущей активной шпаргалки. При написании текста — поиск этого текста по шпаргалке
/sm.note [название шпаргалки] [текст]возможность открыть/искать текст в определенной шпаргалке по её названию. Вписывать полное имя шпаргалки необязательно
/sm.select [номер бинда/имя бинда]* [папка]открыть окно выбора отдельных строк бинда по его номеру/названию
/sm.reloadперезагрузка биндера в игре
/sm.remind [сек/время]* (@/!)[текст]*отправка введенного текста на клиент SA-MP через кол-во [сек] или в назначенное [время] (HH:MM или HH:MM:SS)
Знак @ перед текстом отправит текст в локальный чат.
Знак ! перед текстом не отправит текст, но биндер его обработает и выполнит содержащиеся в нём переменные.
/sm.bindstart [номер бинда/имя бинда]* [папка]запустить бинд по его номеру/названию
/sm.bindstop [номер бинда/имя бинда] [папка]остановить запущенный бинд по его номеру/названию. Если не вводить бинд — остановятся все запущенные бинды
/sm.target [id/nick]выбор игрока как цель. Если не вводить параметры - сбросится таргет
/sm.console или CTRL+~открыть консоль биндера
*Параметры со звездочкой — обязательны.
**Все команды можно писать без точки после /sm



Документация по использованию
Полную инструкцию смотри здесь (github)

Требования для работы
moonloader 0.26.5+,
библиотеки: mimgui, copas, fa-icons, socket (github)

Разработчики
@GrezeeBal, @RTD




FAQ
Так как биндер всё еще находится в стадии беты, он может вести себя нестабильно. Ниже инструкции, как это починить. Для подробной информации об ошибках - открой текстовый документ ...\moonloader\moonloader.log и в строчке (error) SnailMatic: - прочитай ошибку.


1.
Биндер не запускается с помощью CTRL+Z или команды /sm.open
Решение: Установи все библиотеки по ссылкам выше (см. Требования для работы).


2.
Игра при запуске крашится, если установлен SnailMatic
Решение 1: Установи с заменой RakLua 2.1 в папку …\moonloader\lib.
Решение 2: удали RakLua из папки …\moonloader\lib
Решение 3: смени параметр hookmode на 0 (это автономный) или 3 (это sampfuncs) в файле ...\Documents\GTA San Andreas User Files\SAMP\SnailMatic\snailmatic.json


3.
Отправляется только первая строка в бинде - остальные нет.
Решение: Это происходит из-за того, что на строках не установлена задержка. Если между строками нет задержки - они отправляются моментально, что превращается во флуд - сервер в свою очередь флуд будет блокировать. Задержка выставляется в миллисекундах (1 сек = 1000 мсек)


4.
Биндер ведёт себя очень нестабильно, бинды не проигрываются полностью, биндер перезагружается
Решение: В настройках биндера с помощью ползунка "Режим хукинга" измени режим на любой другой. Описание режимов указаны в подсказке. Самый стабильный режим - SAMPFUNCS (наличие SAMPFUNCS обязательно).


5.
Белые квадраты вместо шрифта
MbpxUbe.png

Решение: Создай текстовый документ 512_2048.txt или 512_1024.txt в папке \Документы\GTA San Andreas User Files\SAMP\SnailMatic. С этим фиксом не будут работать иконки в редакторе HUD и шпаргалке


6.
Код:
(error)    SnailMatic: Ошибка #1. Перезагрузка
Решение: В настройках биндера с помощью ползунка "Режим хукинга" измени режим на любой другой. Описание режимов указаны в подсказке. Самый стабильный режим - SAMPFUNCS (наличие SAMPFUNCS обязательно).


7.
Код:
(exception) SnailMatic: CJSON: Expected value but found T_END at character 1
(error) SnailMatic: [string "..."]:0: attempt to index a nil value
stack traceback:
    [string "..."]: in function 'loadSetting'
    [string "..."]: in function <[string "..."]:0>
(error) SnailMatic: Script died due to an error. (33B3215C)
Решение: Удали snailmatic.json по пути C:\Users\user\Documents\GTA San Andreas User Files\SAMP\SnailMatic


8.
Код:
(error)    SnailMatic: C:\GTA San Andreas\moonloader\lib\mimgui\imgui.lua:8: cannot load module 'C:\GTA San Andreas\moonloader\lib\mimgui\cimguidx9': Не найден указанный модуль.
    stack traceback:
        [C]: in function 'load'
        C:\GTA San Andreas\moonloader\lib\mimgui\imgui.lua:8: in main chunk
        [C]: in function 'require'
        C:\GTA San Andreas\moonloader\lib\mimgui\init.lua:7: in main chunk
        [C]: in function 'require'
        [string "..."]: in function <[string "..."]:0>
        C:\GTA San Andreas\moonloader\snailmatic.luac: in function <C:\GTA San Andreas\moonloader\snailmatic.luac:0>
        C:\GTA San Andreas\moonloader\snailmatic.luac: in function <C:\GTA San Andreas\moonloader\snailmatic.luac:0>
(error)    SnailMatic: Script died due to an error. (099D412C)
Решение: Установи Microsoft Visual C++ (желательно все пакеты).

Установка:
  1. установить все библиотеки по ссылкам выше
  2. перекинуть файл snailmatic.luac в "...\GTA San Andreas\moonloader"


В скрипте присутствует автообновление. Используйте на свой страх и риск
 

Вложения

  • snailmatic.luac
    494.4 KB · Просмотры: 1,503

NikitaGrozzniy

Известный
271
104
Биндер хорош, хотелось бы конечно только переменную приостановки бинда в бесплатной версии.
 

GrezeeBal

Известный
Автор темы
Проверенный
1,604
933
Там написано, что переменная доступна ток в про версии.
Забей, это отголоски первой версии биндера, сейчас и в будущем он полностью бесплатный. Намеки на премиум мы удалим в ближайшее время
 

VgrxTxch

Известный
1,154
325
добавьте возможность вызывать селектор боковыми кнопками мыши или средним колесом