Перейти к публикации

В ближайшее время постараюсь разобраться с картой сервера/ЛК/бб кодами

Внимание, с 14 февраля до 20 февраля могут проходить работы на сервере, где также находится лаунчсервер. В связи с этим авторизация в лаунчере может не работать

  • 0
alexlarex

Нужна помощь (функция для поиска rednet устройств по запросу)

Вопрос

Эту функцию я хотел использовать что-бы просмотреть доступные для планшета компы на "базе" которую можно будет контролировать через этот планшет. Каждый комп получивший сообщение "info" по протоколу pass отправляет сообщение со своим названием по такому-же протоколу на планшет, при запуске пишет ошибку index expected, got nil в строке result[num][1] = id 

local function searchCont(pass)
  
  local result = {{},{}}
  local temp = {}
  local num = 1
  
  rednet.broadcast("info", pass)
  timeOut = os.startTimer(5)
  
  while true do  
    ev, id, m, p = os.pullEvent()
    
    if ev == "rednet_message" and p == pass then
      result[num][1] = id
      result[num][2] = m
      num = num + 1
    
    elseif ev == "timer" and id == timeOut then
      break
    
    end  
    
  end
  
  print("Search Finished")
  return result
  
end

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 ответа на этот вопрос

Рекомендованные сообщения

  • 0

А как тогда объявить что это массив массивов?

Можно так

   if ev == "rednet_message" and p == pass then
      result[num]={}   ----------добавь эту строчку
      result[num][1] = id
      result[num][2] = m
      num = num + 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ты резервируешь место для двух ответов

 local result = {{},{}}

Если придет третий, получишь исключку

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Ты резервируешь место для двух ответов

 local result = {{},{}}

Если придет третий, получишь исключку

 

А как тогда объявить что это массив массивов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

 

Можно так

   if ev == "rednet_message" and p == pass then
      result[num]={}   ----------добавь эту строчку
      result[num][1] = id
      result[num][2] = m
      num = num + 1

А result в начале объявить просто как массив. Спасибо

local result = {}

Кстати потом думаю все это на очки вывести, тогда будет вообще круто

Изменено пользователем alexlarex

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×