REL LUA HoldCMDs

  • Привет! Если твой основной форумник заблокирован - ты можешь оставить заявку в этом разделе: Нажми на меня!, НЕ создавая новый форумный аккаунт.
  • Менеджмент проекта ждет ваши вопросы/предложения/критику работы проекта в специальном треде
  • Гость, цивильный бизнес — это твой главный источник крутого ролевого сюжета, уважения и стабильного дохода. Забирай коммерческое предприятие уже сегодня и сделай свое заведение центром тусовки всего сервера!

шкипер

Lingua Latina non penis canis est
Автор темы
2,517
30,763
Не знаю, как разрекламировать. По сути -- биндер, позволяющий открывать машины, инвентарь и телефон по нажатию и удержанию кнопки. Все.

Что еще показать -- вот интерфейс. Прогресс сбрасывается, как только вы отжали кнопку -- ну вы поняли, таких интерфейсов полно.
1787595121203.png

Активация автоматическая. По стандарту кнопка P отвечает за телефон, I за инвентарь, L -- за открытие авто/дома.

В скрипте можно изменить время -- я поставил полсекунды, а можно добавить клавиш. Ищем вот этот блок:

Код:
-- Время удержания изменено на 1 секунду
local BINDS = {
    { key = vkeys.VK_L, cmd = "/lock",  hold_time = 0.5 },
    { key = vkeys.VK_I, cmd = "/inv",   hold_time = 0.5 },
    { key = vkeys.VK_P, cmd = "/phone", hold_time = 0.5 }
}

его очень легко найти, он на восьмой строке.
и можем добавить сюда что угодно:
{ key = vkeys.VK_%любая клавиша%, cmd = "%любая команда%", hold_time = 0.5 },

и эту строчку вставляем предпоследней. потому что в конце строчки, кроме последней должна быть запятая.
Можете так себе забиндить хоть /craft, хоть /cbrake, хоть что угодно, для чего требуется команда.

Если полсекунды кажутся вам слишком быстрыми (а они не такие) -- параметр hold_time изменяете на время в секундах (sic! очень важно)

Для моих хоуми с SW интерфейс будет великоват, но не критично. Это если вдруг кому интересно.

Из зависимостей -- vkeys, imgui. Должны стоять у каждого. Скачять можно в аттачах.

Из подобных мелочей на самом деле складывается хороший игровой опыт. Может быть, если бы да кабы -- может быть бы и кое-что не было столь деревянным по прошествию более чем полугода разработки :^)
 

Вложения

  • holdCMDs.zip
    1.9 KB · Просмотры: 0
Последнее редактирование:

шкипер

Lingua Latina non penis canis est
Автор темы
2,517
30,763
Если чат открыт - скрипт не будет срабатывать?
Код:
    if not sampIsChatInputActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() then
            local current_time = os.clock()

в теории, он не должен работать с открытым чатом и инпутом вообще (логины/пароли/редактор паме), не должен работать с открытым диалогом и не должен работать с запущенной консолью сф.

на практике я знаю, что он не работает с открытым чатом.
 
  • Нравится
  • Cолидарен
Реакции: fbi.dff и CaliBanging

fbi.dff

Ветеран
723
2,418
Код:
    if not sampIsChatInputActive() and not sampIsDialogActive() and not isSampfuncsConsoleActive() then
            local current_time = os.clock()

в теории, он не должен работать с открытым чатом и инпутом вообще (логины/пароли/редактор паме), не должен работать с открытым диалогом и не должен работать с запущенной консолью сф.

на практике я знаю, что он не работает с открытым чатом.
ради прикола глянул.

при открытых диалогах и запущенной консолью с открытым чатом не работает. аналогично при входе в игру вылазит окно с вводом пароля, туда также нельзя написать - так как буквы печатаются в окно ввода пароля. когда заходишь от имени личного кабинета и выходит выбор персонажа - также нельзя попробовать. но заметил что при открытом инвентаре работает. проверил все открытые возможные диалоговые окна, которые на ум пришли.
 

шкипер

Lingua Latina non penis canis est
Автор темы
2,517
30,763
ради прикола глянул.

при открытых диалогах и запущенной консолью с открытым чатом не работает. аналогично при входе в игру вылазит окно с вводом пароля, туда также нельзя написать - так как буквы печатаются в окно ввода пароля. когда заходишь от имени личного кабинета и выходит выбор персонажа - также нельзя попробовать. но заметил что при открытом инвентаре работает. проверил все открытые возможные диалоговые окна, которые на ум пришли.
инвентарь — это текстдрав. равно как и телефон. не очень уверен что текстдравы как класс определены в опкодах. с другой стороны, что инвентарь, что телефон не управляются с клавиатуры, а следовательно, открыть второй раз, /случайно/, вероятность низка, если не равна нулю.
 
  • Задумчивый
Реакции: fbi.dff

шкипер

Lingua Latina non penis canis est
Автор темы
2,517
30,763
snail matic видимо по приколу придумали

Посмотреть вложение 4796388
а мне кстати почему-то не очень нравится через него. я делал, пруфов не будет. хрен знает.

опять же — см капризный и не везде может работать, а это простое решение. не говоря уже про то, что см весит банально на порядки больше.

у меня сейчас ровно один бинд там стоит — /cc на боковую клавишу мыши. и /pnick кстати тоже вроде стоял.

вообще снейлматик хорош. по сути скрипт конструктор внутри мунлоадера. но это скорее такой эксперимент — а можно ли выдать красивую анимашку и гуй? как оказалось — можно. а у снейлматика с выводом гуя геморрой. не говорю что невозможно, но периодически оно у меня отваливалось.

а ну и суть именно в том чтобы нажать и удержать и получить результат. или не получить если нажал случайно. слабо помню, можно ли такое реализовать в см. даже если поставить функцию-пдейсхолдер с вейтом в 500, вроде как результат будет в любом случае, то есть защиты от случайного нажатия нет. но я могу ошибиться, потому что могу. мне много лет, я стар.
 

mаce

Легенда
7,169
79,261
а мне кстати почему-то не очень нравится через него. я делал, пруфов не будет. хрен знает.

опять же — см капризный и не везде может работать, а это простое решение. не говоря уже про то, что см весит банально на порядки больше.

у меня сейчас ровно один бинд там стоит — /cc на боковую клавишу мыши. и /pnick кстати тоже вроде стоял.

вообще снейлматик хорош. по сути скрипт конструктор внутри мунлоадера. но это скорее такой эксперимент — а можно ли выдать красивую анимашку и гуй? как оказалось — можно. а у снейлматика с выводом гуя геморрой. не говорю что невозможно, но периодически оно у меня отваливалось.

а ну и суть именно в том чтобы нажать и удержать и получить результат. или не получить если нажал случайно. слабо помню, можно ли такое реализовать в см. даже если поставить функцию-пдейсхолдер с вейтом в 500, вроде как результат будет в любом случае, то есть защиты от случайного нажатия нет. но я могу ошибиться, потому что могу. мне много лет, я стар.
никогда не имел проблем с этим биндером, никогда случайно ни на что не нажимал, все кнопки это либо комбинации клавиш, либо находятся по правую сторону клавиатуры, ну и при использовании чата бинды естественно не срабатывают