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

[SoC] Ковыряемся в файлах


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

В общем, если собрать увод объекта в оффлайн ручками самостоятельно, и возврат оттуда также ручками самостоятельно, то от ряда приблуд поздних Артосо-модулей, и от требований к class_registra-ции, можно избавиться.
Но работу с оффлайн-онлайн переходами придется писать самостоятельно в этом случае.

Только что, Kirgudu сказал:

А это - STATE_Write.

Но это ведь базовый метод, который можно вызывать у любого серверного объекта.
Зачем скриптовые биндеры?

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

Вот как раз чтобы не писать руками в каждом необходимом случае. :) Один раз поправил нужные биндеры - и затем хоть сотню разных однотипных объектов в разных местах кода и с разными условиями перемещай, коллбэк сделает всё за тебя.
Не знаю. Мне это кажется достаточно удобным. Зависит от требований к масштабируемости.

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

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

Вообще если в предельно упрощенном виде.
Модуль Артоса читает нетпакет объекта методом STATE_Read,
Позволяет изменить там некоторые параметры (Предоставляя более-менее удобный доступ к полям, а не по hex-смещению)
Записывает эти параметры в нетпакет методом STATE_Write
После чего надо увести объект в оффлайн
И затем ввести его в онлайн, чтобы сделанные изменения применились.
 

В принципе, всю эту последовательность действий спокойно делали до всяких Артосо-модулей, правда тогда это выливалось в огромные простыни кода, но тем не менее. Оно работало и в голом виде, и без скриптовых биндеров на серверный объект.
А 1.0004 не всем классам позволяет вообще дать такой биндер.

И ранние версии Артосо-модулей еще работали на хард-уровне, позволяя просто "читать нетпакет какого-то объекта", и затем "писать нетпакет какого-то объекта", на свой страх и риск, полагаясь на то что юзер знает что делает. Правда, накосячив можно было получить последствия любой степени неожиданности, но это работало с любым объектом. Вообще любым.

5 минут назад, Kirgudu сказал:

Мне это кажется достаточно удобным

Да никто ж не спорит. Удобно, и с "защитой от дурака", сделано.
Но в 1.0004 нельзя биндер сделать на некоторые вещи. Что тогда?)

  • Согласен 1

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

2 минуты назад, div сказал:

@Kirgudu, а вес (массу) m_netpk для npc поменять нельзя, так же?

Масса, емнип, есть только для физических объектов в state части их пакета.

Свои работы и совместные проекты: ИнструментOGSM CSFinal StrokeHARDWARMOD

Полезное: модули АртосаXML парсер

@div обрати внимание:

6 минут назад, Zander_driver сказал:

После чего надо увести объект в оффлайн

и

6 минут назад, Zander_driver сказал:

И затем ввести его в онлайн, чтобы сделанные изменения применились.

Эти два действия НЕЛЬЗЯ делать сразу. Тогда ты их просто обнуляешь.

Сначала увести в оффлайн. Потом подождать один апдейт. Потом вводить в онлайн. А не сразу-подряд в одном блоке кода.

  • Полезно 1

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, @Kirgudu, то есть, с npc проблема, что они анимацмей управляются? Хочешь npc, который над локацией, нужно как-то с анимацией это химичить?

@div Думаю что нет таких анимаций.

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

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, нет возможности такую создать, или нет в игре? Я просто с анимациями в этой игре еще работал, но если принцип схож с общими правилами для разных игр, то должна быть родительская кость, которая определяет положение в пространстве...

@Zander_driver, @Kirgudu, кстати, а вентилятор из примера спокойно зависает в воздухе без всяких изменений флагов, пока ГГ его не затронет...

 

Скрытый текст

screen.jpg

 

  • Согласен 1
19.12.2023 в 21:47, Купер сказал:

@EugenXS12_12 , slot = X забыл закомментировать в конфиге. В оригинале он хитро "скрытый" от ГГ, ну так и вот.

Закомментировать это всмысле поставить точку с запятой?

  • Согласен 1

Возрождаем ТЧ

@Zander_driver, @Kirgudu, подскажите, ранее была информация, о том, что изменяет m_netpk можно менять по HEX значению. Я так понимаю, речь про смещение в памяти? Можно узнать, как вычислить это смещение? Хочу попробовать заморозить значение этой ячейки памяти через сторонние программы, и проверить, упадет тогда объект или нет? :)

Изменено пользователем div
58 минут назад, div сказал:

Можно узнать, как вычислить это смещение?

Методом научного тыка.

Тут на форуме есть темка с X-Ray Extensions, как раз для любителей таким заниматься. Там и методы для доступа к определенным байтам клиентских и серверных объектов вроде есть. Скачай, поставь, играйся...

Прочитал из объекта тыщу разных чисел и сидишь разбираешься что есть что, для чего, и куда... я в 2014-16 году с этим наигрался.

Ну и, строго говоря этими методами пишешь уже не в нетпакет, а непосредственно в объект. Что в каком-то смысле удобнее - избавляет от телодвижений с входом-выходом в онлайн.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, нашел тему про X-Ray Extensions.

 

Цитата

Версии игры, поддерживаемые на данный момент:
ТЧ (патч 1.0006): xrGame.dll, XR_3DA.exe, xrRender_R1/2

 

:WhiteVoid_2:  что-то с версиями как-то не везет...

 

Цитата

Прочитал из объекта тыщу разных чисел и сидишь разбираешься что есть что, для чего, и куда... я в 2014-16 году с этим наигрался.

 

Я пытался найти ячейки в памяти отвечающие за значение координат объекта (например, obj:position().x), но не смотря на то, что искал через условия ">" и "<", так как это не целые числа, найти конкретную ячейку не получилось.

2 минуты назад, div сказал:

что-то с версиями как-то не везет...

Это верный признак того, что железо пора бы все-таки обновить...

  • Согласен 2

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, @Kirgudu, можно еще вопрос тогда, пока поиск значения оставлю на второй вариант.

 

Нет ли В ТЧ возможности создать объект, который будет гибридным классом? То есть, например npc с физ. оболочкой, или наоборот какой-то объект, который можно сделать на npc похожим? Назначить модель npc физ. объекту, я так понимаю, не большая проблема, а диалог с физ. объектом можно вести?

3 минуты назад, Zander_driver сказал:

Это верный признак того, что железо пора бы все-таки обновить...

Есть такое в планах... :)

Цитата

@Zander_driver, нашел тему про X-Ray Extensions.

 

Цитата

Версии игры, поддерживаемые на данный момент:
ТЧ (патч 1.0006): xrGame.dll, XR_3DA.exe, xrRender_R1/2

 

:WhiteVoid_2:  что-то с версиями как-то не везет...

Хотя, data.object_flags - это же будет целое значение с размером 1, 2 или 4 байта. Скорее всего, 4... Попробую найти так :)

Изменено пользователем div
44 минуты назад, div сказал:

Нет ли В ТЧ возможности создать объект, который будет гибридным классом?

Через движок.

А это исходники, Visual Studio, C++, в общем выгоднее опять же взять уже готовый OGSR, чтобы не переделывать с нуля то что там уже давно сделали.

  • Согласен 1
  • Полезно 1

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine / Мимокрокодил.

Я понял что моя старая подпись что-то нарушает. Удалил все ссылки.

@Zander_driver, @Kirgudu, в общем, посмотрел я за изменением data.object_flags:

 

До внесения изменений это значение равно -65, а после bit_and с bit_not(128) оно равняется -193. И далее оно так и остается -193. Значит, заморозка значения самого data.object_flags смысла не имеет, как я понял...

FATAL ERROR
 
[error]Expression    : (*elements.begin())->numberOfGeoms()
[error]Function      : CPHShell::preBuild_FromKinematics
[error]File          : E:\stalker\patch_1_0004\xr_3da\xrGame\PHShell.cpp
[error]Line          : 616
[error]Description   : No physics shapes was assigned for model or no shapes in main root bone!!!

 

Здравствуйте, есть ли способ узнать из за какой модели оружия происходит вылет? Имеется добавленное и замененное оружие, раньше такого не было. 

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

57 минут назад, Связистт сказал:

patch_1_0004

Интересно, в каком году 4 патч уже считался чем-то не очень хотя бы из-за вылетов по граф поинтам... Ну ребят, вы чего...

  • Согласен 1

Нужен 3D-артист для правок геометрии локаций.
Кто может помочь - пишите в ЛС.

возможен ли вылет из за изменения этих параметров

---PHYSICS-----------------------------------------------------------
ph_box0_center                     = 0.0,  0.9,  0.0
ph_box0_size                      = 0.30, 0.9,  0.30
ph_box1_center                      = 0.0,  0.6,  0.0
ph_box1_size                      = 0.37, 0.6,  0.37

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

Комментарии могут оставлять только зарегистрированные пользователи

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

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

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

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

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