Lua Прожать Alt Enter при сообщении в чате

danil44

Известный
Автор темы
1
0
Простой скрипт который при появлении сообщения с указанным содержимым прожимает Alt и после Enter. Может пригодится к примеру при ловле ларцов, страховок в СТК, или объявлений в СМИ.

В скрипте присутствует возможность задать текст для поиска, задержку между нажатиями и включение/отключение информирование о том, что произошло нажатие.
Все настройки сохраняются.

Скрипт может работать как с ImGui так и без него.

Команды без ImGui:
  • /fastpuhelp - Список команд
  • /fastpu - Активировать скрипт
  • /setputext - Установить строку поиска
  • /setpudelay - Установить задержку между нажатиями Alt и Enter
  • /curputext - Текущая строка поиска
  • /curpudelay - Текущая задержка между нажатиями Alt и Enter
  • /fastpuprint - Изменить показ в чате сообщения о нажатии Alt и Enter
Команды с ImGui:
  • /openpu - Открыть меню скрипта
При необходимости все команды можно изменить в конфиге

Зависимости: MoonLoader, SAMP.Lua, ImGui (опционально)

P.s мой первый скрипт, не судите строго, буду рад увидеть обратную связь и здравую критику по коду
 

Вложения

  • PickUpEnter.lua
    6.4 KB · Просмотры: 51

MLycoris

Режим чтения
Проверенный
1,822
1,861
переведи всё на диалог, ну или мимгуи, если возбуждает подобное. Куча команд и сообщений в чат это лишнее, ну а ещё сама идея скрипта хромает.

setVirtualKeyDown лучше не используй, можешь прожимать альт с помощью
Lua:
 setGameKeyState(21,128)
а закрывать диалог с помощью
Lua:
sampCloseCurrentDialogWithButton(1)
 
  • Нравится
Реакции: danil44 и YarikVL

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,778
11,221
круто что скрипт работает как с имгуи так и без него, однако в коде можно пофиксить некоторые недочеты, например:
вместо
Lua:
    local boolBuffer = imgui.ImBool(isActive)
    if imgui.Checkbox(u8'Активация', boolBuffer) then
        isActive = boolBuffer.v
    end
можно просто
Lua:
if imgui.Checkbox(u8'Активация', imgui.ImBool(isActive)) then
    isActive = not isActive
end
 
  • Нравится
Реакции: danil44 и YarikVL