[Lua] TextDraw [Вопросик]

_RaDley_

Известный
Автор темы
92
31
Версия MoonLoader
.026-beta
Подскажите как это можно реализовать. Нучно что бы после появления на текстдраве нужной клавиши она автоматически нажималась.
1583482619477.png

lua:
function main()
  if not isSampLoaded() or not isSampfuncsLoaded() then return end
  while not isSampAvailable() do wait(100) end
  while true do
  wait(1)
 
end
end

local sampev = require 'lib.samp.events'

function sampev.onShowTextDraw(id, data)
    if data == 'H' then
    lua_thread.create(function()
    setVirtualKeyDown(72, true)
    wait(20)
    setVirtualKeyDown(72, false)
    end)
    
    
    
    
    end
end
 

_RaDley_

Известный
Автор темы
92
31
cod:
function main()
  if not isSampLoaded() or not isSampfuncsLoaded() then return end
  while not isSampAvailable() do wait(100) end
  while true do
  wait(1)
  text = sampTextdrawGetString(2069)
 
  if text == "~w~PRESSED [ ~b~~k~~GROUP_CONTROL_BWD~~w~ ]" then
     sampAddChatMessage("H", 0xFFFF00)
     setVirtualKeyDown(VK_H, true)
     wait(1000)
     setVirtualKeyDown(VK_H, false)
     wait (1000)
end
    if text == "~w~PRESSED [ ~b~~k~~SNEAK_ABOUT~~w~ ]" then
        sampAddChatMessage("ALT", 0xFFF0F00)
        wait (1000)
end

if text == "~w~PRESSED [ ~b~~k~~PED_SPRINT~~w~ ]" then
    sampAddChatMessage("ПРОБЕЛ", 0xFFFF00)
    wait (1000)
end
end
end
Написал вот так. В чат название выподит, но не эмулирует нажатие. Не пойму в чет проблема
 

Kolbasa241

Известный
213
57
Lua:
require("lib.moonloader")
sampev = require("lib.samp.events")

TextDraw_id = 2069
active = false
nameKey = nil

function main()
  if not isSampLoaded() or not isSampfuncsLoaded() then return end
  while not isSampAvailable() do wait(100) end
  while true do
  wait(0)
if active then
  setVirtualKeyDown(key_for_press, true)
  wait(500)
  setVirtualKeyDown(key_for_press, false)
  sampAddChatMessage("Была нажата клавиша - "..nameKey, 0xFFFF00)
  active = false
end
end
end

function sampev.onTextDrawSetString(id, text)
  if id == TextDraw_id then
  if text:match("%~w%~PRESSED %[ %~b%~%~k%~%~GROUP_CONTROL_BWD%~%~w%~ %]") then
  active = true
  key_for_press = VK_H
  nameKey = "H"
  end
  if text:match("%~w%~PRESSED %[ %~b%~%~k%~%~SNEAK_ABOUT%~%~w%~ %]") then
  msg_active = true
  key_for_press = VK_MENU
  nameKey = "Alt"
  end
  if text:match("%~w%~PRESSED %[ %~b%~%~k%~%~PED_SPRINT%~%~w%~ %]") then
  msg_active = true
  key_for_press = VK_SPACE
  nameKey = "Пробел"
  end
    end
end

_RaDley_ надеюсь помог, в игру заходил, кнопки сто процентов нажимаются (не проверял на текстдравах, тестил по команде).