Работа с таблицами, антифлуд

shadow80962

Известный
Автор темы
129
14
Версия MoonLoader
.026-beta
Пытаюсь сделать что если AFK лидера выше 600 сек отправлялось сообщение, но как сделать чтобы не флудило после обновление строк в чате.
Указал в заголовке о работе с таблицами так как возможно сразу несколько человек могут превысить норму

Lua:
    if text:find("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+)") then -- Не АФК
        nickname_leader, nickname_id, fraction, number_phone = text:match("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+)")
 
        return false
      end
 
      if text:find("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+){......} | AFK%: (%d+) секунд") then - В АФК
        nickname_leader, nickname_id, fraction, number_phone, count_afk = text:match("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+){......} | AFK%: (%d+) секунд")
       
        if count_afk >= 600 then
           SendMessage(format("Nick %s AFK %d", nickname_leader, count_afk))
        end
        return false
    end
 

sdfy

Известный
346
228
я бы сделал так
Lua:
local t = {}

if text:find("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+){......} | AFK%: (%d+) секунд") then
    local nickname_leader, nickname_id, fraction, number_phone, count_afk = text:match("{......}(.+)%[(%d+)%] %- {......}(.+){......} | Номер: (%d+){......} | AFK%: (%d+) секунд")
    
    if count_afk >= 600 and not t[nickname_leader] then
        SendMessage(format("Nick %s AFK %d", nickname_leader, count_afk))
        t[nickname_leader] = true
    else
        t[nickname_leader] = false
    end
    return false
end
 
  • Грустно
Реакции: qdIbp