Нажатие клавиши после пд

zir

Участник
Автор темы
47
0
Как сделать так, чтобы после PayDay нажималась нужная клавиша и отправлялась команда в чат, допустим /q
 

YarikVL

Известный
Проверенный
4,767
1,819
Как сделать так, чтобы после PayDay нажималась нужная клавиша и отправлялась команда в чат, допустим /q
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'


function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autoexit', function()
       act = not act
       if act then sampAddChatMessage('Включено', -1) else sampAddChatMessage('Выключено', -1) end
     end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
   if text:find('__________________________________') or text:find('Для получения PayDay вы должны отыграть минимум 20 минут.') then
      setVirtualKeyDown(VK_J, true)
      wait(30)
      setVirtualKeyDown(VK_J, false)
      wait(150)
      sampProcessChatInput("/q")
   end
end

Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'


function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autoexit', function()
       act = not act
       if act then sampAddChatMessage('Включено', -1) else sampAddChatMessage('Выключено', -1) end
     end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
   if text:find('__________________________________') or text:find('Для получения PayDay вы должны отыграть минимум 20 минут.') then
      setVirtualKeyDown(VK_J, true)
      wait(30)
      setVirtualKeyDown(VK_J, false)
      wait(150)
      sampProcessChatInput("/q")
   end
end
@Mouse666 нажимает J и ждёт 150 мс и пишет /q
 

zir

Участник
Автор темы
47
0
Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'


function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autoexit', function()
       act = not act
       if act then sampAddChatMessage('Включено', -1) else sampAddChatMessage('Выключено', -1) end
     end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
   if text:find('__________________________________') or text:find('Для получения PayDay вы должны отыграть минимум 20 минут.') then
      setVirtualKeyDown(VK_J, true)
      wait(30)
      setVirtualKeyDown(VK_J, false)
      wait(150)
      sampProcessChatInput("/q")
   end
end


@Mouse666 нажимает J и ждёт 150 мс и пишет /q
Не выходит из игры, пишу опять команду в чат и пишет то, что такой команды не существует. Перезагружаю все скрипты, ввожу команду и пишет Включено, но из игры все равно не выходит
 

Aizen Sosuke

Участник
120
20
Не выходит из игры, пишу опять команду в чат и пишет то, что такой команды не существует. Перезагружаю все скрипты, ввожу команду и пишет Включено, но из игры все равно не выходит
sampProcessChatInput попробуй заменить на sampSendChat, мб поможет
 

YarikVL

Известный
Проверенный
4,767
1,819
sampProcessChatInput попробуй заменить на sampSendChat, мб поможет
Чел, /q это не серверная команда, а команда клиента

Не выходит из игры, пишу опять команду в чат и пишет то, что такой команды не существует. Перезагружаю все скрипты, ввожу команду и пишет Включено, но из игры все равно не выходит
Так-с.. смотри:
Во-первых: он выходит в пейдей
Во-вторых: я там забыл написать перед then ( на 15 строке ) вот это: and act
Но это влияет только на выход с игры при условии что ты ввёл команду
В-третьих: попробуй открыть чат перед получением пейдея и посмотри напишет ли оно букву j
В-четвёртых: если ты просто вставил в пустой текстовый файл ( с расширением .lua ) этот код, то он не будет работать в том случае если ты не отыграл 20 минут. Нужно использовать визуал студию код и настроить encoding на Windows 1251
 
Последнее редактирование:

zir

Участник
Автор темы
47
0
Чел, /q это не серверная команда, а команда клиента


Так-с.. смотри:
Во-первых: он выходит в пейдей
Во-вторых: я там забыл написать перед then ( на 15 строке ) вот это: and act
Но это влияет только на выход с игры при условии что ты ввёл команду
В-третьих: попробуй открыть чат перед получением пейдея и посмотри напишет ли оно букву j
В-четвёртых: если ты просто вставил в пустой текстовый файл ( с расширением .lua ) этот код, то он не будет работать в том случае если ты не отыграл 20 минут. Нужно использовать визуал студию код и настроить encoding на Windows 1251
Букву J прописывает, но из игры все равно не выходит

Мб не выходит потому-что чел не на арз играет?
Как раз таки на арз играю
 

YarikVL

Известный
Проверенный
4,767
1,819
Букву J прописывает, но из игры все равно не выходит


Как раз таки на арз играю
Пробуй добавить задержку на 19 строке ( те цифры в скобках, после wait ), измени 150 на 1000
 

abbv

Потрачен
120
41
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пробуй добавить задержку на 19 строке ( те цифры в скобках, после wait ), измени 150 на 1000
у тебя wait вне потока и функции main объявлен

Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'


function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autoexit', function()
       act = not act
       if act then sampAddChatMessage('Включено', -1) else sampAddChatMessage('Выключено', -1) end
     end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if act then
        lua_thread.create(function()
            if text:find('__________________________________') or text:find('Для получения PayDay вы должны отыграть минимум 20 минут.') then
                setVirtualKeyDown(VK_J, true)
                wait(30)
                setVirtualKeyDown(VK_J, false)
                wait(150)
                sampProcessChatInput("/q")
            end
        end)
    end
end

после пейдея нажмёт кнопку J, через 30 мс отожмёт, и через 150 мс пропишет /q

автор темы, чтобы проверить это - просто напиши в чат __________________________________ , если скрипт выйдет из игры - то скрипт работает
 
  • Нравится
Реакции: Aizen Sosuke и YarikVL

zir

Участник
Автор темы
47
0
у тебя wait вне потока и функции main объявлен

Lua:
require 'lib.moonloader'
local sampev = require 'lib.samp.events'


function main()
    while not isSampAvailable() do wait(0) end
    sampRegisterChatCommand('autoexit', function()
       act = not act
       if act then sampAddChatMessage('Включено', -1) else sampAddChatMessage('Выключено', -1) end
     end)
    wait(-1)
end

function sampev.onServerMessage(color, text)
    if act then
        lua_thread.create(function()
            if text:find('__________________________________') or text:find('Для получения PayDay вы должны отыграть минимум 20 минут.') then
                setVirtualKeyDown(VK_J, true)
                wait(30)
                setVirtualKeyDown(VK_J, false)
                wait(150)
                sampProcessChatInput("/q")
            end
        end)
    end
end

после пейдея нажмёт кнопку J, через 30 мс отожмёт, и через 150 мс пропишет /q

автор темы, чтобы проверить это - просто напиши в чат __________________________________ , если скрипт выйдет из игры - то скрипт работает
Спасибо🙂