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

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


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

@imcrazyhoudini , вот тут, к сожалению, не подскажу навскидку. Никогда в ту степь не заносило :biggrin:.

Если правильно понята вводная: сохранить сам партикл, но убрать его свечение?
Попробовать экспериментально до приемлемого уровня, перебирая доступные, пожалуй, будет быстрее всего. Благо, это всё-таки не геометрия уровня. Пересобирается достаточно быстро.

  • Спасибо 1
Ссылка на комментарий
11.12.2023 в 16:56, CiberZold сказал:

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

Так в том то идело что нпс стоит и не  двигается хотя оружие у него есть и патроны тоже есть

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

Ссылка на комментарий

Подключаются телепаты...

В консоли пресловутое:

stack trace:
Scheduler tried to update...

отсутствует?
Логика "жива"?

 

  • Согласен 1
Ссылка на комментарий

В саркофаге есть три двери с надписью посторонним вход воспрещён на табличке. Хочу, чтобы их можно было открывать и закрывать, но не выходит.

Секция двери в all.spawn:

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

[9726]
; cse_abstract properties
section_name = physic_object
name = sar_physic_object_0026
position = 36.3454475402832,0.0453383922576904,9.36894130706787
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 2502
distance = 0
level_vertex_id = 9864
object_flags = 0xffffffba
custom_data = <<END
[logic]
cfg = scripts\sar_door_metal_small_unlocked.ltx
END

; cse_visual properties
visual_name = physics\door\door_p

; cse_ph_skeleton properties

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link00,link01

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

Логика:

[logic]
active = ph_door@open

[ph_door@open]
locked = false
closed = false
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@close

[ph_door@close]
locked = false
closed = true
snd_open_start = metal_small_open
snd_close_start = metal_small_close_start
snd_close_stop = metal_small_close_stop
on_use = ph_door@open

 

Собственно, надписи открыть и закрыть исправно появляются, но дверь не двигается. Может, проблема в fixed bones?

 

UPD.: пробовал по-всякому, менял модель на решётку - по ходу геометрия уровня не пускает дверь нормально открываться. Снёс в итоге все три двери, не нужны они в таком виде.

Изменено пользователем Капрал Хикс
Ссылка на комментарий
14.12.2023 в 17:04, imcrazyhoudini сказал:

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

возможно сработает обычный шейдер как всем материал models\model

 

10 часов назад, EugenXS12_12 сказал:

Так в том то идело что нпс стоит и не  двигается хотя оружие у него есть и патроны тоже есть

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

Ссылка на комментарий
4 часа назад, Holy Light сказал:

как добавить больше слотов

У меня в подписи есть инвентарь на четыре больших оружейных слота: 

Накопано и накнопано -> OGSE -4slotapupsOGSE0693.

  • Нравится 3

Отношения между людьми- главная ценность в человеческом обществе.
Любая полученная информация- это только повод для размышлений, а не побуждение к действию.
Это должен знать каждый: уроки боевой подготовки Дяди Саши https://yadi.sk/d/60Ec2B06goLAE
Накопано и накнопано:https://yadi.sk/d/mzVY5jQEspwpt

Ссылка на комментарий

Всем привет прошу помощи! Восстановил детекторы в тч при помощи belt  = true в файле items. Добавил. А теперь не знаю как убрать внутренний детектор у гг(когда на поясе и в инвенторе нет детектора пиликанье возле аномалий все равно есть)

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

Ссылка на комментарий

Здравствуйте.

Каким образом можно поднять живого npc над поверхностью локации? Для actor есть возможность изменять координаты через set_actor_position, для npc я такой функции не нашел... set_const_force применить к живому npc тоже нет возможности, так как у живого npc:get_physics_shell() == nil :(

Ссылка на комментарий

@div, изменив нужное свойство в абстрактной части нет-пакета объекта.
Например, можно воспользоваться модулем m_netpk от Артоса (если мы говорим о ванильном движке; в модифицированных это, возможно, сделать куда проще).

Модуль можно взять здесь:

Авторский пример изменения координат см. в описании внутри архива с модулем.

  • Нравится 1
Ссылка на комментарий

@Kirgudu не знаю почему, но не получилось даже с примером из m_netpk > readme_m_netpk.txt:

У меня версия ТЧ 1.0004. Файлы из архива я разложил по папкам, дописал в конце функции start_game_callback в _g.script строку: m_netpk.attach(), тестирую так:

 

Полный код функции  test_abstract() из readme_m_netpk.txt скопировал в amk_mod.script, и вызываю ее из функции restore_sun(), где выводится сообщение от команды AMK TEAM при старте новой игры, но вентилятор не переносится :(

 

Хотя условия "if sobj then" и "if pk:isOk() then" выполняются - я проверил. Пробовал еще второй вариант с установкой колбэка с функцией, что есть в коде, но тоже не помогло :(

@Kirgudu , status для обоих вариантов тоже имеет значение true :(

Как еще можно найти возможную причину?

Изменено пользователем div
Ссылка на комментарий

@Kirgudu ,вы про:

Цитата

Для уже существующих объектов в игре:
     требуется после задания изменений свойст объекта, перевести объект в оффлайн и обратно в онлайн, что модулем делается автоматически.
     Изменения вступят в силу в момент выхода объекта в онлайн.

?

 

Я делал несколько тестов: вызывал функцию test_abstract() из бункера и возле Волка, так же после этого сохранялся и загружал это сохранение, но вентилятор все равно на месте...

 

Возможно, я не совсем понимаю, что нужно сделать, чтобы изменить статус :unknw:

Изменено пользователем div
Ссылка на комментарий
6 часов назад, div сказал:

У меня версия ТЧ 1.0004

А зачем?

Что за фанатизм искать себе проблемы там, где давным давно (!!!) Есть для них рабочие решения...

5 часов назад, div сказал:

после этого сохранялся и загружал это сохранение

Это не имеет никакого отношения к уводу объектов в оффлайн и затем в онлайн. Так ты наоборот стираешь из игры любые следы своих изменений... Если не сохранил их самостоятельно.

Тут давно всё есть.

Ищущий да обрящет.

5 часов назад, div сказал:

перевести объект в оффлайн и обратно в онлайн, что модулем делается автоматически.

Интересно, а как модуль это на 1.0004 сделает? Возможно я уже плохо помню, но без подключения к апдейту, там это нетривиальная задача, разве нет?

  • Нравится 2

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

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

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

@div, нет, я писал про пункты 1), 2) и 3) чуть пониже процитированной строки.
Но это действительно может быть совершенно не важно. Речь-то, как справедливо тут заметили, о версии 1.0004, а я на это не обратил внимания. Модуль Артоса предназначен для 1.0006.

  • Нравится 1
Ссылка на комментарий

@Zander_driver ,@Kirgudu , у меня версия ТЧ 1.0004 работает стабильно, а с более новыми патчами иногда бывают вылеты :(

 

В readme_m_netpk версия 1.0004 вроде подходит

Цитата

    Заметки:
    - Версии нет-пакетов: ТЧ/ЧН/ЗП (SHoC/CS/SCoP), патч для ТЧ: 1.0004 и выше.

 

9 часов назад, Zander_driver сказал:

Это не имеет никакого отношения к уводу объектов в оффлайн и затем в онлайн.

 

то есть, переключить примерно так нужно:

alife():set_switch_offline(obj.id, true)
test_abstract()
alife():set_switch_online(obj.id, false)

?

 

1 час назад, Kirgudu сказал:

@div, нет, я писал про пункты 1), 2) и 3) чуть пониже процитированной строки.

Понятно, значит нужно еще файл se_item.script проверить / изменить.

 

Пока буду с этим разбираться, хочу спросить, если через m_netpk изменить position npc, чтобы он был выше поверхности карты и не стоял на каком-то объекте, его гравитация будет в ходе игры снижать, чтобы он опустился на поверхность, или же он застынет на измененных координатах и будет висеть в воздухе? Если первый вариант, то чтобы он завис в воздухе, менять координаты придется через update, как я понимаю?

Изменено пользователем div
Ссылка на комментарий
1 час назад, div сказал:

В readme_m_netpk версия 1.0004 вроде подходит

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

11 часов назад, Zander_driver сказал:

Интересно, а как модуль это на 1.0004 сделает? Возможно я уже плохо помню, но без подключения к апдейту, там это нетривиальная задача, разве нет?

@Zander_driver, кстати, там level.add_call под капотом, см. do_switchings и execute_switchings. Так что очень может быть, что заработает.

1 час назад, div сказал:

переключить примерно так нужно:

Не нужно. При изменении абстрактной части нет-пакета модуль проделывает необходимые манипуляции автоматически, как и написано в readme. Если интересно, см. упомянутые выше функции модуля do_switchings и execute_switchings, там всё уже есть.

1 час назад, div сказал:

значит нужно еще файл se_item.script проверить / изменить.

Для NPC - скорее se_stalker.script

1 час назад, div сказал:

выше поверхности карты и не стоял на каком-то объекте

Не уверен, что подействует на живой объект, но можно попробовать при спавне НПС снять флаг use_ai_locations  =  128 (привязка к сетке). Делается это в том же модуле m_netpk, примеры есть на форуме, например этот из свежих: 

 

В общем, дальше надо экспериментировать.

  • Нравится 1
Ссылка на комментарий
6 часов назад, div сказал:

то есть, переключить примерно так нужно:

В одном моменте (подряд в одном блоке кода) так точно НЕнадо делать. Объекту нужен как минимум 1 фрейм для того чтобы в оффлайн уйти, и так же как минимум 1 для входа в онлайн. Итого 2 апдейта.

Если писать все переключения "здесь и сейчас" то сработает просто одна последняя строка и всё. Т.е. не произойдет ничего.

 

Ну и, применительно к живым объектам. Скорее всего он будет возвращаться к АИ-сетке при любом движении. Или даже на ближайшем апдейте.

4 часа назад, Kirgudu сказал:

но можно попробовать при спавне НПС снять флаг use_ai_locations  =  128 (привязка к сетке)

Но, что при этом отвалится в логике НПС? Любопытный вопрос, на который у меня нет ответа. Но памятуя о том, что в коде обслуживающем действия НПС, обращения к АИ-сетке встречаются на каждом шагу, подозреваю что будут проблемы.

 

6 часов назад, div сказал:

у меня версия ТЧ 1.0004 работает стабильно, а с более новыми патчами иногда бывают вылеты

Я просто реально не понимаю этого беспричинного мазохизма. Зачем? Ради чего???

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

"Иногда бывают вылеты" - и к ним например в OGSR ВСЕГДА даются подробные информативные логи, что-где-почему пошло не так. В отличие от 1.0004-6. Вылет в любом моде в 2023 году - это скорее от того что добавляли что-то новое и не-до-отладили до ума. И если задаться целью "Просто сделать сталкер который не вылетает НИКОГДА, не добавляя ничего нового" - то допустим на OGSR это задача выполнимая более чем. А на 1.0004-6 как мы знаем из практики, нет.

  • Нравится 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

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

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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