Как сделать антифлуд вывода сбщ?

Fasmin

Участник
Автор темы
112
2
Версия MoonLoader
.026-beta
Как сделать так, как на серверах если много раз отправляешь сообщение, то пишет не флудить, как сделать, чтобы допустим с sampAddChatMessage, если чел его много раз вводит или часто, не сообщение блокировалось, или же писало не флудить, типо чтобы было кд между сообщениями?
 

|| NN - NoName ||

Известный
1,049
630
Создашь переменную или массив. Делаешь таймер. После каждого написанного сообщения добавляешь к переменной +1, если переменная больше 5, то запрещаешь отправку. После как таймер кончиться, делаешь в переменной -1

Lua:
local f_time = os.clock()
local f_chat = 0
local sampev = require("lib.samp.events")
function main()
    if not isSampfuncsLoaded() or not isSampLoaded() then return end
    repeat wait(0) until isSampAvailable()
    while true do wait(0)
        if f_chat > 0 then
            if os.clock() >= (f_time + 5) then
                f_chat = f_chat - 1
            end
        end
    end
end
function sampev.onSendChat(message)
    if f_chat > 5 then
        return false
    end
    time()
end
function time()
    f_time = os.clock()
    f_chat = f_chat + 1
end

Код не проверял, писал на скорую руку, но примерно должно быть так.
 
Последнее редактирование: