Перейти к контенту

Zones Editor


Malandrinus

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

@Malandrinus, правки движка (помимо колбэков на клавиши) необходимы для добавления двух функций, обеспечивающих получение данных объекта: obj.get_go_float и matrix().mul_43.

Если бы ты дал немного больше информации о том, что можно было бы сделать скриптами (т.е. что требуется от доп.функций) то можно реализовать это уже доступными способами.

obj.get_go_float - мною уже почти реализовано при помощи нет-пакетов, неясны остались индексы 1,4,5,6 (из 0...15). Можешь, уточнить что они должны означать в контексте векторов позиции и направления?

 

И уточни, плз, что должен делать метод matrix().mul_43 по сравнению с уже имеющимся mul.

Тогда можно сделать не привязанный к движку вариант zone-информера (даже под CS/CoP), позволяющего в игре наблюдать размеры/положения различных зон-объектов, что при тестах/отладках игры порою сильно помогает (особенно когда не известны параметры заспавненных зон/аномалий, а справляться в all.spawn'e иль SDK - потеря времени).

Изменено пользователем Artos
  • Нравится 1

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение

Спасибо за пояснения. Собственно замену get_go_float уже попытался реализовать, но именно предположения о возможных искажениях при сдвигах объекта дали повод сомнениям.

Вот как выглядит заглушка:

local function get_floats(obj)

  local floats = {}
  if type(obj.get_go_float) == 'function' then --/#!#
    for i=0,15 do
      floats = obj:get_go_float(80 + i*4)
    end
  else --/ stub
    local pos, dir = obj:position(), obj:direction()  --log("get_floats: obj=[%s] pos=[%s] dir=[%s]", obj:name(), pos, dir, "") --/#~#
    floats = {
      [ 0]=math.abs(dir.z), [ 1]=-0   , [ 2]=math.abs(dir.x), [ 3]=0, --/ 1:?
      [ 4]=              0, [ 5]= 1   , [ 6]=              0, [ 7]=0, --/ 4:? , 5:? , 6:?
      [ 8]=          dir.x, [ 9]=dir.y, [10]=          dir.z, [11]=0,
      [12]=          pos.x, [13]=pos.y, [14]=          pos.z, [15]=1
    }
  end
  return floats --/>
end

достаточно ли это корректно или могут быть значительные искажения отображения от реального положения объекта?

"Но иногда найдется вдруг чудак, этот чудак все сделает не так ..."© Машина времени

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


Ссылка на сообщение
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...