Перейти к содержимому

Лидеры


Популярный контент

Показан контент с высокой репутацией 25.12.2022 в Сообщения

  1. 1 балл
    Теперь стало понятнее. Для поиска ошибки надо задаться вопросом, что делает каждая из операций. #rad >= 2 проверяет количество игроков в зоне действия радара. Но что делает rad.distance <= 7? Ведь поле .distance не существует в таблице rad. Если ты хочешь проверить удалённость игрока от радара, то это надо делать для каждого из игроков. То есть, надо перебрать игроков в таблице (возможно, всех), проверить удалённость каждого из них и посчитать их количество, набрав хотя бы двух. Готовый код может выглядеть, например, таким образом: -- получаем список игроков в зоне действия радара local players = radar.getPlayers() -- вычисляем количество игроков в комнате local playersInRange = 0 -- имеет смысл считать, если найдено не менее двух игроков if #players >= 2 then -- перебираем всех найденных игроков for _,player in ipairs(players) do -- считаем только игроков в комнате if player.distance <= 7 then playersInRange = playersInRange + 1 -- останавливаем пребор, если значение счётчика достаточно для срабатывания условия if playersInRange >= 2 then break end end end end -- принимаем окончательное решение и выводим его на экран if playersInRange >= 2 then ... else ... end Работоспособность кода я не проверял, т.к. основной моей целью было показать именно алгоритм.
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...