Проверка на одинаковые сообщения

Fasmin

Известный
Автор темы
213
12
Версия MoonLoader
.026-beta
Как сделать проверку, если в чате было получено 3 одинаковых сообщения?
Что то типо антифлуда, только мне нужна именно проверка на то, чтобы сообщения были точь в точь одинаковые (без проверки за сколько времени были они отправлены)
 
Решение
Ну если прям очень просто, то примерно так:

Lua:
local lastText, sameCount = nil, 0

function hook.onServerMessage(color, text)
    if text == lastText then
        sameCount = sameCount + 1
    else
        lastText, sameCount = text, 1
    end

    if sameCount == 3 then
        -- сработало: 3 идентичных сообщения подряд
    end
end

Просто кладешь последнее сообщение в переменную и сравниваешь следуюющее с сохраненным.

TheMY3

Известный
175
96
Ну если прям очень просто, то примерно так:

Lua:
local lastText, sameCount = nil, 0

function hook.onServerMessage(color, text)
    if text == lastText then
        sameCount = sameCount + 1
    else
        lastText, sameCount = text, 1
    end

    if sameCount == 3 then
        -- сработало: 3 идентичных сообщения подряд
    end
end

Просто кладешь последнее сообщение в переменную и сравниваешь следуюющее с сохраненным.