TextDraw

NGTeam

Новичок
Автор темы
7
9
Версия MoonLoader
.026-beta
Привет всем. В общем. На аризону добавили новую фракцию, там есть один ТекстДрав
1605545397387.png


1605545434827.png


Хочу сделать, что бы когда писало Пресс N то нажималось автоматом N, а когда Пресс H то нажималось автоматом H. Но тут одинаковые айди текстдравов. Как быть?
 

kizn

q(≧▽≦q)
Всефорумный модератор
2,406
2,107
Привет всем. В общем. На аризону добавили новую фракцию, там есть один ТекстДрав
1605545397387.png


1605545434827.png


Хочу сделать, что бы когда писало Пресс N то нажималось автоматом N, а когда Пресс H то нажималось автоматом H. Но тут одинаковые айди текстдравов. Как быть?
Получать data.text текстдрава... С одним айди даже проще ведь..
 

kizn

q(≧▽≦q)
Всефорумный модератор
2,406
2,107
Lua:
local sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
end

function sampev.onShowTextDraw(id, data)
    if id == 2062 then
        if data == 'N' then
            setVirtualKeyDown(78, true)
            wait(100)
            setVirtualKeyDown(78, false)
        elseif data == 'H' then
            setVirtualKeyDown(72, true)
            wait(100)
            setVirtualKeyDown(72, false)
        end
    end
end
каво? if data == 'N' это что?
 

chapo

tg/inst: @moujeek
Модератор
9,052
11,917
каво? if data == 'N' это что?
ой. ща
Lua:
local sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
end

function sampev.onShowTextDraw(id, data)
    if id == 64 then text = sampTextdrawGetString(64) end
    if text == 'Press N' then
        setVirtualKeyDown(78, true)
        wait(100)
        setVirtualKeyDown(78, false)
    elseif text == 'Press H' then
        setVirtualKeyDown(72, true)
        wait(100)
        setVirtualKeyDown(72, false)
    end
end
 
Последнее редактирование:

kizn

q(≧▽≦q)
Всефорумный модератор
2,406
2,107
ой. ща
Lua:
local sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
end

function sampev.onShowTextDraw(id, data)
    if id == 64 then text = sampTextdrawGetString(64) end
    if text == 'Press N' then
        setVirtualKeyDown(78, true)
        wait(100)
        setVirtualKeyDown(78, false)
    elseif text == 'Press H' then
        setVirtualKeyDown(72, true)
        wait(100)
        setVirtualKeyDown(72, false)
    end
end
1) data.text хранит текст текстдрава, незачем использовать лишнюю функцию
2) можно не эмулировать клавишу, а отправлять синхру для работы в антиафк
 
  • Нравится
Реакции: chapo

chapo

tg/inst: @moujeek
Модератор
9,052
11,917

Fott

Простреленный
3,470
2,386
ой. ща
Lua:
local sampev = require 'lib.samp.events'

function main()
    repeat wait(0) until isSampAvailable()
end

function sampev.onShowTextDraw(id, data)
    if id == 64 then text = sampTextdrawGetString(64) end
    if text == 'Press N' then
        setVirtualKeyDown(78, true)
        wait(100)
        setVirtualKeyDown(78, false)
    elseif text == 'Press H' then
        setVirtualKeyDown(72, true)
        wait(100)
        setVirtualKeyDown(72, false)
    end
end
Если надо нажать на текстдрав
Lua:
require('samp.events').onShowTextDraw = function(id, data)
    if data.text == 'Press N' then
        sampSendClickTextdraw(id)
    end
    if data.text == 'Press H' then
        sampSendClickTextdraw(id)
    end
end
если нет
Lua:
require('samp.events').onShowTextDraw = function(id, data)
    if data.text == 'Press N' then
        lua_thread.create(function()
            setVirtualKeyDown(78, true)
            wait(100)
            setVirtualKeyDown(78, false)
        end)
    end
    if data.text == 'Press H' then
        lua_thread.create(function()
            setVirtualKeyDown(72, true)
            wait(100)
            setVirtualKeyDown(72, false)
        end)
    end
end
 
Последнее редактирование:
  • Bug
Реакции: _razor и Sargon