RenderText

Fasmin

Участник
Автор темы
175
6
Версия MoonLoader
.026-beta
Не могу понять почему не успевает рендоваться функция renderFontDrawText, помогите

код:
ev = require("lib.samp.events")

function main()
    while true do wait(0)
        if render then
            if render_time < 1 then
                render = false
            else
                render_time = render_time-1
                wait(1000)
            end
            renderFontDrawText(font, render_time, 50, 343, 0xFFAAFFFF)
        end
    end
end

function ev.onServerMessage(color, text)
    if text:find("Отправил: Nick_Name%[%d+%]") then
        render_time = 61
        render = true
    end
end
 

Fasmin

Участник
Автор темы
175
6
Суть в том, что на экране должны быть цифры 60 и отниматься до 0

wait(500) убери, ты рисуешь в одном кадре и 500 мс чего-то ждешь
Мне надо чтобы число уменьшалось на 1 за 1 секунду
 

wojciech?

Известный
Проверенный
395
291
Суть в том, что на экране должны быть цифры 60 и отниматься до 0
Lua:
-- в событии
render_time = os.clock()

-- в цикле
if render_time then
    local delta = os.clock() - render_time
    if delta < 60 then
        renderFontDrawText(font, ("%d"):format(60 - delta), 50, 343, 0xFFAAFFFF)
    else
        render_time = false
    end
end
 
  • Нравится
Реакции: chapo

Fasmin

Участник
Автор темы
175
6
Lua:
-- в событии
render_time = os.clock()

-- в цикле
if render_time then
    local delta = os.clock() - render_time
    if delta < 60 then
        renderFontDrawText(font, ("%d"):format(60 - delta), 50, 343, 0xFFAAFFFF)
    else
        render_time = false
    end
end
Как понять сначала записываем в переменную render_time - os.clock, а потом от os.clock() отнимаем render_time?
И что значит ("%d"):format?
 

kultizdat.

Известный
158
12
Как понять сначала записываем в переменную render_time - os.clock, а потом от os.clock() отнимаем render_time?
И что значит ("%d"):format?
Через os.oclock() делается таймер, как раз как тебе надо - каждую секунду отнимается секунда (тавтология)
Логика такая: от текущего времени os.clock(), мы отнимаем то время(render_time), когда сработал паттерн на строку(например)
render_time прописывать там, где хочешь начать выполнение таймера
("%d):format - выводит целое число
 
Последнее редактирование:
  • Нравится
Реакции: wojciech?