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

X-Ray extensions


Malandrinus

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

Всем привет, коллеги!

Обозначилась такая проблема. На наземной локации есть подземелья. Сетка проложена везде. Сетка без ошибок. Графпойнты везде расставлены. Верхние ноды не имеют связи с нижними 100%. Но при сэйв/лоаде неписи, находящиеся на локации вверху (на земле), иногда проваливаются в подземелья. Потом они спокойно идут на ту точку, откуда "упали". Такое же было замечено в х16 в главном многоэтажном зале.

В теме по SDK было выдвинуто предположение, что в движке объектам назначаются ноды, лежащие ниже объекта. Если позиция объекта окажется ниже координаты ноды, то назначится нижележащая нода.

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

 

Платформа ТЧ 1.006 с x-ray extensions.

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

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


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

Дополнительная проверка показала, что в сейв ложатся левел- и гейм-вертексы нижнего уровня, а координаты верхнего. Выходит, "падение" происходит еще до или в сам момент сохранения.

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


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

Всем доброго дня!

Пишу сюда, может не для меня одного этот вопрос актуален...

Есть жгучее желание  и потребность подключить к модернизированному движку в его текущей редакции библиотеки расширений LUA (io, os, package,XML...) и библиотеки OGSE, но знаний и понимания не хватает. Разместил библиотеки Lua_extensions и OGSE у себя и честно пытался в _g.script инициализировать их по образу и подобию. Мои танцы с бубном вокруг этой темы в лучшем варианте закончились примерно так:

 

file: .
file: ..
file: LuaXML_lib.dll
--try to load LuaXML_lib.dll
fname: LuaXML_lib
~~ loaded
file: ogse.dll
--try to load ogse.dll
fname: ogse
!! error, msg : error loading module 'ogse' (Не найдена указанная процедура.

)
file: xp
Starting engine...

 

Чтобы дальше не заниматься шаманством, прошу людей сведущих дать развернутые инструкции по подключению этих библиотек и оформлению "шапки" _g.script.

Заранее благодарен.

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

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


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

Всем доброго времени суток.

Возникли вопросы по использованию

callback["before_hit"] = 152
callback["npc_hit"] = 153

В первый, похоже, передаются два указателя. Во второй - один указатель.

Заранее благодарен за информацию по методам дальнейшей обработки информации в этих коллбеках.

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


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

@dsh Спасибо, такой функции у меня нет, но с горем пополам мне удалось вычитать и даже менять параметры хита в 152-м коллбэке. Всё чудесно, но поставленной цели добиться всё же не удалось. А цель была примерно следующая - подменить параметры хита таким образом, чтобы он наносился якобы от другого лица. 

Есть ситуация когда актер - изменился в лице, сделал пластику, вселился в чужое тело (нужное выбрать) - словом, ну никак не могут окружающие знать, что это именно ГГ нанес удар. Так вот, менять параметры предхита удается любые, но это не возымело желаемого эффекта. Единственный параметр  who по смещению +24 =  pointer на обидчика, судя по всему. Вот не соображу как его перенаправить с актера на саму жертву или еще на кого-нибудь. Заранее благодарен за любую информацию по данной теме.

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


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

@dsh изменение whoID ни на что не влияет. Полагаю, что нужно изменить  who по смещению +24 =  pointer на обидчика. О чем я выше и написал. Во всяком случае, это единственное, что не удалось подменить... Ибо не ясно на что, собственно, менять.

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

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


Ссылка на сообщение
10 часов назад, dsh сказал:

и актор исправно становился виновником. who я пытался менять, но там были какие-то проблемы из-за этого, т.ч. я это убрал, и так работало.

Это я вижу на примерах, а вот обратная задача почему-то не решается. А проблема "именных пуль" на самом деле была и остается весьма актуальной, имхо. Ибо это абсурд, когда не успеешь чихнуть, а вся Зона уже в курсе... Но если технически это невозможно запатчить, то придется и дальше терпеть это читерство.

В ОГСЕ была функция получения указателя на объект в памяти, по всей видимости.

write_memory_int(db.actor:cast_game_object(), p_s_hit, hit_offset.who)

Хорошо бы что-то подобное cast_game_object() вмонтировать в текущий xray-extensions-master-portable.

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

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


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

Да, 

15 часов назад, Graff46 сказал:

Пропатчил с правкой инерции при прицеливании, при прицеливании вверх или вниз сбивается центрирование мушки с целика...

Да, есть такое дело, но это мелочи, украшательство. Есть, имхо, две вещи, которые могли бы существенно повлиять на дальнейший ход разработки всех модов на базе продвинутого двигла:

1. Решение вопроса получения и подмены указателя на "обидчика" в коллбеке предхита. Дало бы шанс избавиться от читерных "именных" пуль.

2. Функция получения объекта главного игрового окна. Чтобы получить доступ к элементам худа главного окна (миникарта и т.д.). 

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

  • Нравится 1

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


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

Очень жаль, что проект загнулся... Хорошее было начинание, здравое - дать разработчикам возможность подобрать для своих идей наиболее оптимальное сочетание новых возможностей. Нас, например, устраивает нынешний набор функционала на 98%. Просто хотелось бы еще добавить продвинутую работу с предхитом из ОГСЕ, но без тепловизоров, дополнительных слотов и т.п. И не помешал бы доступ к главному игровому окну из NLC, но только это и ничего больше... Но надежда никогда не умирает в сердце сталкера. Авось, на нашем веку еще найдутся энтузиасты и продолжат это благое для всех дело.

  • Согласен 1

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


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

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