хук 3д текста

linmsqn

Участник
Автор темы
337
9
Версия MoonLoader
Другое
Lua:
local sampev = require('lib.samp.events')

function sampev.onCreate3DText(idObject, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, textObject)
    if textObject:find('test') then
        sampAddChatMessage('test', -1)
    end
end

что не так? по идее при виде этого текста в чат должно вывести тест, но не выводит почему-то


1655902100647.png
 
Решение
а допустим активацию по команде можно сделать для подобного?
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('text', function()
        bool = not bool
        sampAddChatMessage(bool and 'Active' or 'Deactive', -1)
    end)
    while true do wait(0)
        if bool then
            for i = 0, 2048 do
                if sampIs3dTextDefined(i) then
                    local pp = {sampGet3dTextInfoById(i)}
                    if pp[1]:match('Помощь') then
                        if not sampIsCursorActive() then
                            setVirtualKeyDown(18, true)
                            wait(500)
                            setVirtualKeyDown(18, false)...

linmsqn

Участник
Автор темы
337
9
попробуй отойди дальше и подойти заново
это работает как с chatbubble, оно приходит когда ты в зоне стрима, а отрисовывается когда ты близко
да, получилось, но как-то странно оно работает, получается я текст не вижу, а тест уже показывается

попробуй отойди дальше и подойти заново
это работает как с chatbubble, оно приходит когда ты в зоне стрима, а отрисовывается когда ты близко
а не знаешь как мне сделать так, чтобы после того как скрипт увидит этот текст у меня бесконечно начался тыкаться альт?
 
Последнее редактирование:

krim

Известный
301
132
да, получилось, но как-то странно оно работает, получается я текст не вижу, а тест уже показывается


а не знаешь как мне сделать так, чтобы после того как скрипт увидит этот текст у меня бесконечно начался тыкаться альт?
Lua:
local sampev = require('lib.samp.events')

function sampev.onCreate3DText(idObject, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, textObject)
    if textObject:find('Помощь') then
            id = idObject
        lua_thread.create(function() wait(0)
                    while sampIs3dTextDefined(id) do
                        setVirtualKeyDown(18, true)
                        wait(500)
                        setVirtualKeyDown(18, false)
                        wait(500)
                    end
                end)
    end
end
это через хук
 

linmsqn

Участник
Автор темы
337
9
Lua:
local sampev = require('lib.samp.events')

function sampev.onCreate3DText(idObject, color, position, distance, testLOS, attachedPlayerId, attachedVehicleId, textObject)
    if textObject:find('Помощь') then
            id = idObject
        lua_thread.create(function() wait(0)
                    while sampIs3dTextDefined(id) do
                        setVirtualKeyDown(18, true)
                        wait(500)
                        setVirtualKeyDown(18, false)
                        wait(500)
                    end
                end)
    end
end
это через хук
а допустим активацию по команде можно сделать для подобного?
 

krim

Известный
301
132
а допустим активацию по команде можно сделать для подобного?
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('text', function()
        bool = not bool
        sampAddChatMessage(bool and 'Active' or 'Deactive', -1)
    end)
    while true do wait(0)
        if bool then
            for i = 0, 2048 do
                if sampIs3dTextDefined(i) then
                    local pp = {sampGet3dTextInfoById(i)}
                    if pp[1]:match('Помощь') then
                        if not sampIsCursorActive() then
                            setVirtualKeyDown(18, true)
                            wait(500)
                            setVirtualKeyDown(18, false)
                            wait(500)
                        end
                    end
                end
            end
        end
    end
end
в этом случае лучше без самп евенста
 

linmsqn

Участник
Автор темы
337
9
Lua:
function main()
    repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand('text', function()
        bool = not bool
        sampAddChatMessage(bool and 'Active' or 'Deactive', -1)
    end)
    while true do wait(0)
        if bool then
            for i = 0, 2048 do
                if sampIs3dTextDefined(i) then
                    local pp = {sampGet3dTextInfoById(i)}
                    if pp[1]:match('Помощь') then
                        if not sampIsCursorActive() then
                            setVirtualKeyDown(18, true)
                            wait(500)
                            setVirtualKeyDown(18, false)
                            wait(500)
                        end
                    end
                end
            end
        end
    end
end
в этом случае лучше без самп евенста
не работает чота