количество элементов

Neil_

Известный
Автор темы
204
32
Версия MoonLoader
Другое
Как вывести 1 раз сколько премиум игроков? Я чёт пробовал ничё не получилось, выводит от 1 до количества игроков с премкой

Lua:
function sampev.onServerMessage(color, text)
    if text:find('(%d+)%. ([a-zA-Z_]+)%[%d+%]') then
        local nick_premium = string.match(text, '%d+%. ([a-zA-Z_]+)%[%d+%]')
        if nick_premium then
            table.insert(list_premium, nick_premium)
        end
        sampAddChatMessage('Премиум игроков: ' .. #list_premium, -1)
        return false
    end
end
 
Решение
не тестил, но должно работать
Lua:
local sampev = require("samp.events")

local last_get_premium_list_time = nil
local delay_before_print = 500 -- задержка перед выводом после последнего удачного полученного ника
local list_premium = {}

function main()
  while true do
    wait(0)
    if (last_get_premium_list_time and os.clock() - last_get_premium_list_time) >= delay_before_print then
      sampAddChatMessage('premium players: ' .. tostring(#list_premium), -1)
      list_premium = {} -- чищу лист после вывода чтоб не было повторений
      last_get_premium_list_time = nil
    end
  end
end

function sampev.onServerMessage(color, text)
  if text:find('(%d+)%. ([a-zA-Z_]+)%[%d+%]') then
    local nick_premium = string.match(text, '%d+%...

nishino akane

Участник
21
6
не тестил, но должно работать
Lua:
local sampev = require("samp.events")

local last_get_premium_list_time = nil
local delay_before_print = 500 -- задержка перед выводом после последнего удачного полученного ника
local list_premium = {}

function main()
  while true do
    wait(0)
    if (last_get_premium_list_time and os.clock() - last_get_premium_list_time) >= delay_before_print then
      sampAddChatMessage('premium players: ' .. tostring(#list_premium), -1)
      list_premium = {} -- чищу лист после вывода чтоб не было повторений
      last_get_premium_list_time = nil
    end
  end
end

function sampev.onServerMessage(color, text)
  if text:find('(%d+)%. ([a-zA-Z_]+)%[%d+%]') then
    local nick_premium = string.match(text, '%d+%. ([a-zA-Z_]+)%[%d+%]')
    if nick_premium then
      table.insert(list_premium, nick_premium)
      last_get_premium_list_time = os.clock()
    end
    return false
  end
end