помогите с кодом

- |2347| -

Известный
Автор темы
368
126
Версия MoonLoader
.026-beta
помогите доделать код который будет запускать таймер на один час. При выключении скрипта, таймер должен сбрасываться. Время таймера должно отображаться на экране.

код:
function chestss()
 while true do
        wait(0)

        if work then
            sampAddChatMessage('[Информация] {FFFFFF}Сейчас откроется инвентарь.', 0xFFFF00)
            sampSendChat('/invent')
            wait(200)
            for i = 1, 6 do
                if not work then break end
                sampSendClickTextdraw(textdraw[i][1])
                wait(textdraw[i][3])
                sampSendClickTextdraw(textdraw[i][2])
                wait(textdraw[i][3])
            end
            wait(100)
            sampAddChatMessage('[Информация] {FFFFFF}Запушен таймер на 1ч.', 0xFFFF00)
            wait(3900000)
        end

    end
end
 

nxghtmxre

Участник
14
5
Код:
local font_flag = require('moonloader').font_flag
local work = true
local timerStart = 0
local timerDuration = 3600000
local timerActive = false
local myfont = nil
local screenX, screenY = getScreenResolution()

function main()
    while not isSampAvailable() do wait(100) end

    myfont = renderCreateFont('Arial', 14, font_flag.BOLD + font_flag.SHADOW)

    sampRegisterChatCommand("chest", function() toggleWork() end)
    
    while true do
        wait(0)

        if work and not timerActive then
            sampAddChatMessage('[Информация] {FFFFFF}Сейчас откроется инвентарь.', 0xFFFF00)
            sampSendChat('/invent')

            wait(200)

            for i = 1, 6 do
                if not work then break end
                sampSendClickTextdraw(textdraw[i][1])
                wait(textdraw[i][3])
                sampSendClickTextdraw(textdraw[i][2])
                wait(textdraw[i][3])
            end

            wait(100)
            
            sampAddChatMessage('[Информация] {FFFFFF}Запущен таймер на 1ч.', 0xFFFF00)
            timerStart = os.clock()
            timerActive = true
        end

        if timerActive and (os.clock() - timerStart) * 1000 >= timerDuration then
            timerActive = false
            sampAddChatMessage('[Информация] {FFFFFF}Таймер завершён.', 0xFFFF00)
        end

        if timerActive then
            local timeLeft = timerDuration - ((os.clock() - timerStart) * 1000)
            local minutes = math.floor(timeLeft / 60000)
            local seconds = math.floor((timeLeft % 60000) / 1000)

            local posX = 20
            local posY = screenY / 2

            renderFontDrawText(myfont, string.format("Таймер: %02d:%02d", minutes, seconds), posX, posY, 0xFFFFFFFF)
        end
    end
end

function toggleWork()
    work = not work
    if not work then
        timerActive = false
        sampAddChatMessage('[Информация] {FFFFFF}Таймер сброшен.', 0xFFFF00)
    else
        sampAddChatMessage('[Информация] {FFFFFF}Скрипт активирован.', 0xFFFF00)
    end
end