Как сделать, так, чтобы скрипт отвечал всем с задержкой, если репорты отправили в одну секунду

Mico

Активный
Автор темы
251
48
Версия MoonLoader
.026-beta
Снова приветствую! Хотел бы спросить еще одно, допустим несколько человек в одну секунду написали в /rep 04, и я с помощью скрипта отвечаю, но как устранить проблему, у меня он ответит на 1 репорт, а дальше идет "Не флуди", то есть, нужно как то сделать, чтобы он отвечал на репорты, которые высылались в одну секунду с задержкой. Надеюсь на вашу помощь.
Lua:
function sampev.onServerMessage(color, text)
    if text:find('Жалоба от (%w+_?%w+)%[(%d+)%]: {FFCD00}04') then
        lua_thread.create(function()
            nickRep, idRep = text:match('Жалоба от (%w+_?%w+)%[(%d+)%]: {FFCD00}04')
                wait(500)
            sampSendChat("/pm "..idRep.." Желаю приятной игры, "..nickRep.."!")
        end)
    end
end
 
  • Нравится
Реакции: Vintik
Решение
Lua:
local answers = {}

function sampev.onServerMessage(color, text)
    if text:find('Жалоба от (%w+_?%w+)%[(%d+)%]: {FFCD00}04') then
        local nickRep, idRep = text:match('Жалоба от (%w+_?%w+)%[(%d+)%]: {FFCD00}04')
        answers[#answers + 1] = ('/pm ' .. idRep .. ' Желаю приятной игры, ' .. nickRep .. '!')
    end
end

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    local pm_timer = os.clock()
    while true do
        if #answers > 0 and os.clock() - pm_timer > 1.5 then -- вместо 1.5 ставишь задержку антифлуда (в секундах)
            pm_timer = os.clock()
            sampSendChat(answers[1])
            table.remove(answers, 1)...