Перейти к публикации
Форум - ComputerCraft
NEO

opentechnology Addon OpenTechnology (новости, идеи, баги, предложения)

  

26 пользователей проголосовало

У вас нет прав на голосование в этом опросе, или на просмотр результатов опроса. Пожалуйста, войдите или зарегистрируйтесь для голосования в опросе.

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

Вот одно из предложений:

http://computercraft.ru/topic/1977-rekvest-apgreida-kompas-dlia-os/

Для поддержания чистоты темы предлагаю все обсуждение этого предложения вести в его теме.

Вкратце суть: предлагается введение апгрейда для планшета, который позволяет получать направление, в котором смотрит игрок.

Вот этот код позволяет определять такое направление.

local core = {}
core.tablet = cmp.tablet
core.scanner = cmp.geolyzer
core.current_direction = nil

core.directions = {}
core.directions.vertical = {
  {limit = -45,
  include_margin = false,
  side = s.top},
  {limit = 45,
  include_margin = false,
  side = nil},
  {limit = 90,
  include_margin = true,
  side = s.bottom}
}

core.directions.horizontal = {
  {limit = 45,
  include_margin = false,
  side = s.south},
  {limit = 135,
  include_margin = false,
  side = s.west},
  {limit = 225,
  include_margin = false,
  side = s.north},
  {limit = 315,
  include_margin = false,
  side = s.east},
  {limit = 360,
  include_margin = true,
  side = s.south}
}

function core.comparator(limits, value)
  for lim_index, limit in ipairs(limits) do
    if (limit.include_margin and limit.limit >= value)
       or (not limit.include_margin and limit.limit > value)
    then
        return limit
    end
  end
end

function core.get_direction()
  local pitch = core.tablet.getPitch()
  local yaw = core.tablet.getYaw()
  if yaw < 0 then yaw = yaw + 360 end
  local dirv = core.comparator(core.directions.vertical, pitch)
  local dirh = core.comparator(core.directions.horizontal, yaw)
  if dirv.side then
    return dirv.side, dirh.side
  else
    return dirh.side
  end
end

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


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

TL;DR: у планшета и так есть метод, который позволяет определить, куда смотрит игрок.

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


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

TL;DR: у планшета и так есть метод, который позволяет определить, куда смотрит игрок.

Судя по коду, он как раз и получает информацию о направлении взгляда через методы tablet.getPitch() и tablet.getYaw().

Остальное же "TL;DR" лишь огрубляет информацию до аналогичной navigation.getFacing().

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

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


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

может я что-то не понимаю, но какое отношение к моду OT имеет компас какой-то несуществующий, на который ссылка битая, игрок, который смотрит куда-то из планшета на луа, и особенно какие-то мультики из аниме?

пора, видимо, ридонли выдавать временно для начала некоторым гражданам за флуд.

 

п.с. и написали же  - все скрины, медиа, видео, портянки и прочее запихивать в тег спойлера. Где и как еще это более понятно написать? :unsure:

Или адепты субкультуры аниме только язык мемов понимают и читать не умеют?

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


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

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

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

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

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

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

Войти

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

Войти сейчас

×