- 38
- 25
Мой первый проект на MoonLoader LUA (разрабатывал чисто для себя).
Скрипт позволяет загрузить .TXT файл как меню биндов в игровом диалоге. Поддерживаются подстановка ID/ника игрока под прицелом, ввод нескольких команд подряд и комментарии, отображаемые в меню вместо самих команд (с цветовым форматированием SAMP).
Меню пользователю придётся писать с нуля. Я предлагаю лишь простой доступ к уже имеющимся биндам. При этом скрипт способен заменить большинство RP-хелперов с хардкодными меню отыгровок.
Принцип работы:
Скрипт позволяет загрузить .TXT файл как меню биндов в игровом диалоге. Поддерживаются подстановка ID/ника игрока под прицелом, ввод нескольких команд подряд и комментарии, отображаемые в меню вместо самих команд (с цветовым форматированием SAMP).
Меню пользователю придётся писать с нуля. Я предлагаю лишь простой доступ к уже имеющимся биндам. При этом скрипт способен заменить большинство RP-хелперов с хардкодными меню отыгровок.
Принцип работы:
- В папке moonloader пользователем создаётся папка brightbinder, в которую помещаются файлы биндов в формате .TXT
- Не знаю, как у других, но у меня неверно выводится кириллица в любой кодировке, кроме Windows 1251
- Каждая строка в файле является отдельным биндом; при загрузке файла все бинды выводятся в одно меню выбора (
DIALOG_STYLE_LIST) - Синтаксис строки:
- В качестве символа-разделителя используется вот такая кавычка:
` - Один разделитель делит строку на несколько, вводимых подряд с интервалом 500 мс (меняется в коде скрипта)
- Два разделителя означают комментарий: в игре будет отображаться только текст после
`` - Все вхождения
@iзаменяются на ID игрока под прицелом,@p- на его ник (см. ниже)
- В качестве символа-разделителя используется вот такая кавычка:
- Первый способ вызова скрипта: навести прицел на игрока (достаточно держать ПКМ) и нажать
Left ALT- Будут открыты строки из файла
default.txt
- Будут открыты строки из файла
- Второй способ: ввести
/bb [ID] [имя_файла]- Если ID не указан или равен -1, подставляется ник игрока, на которого направлен прицел (актуально только при вводе через AHK)
- Если ID не указан или равен -1, а сама команда вызвана из меню другого файла, будет использован ID из предыдущего меню
- А вот тут уже можно создавать свои вложенные менюшки!
- Имя файла указывается без расширения; в папке должен присутствовать файл .txt с данным именем
- Если имя файла не указано, будет загружен
default.txt - Таким образом наведение прицела и нажатие
Left ALTэквивалентно вводу/bbбез аргументов
- Небольшие детали:
- В заголовке окна указывается
Nick_Name[ID]выбранного игрока, если он есть - Если скрипт вызван без указания ID и прицел не был наведён, меню всё равно откроется (в заголовке отобразится
None)- При выборе бинда, содержащего подстановки
@i/@p(кроме/bb), будет открыт диалог для ввода ID
- При выборе бинда, содержащего подстановки
- Файлы биндов можно менять во время игры, так как они загружаются заново при каждом вызове скрипта; это должно упростить составление биндов
- Если загружен несуществующий файл, скрипт выведет соответствующее сообщение
- В заголовке окна указывается
| Строка | Отображение в меню | Действие при выборе |
|---|---|---|
| Привет! | Привет! | Вводится "Привет!" |
| Привет, @p!`/hi @i | Привет, @p!`/hi @i | Вводится "Привет, Nick_Name!", через 300 мс вводится "/hi 0" (вместо Nick_Name и 0 подставляются ник и ID цели) |
| Привет!`/hi`Как жизнь?``Поздороваться | Поздороваться | Вводится "Привет!", через 300 мс вводится "/hi", через 300 мс вводится "Как жизнь?" |
| /bb su``{0000FF}Выдать розыск /bb -1 su``{0000FF}Выдать розыск /bb @i su``{0000FF}Выдать розыск | Выдать розыск | Открывается меню su.txt для выбранной цели (если не выбрана, меню открывается без цели) |
| ``{FF0000}Заголовок раздела | Заголовок раздела | Нет |
| /togphone`/bb``Включить/выключить телефон | Включить/выключить телефон | Вводится "/togphone", затем открывается меню default.txt для выбранной цели (если не выбрана, меню открывается без цели) |
Вложения
Последнее редактирование: