Почему криво рандомит время?

solution

Участник
Автор темы
71
8
Версия MoonLoader
Другое
Нужно чтобы бот заходил в xx:03-18 минут, рандомно от третьей до 18 минуты часа, но почему-то оно пикает всех ботов в одно время

Lua:
 onLoad = function()
 
 getLastUpdate()
  get_telegram_updates()

  newTask(function ()
    while true do wait(55)
      check_update ();
    end
  end)

  newTask(function ()
    while true do wait(220)
      math.randomseed(os.clock())
      local randomconnect = tostring(math.random(8, 18))
      if os.date('%M') == randomconnect then
        if not HEADWAY.CONNECT then
          HEADWAY.CONNECT = true;
          reconnect(2000);
        end
      elseif os.date('%M') == '01' then
        if HEADWAY.CONNECT then
          HEADWAY.CONNECT = false;
          reconnect(2000);
        end
      end
    end
  end)
 
Решение
Нужно чтобы бот заходил в xx:03-18 минут, рандомно от третьей до 18 минуты часа, но почему-то оно пикает всех ботов в одно время

Lua:
 onLoad = function()
 
 getLastUpdate()
  get_telegram_updates()

  newTask(function ()
    while true do wait(55)
      check_update ();
    end
  end)

  newTask(function ()
    while true do wait(220)
      math.randomseed(os.clock())
      local randomconnect = tostring(math.random(8, 18))
      if os.date('%M') == randomconnect then
        if not HEADWAY.CONNECT then
          HEADWAY.CONNECT = true;
          reconnect(2000);
        end
      elseif os.date('%M') == '01' then
        if HEADWAY.CONNECT then
          HEADWAY.CONNECT = false;
          reconnect(2000);
        end
      end...

whyega52

Eblang головного мозга
Модератор
2,870
2,852
Нужно чтобы бот заходил в xx:03-18 минут, рандомно от третьей до 18 минуты часа, но почему-то оно пикает всех ботов в одно время

Lua:
 onLoad = function()
 
 getLastUpdate()
  get_telegram_updates()

  newTask(function ()
    while true do wait(55)
      check_update ();
    end
  end)

  newTask(function ()
    while true do wait(220)
      math.randomseed(os.clock())
      local randomconnect = tostring(math.random(8, 18))
      if os.date('%M') == randomconnect then
        if not HEADWAY.CONNECT then
          HEADWAY.CONNECT = true;
          reconnect(2000);
        end
      elseif os.date('%M') == '01' then
        if HEADWAY.CONNECT then
          HEADWAY.CONNECT = false;
          reconnect(2000);
        end
      end
    end
  end)
Потому-что коэффициент рандома указывается через os.clock(), а у тебя боты скорее всего запускаются в одно время и следовательно коэффициент один
 
  • Нравится
Реакции: solution

solution

Участник
Автор темы
71
8
Потому-что коэффициент рандома указывается через os.clock(), а у тебя боты скорее всего запускаются в одно время и следовательно коэффициент один
т.е ты имеешь ввиду что именно когда я запускаю окна раксампа нужно чутка ждать и делать разрыв?
 

whyega52

Eblang головного мозга
Модератор
2,870
2,852
т.е ты имеешь ввиду что именно когда я запускаю окна раксампа нужно чутка ждать и делать разрыв?
Да, самый простой способ, наверное, запускать окна с каким-то промежутком
 
  • Нравится
Реакции: solution