- 24
- 8
Мой первый проект на 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 для выбранной цели (если не выбрана, меню открывается без цели) |
Вложения
Последнее редактирование: