Работа с текстдравами в LUA

Mico

Активный
Автор темы
251
48
Версия MoonLoader
.026-beta
Приветствую, я хочу к примеру, когда на текстдраве было 3:00 в /o сообщалось о чем то... допустил "/o текст" Может есть ссылка с функциями, или подобным?
1605343012636.png
 

chapo

чопа сребдс // @moujeek
Модератор
8,973
11,755
Попробуй так: (сам не тестил)

Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        td_time = sampTextdrawIsExists(2126)
        time_text = sampTextdrawGetString(2126)
        if td_time and time_text == '3:00' then sampSendChat('/o на таймере осталось 3 минуты!')
    end
end


Переходишь сюда, нажимаешь Ctrl+F, вводишь "textdraw"
1605343471579.png
 

Mico

Активный
Автор темы
251
48
Попробуй так:

Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        td_time = sampTextdrawIsExists(2126)
        time_text = sampTextdrawGetString(2126)
        if td_time and time_text == '3:00' then sampSendChat('/o на таймере осталось 3 минуты!')
    end
end


Переходишь сюда, нажимаешь Ctrl+F, вводишь "textdraw"
Посмотреть вложение 75702
попробую сейчас, благодарю.
 

chapo

чопа сребдс // @moujeek
Модератор
8,973
11,755
Немного переделал. Теперь будет писать нужный текст 1 раз.
Lua:
local stop = false

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        if sampTextdrawIsExists(2126) and sampTextdrawGetString(2126) == '3:00' and not stop then
             sampSendChat('/o осталось всего 3 минуты!')
            stop = true
        end
    end
end
 

Mico

Активный
Автор темы
251
48
Попробуй так: (сам не тестил)

Lua:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        td_time = sampTextdrawIsExists(2126)
        time_text = sampTextdrawGetString(2126)
        if td_time and time_text == '3:00' then sampSendChat('/o на таймере осталось 3 минуты!')
    end
end


Переходишь сюда, нажимаешь Ctrl+F, вводишь "textdraw"
Посмотреть вложение 75702
не сработало...
 

chapo

чопа сребдс // @moujeek
Модератор
8,973
11,755
не сработало...
попробуй тогда этот вариант:
Немного переделал. Теперь будет писать нужный текст 1 раз.
Lua:
local stop = false

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    while true do
        wait(0)
        if sampTextdrawIsExists(2126) and sampTextdrawGetString(2126) == '3:00' and not stop then
             sampSendChat('/o осталось всего 3 минуты!')
            stop = true
        end
    end
end
 

chapo

чопа сребдс // @moujeek
Модератор
8,973
11,755
не работает. Я походу понял, у сервера меняется ид текстдрава, то он 2125, то он 2126
Ну тогда получай список всех текстдравов и читай текст того, у которого нужное положение на экране