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

[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 сказал:

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

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

Доброго времени суток. Подскажите, как добавить больше слотов в народной солянке 2016 (не OGSR и не OGSR ENGINE)?

4 часа назад, Holy Light сказал:

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

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

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

  • Нравится 3

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

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

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

Каким образом можно поднять живого 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

@div, в readme_m_netpk.txt есть раздел "Про специальный нет-пакет 'abstract'". Инструкции из него выполнены?

@Kirgudu ,вы про:

Цитата

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

?

 

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

 

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

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

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

А зачем?

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

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

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

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

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

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

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

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

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

  • Нравится 2

@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

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

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

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

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

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

Войти

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

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

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