Перейти к содержанию

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

 
 

Подскажите пожалуйста, легкий способ дать метку стрелку, чтобы на карте отмечался...qvest_nps   не помогло...с другими работает а со стреоком не хочет !

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


Ссылка на сообщение
Поделиться на другие сайты
 

Kalambur Обычно для этого достаточно:
 

[logic@....]
....
level_spot = quest_npc

Сама метка ставиться скриптом stalker_generic.script, в нем же и определены возможные значения параметра level_spot.

Изменено пользователем denis2000
  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
9 часов назад, Stepan_sovok1917 сказал:

но работают на статике

Если правильно понимаю речь идет в данном случае о отражении небесной коробки на всяких стеклах и оружии. Поясняю. Разные рендеры в сталкере имеют свои шейдры. Так напрмер статика (DX9) имеет "прямой" рендеринг, который позволяет использовать разные подходы к освещению объектов, но мало применим в сценах с большим количеством динамических источников света. На динамике (DX9 - DX11) используется "отложенный" рендеринг. Он позволяет использовать большое количество источников света, в ущерб разнообразию. Все что на динамике не вписывается в этот тип отрисовки (а это все полупрозрачные материалы) выглядят максимально плохо ввиду отсутствия на них нормального освещения. Вернемся к отражениям. На динамике есть отражение кубической карты, но для отражения используется не точная карта текущего неба, а сильно размытая. Правится это дело в шейдре hmodel.h и зависит от карты - спекуляра, и консольной команды r2_gloss_factor. Чтобы сделать более выраженным отражение небесной коробки на динамике нужно провести замены в 2-х файлах. 

Спойлер

image.png.888652ddd1c228c6ad261a6492261d88.png

и

Спойлер

image.png.2a1e61102357acf1490b01dc913d7329.png

В данных местах нужно заменить env_s0 и env_s1 соответственно на sky_s0 и sky_s1.

Для корректной работы правок на DX10 - DX11 рендерах очень желательно удалить из игровых архивов папку shaders\r3\objects. Описал действия для ЗП, но думаю для других платформ оно будет примерно аналогично. 

Изменено пользователем Hozar_2002
  • Спасибо 1

Еще один злодей!
6 ГБ ОЗУ DDR3 1094 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.57 ГГц (OC)
Видеокарта Gigabyte Radeon RX 580 8192 МБ GDDR5 (Micron) DirectX v12.0

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


Ссылка на сообщение
Поделиться на другие сайты
 

Всем здравствуйте, с помощью инфопоршней сделал вход в диалог при приближении к персонажу на 3 метра. Хотелось бы, чтобы после телепортации персонаж тоже входил в диалог, но для того, чтобы он активировался приходится выходить из "ауры" в 3 метра и подходить опять. Как можно реализовать вход в диалог без нажатия клавиши, чтобы и после телепортации он открывался и не приходилось двигаться?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Почему НПС с данной логикой не атакует враждебных к нему НПС? Просто дальше сидит на анимпоинте.
 

Спойлер

[logic@esc_a2_mechanic]
suitable = true
prior = 70
active = animpoint@base
can_select_weapon = false
level_spot = mechanic
on_combat = combat@danger

[animpoint@base]
cover_name = esc_a2_mechanic_cover
avail_animations = animpoint_sit_normal
meet = meet@1
combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
invulnerable = true
gather_items_enabled = true
help_wounded_enabled = true
corpse_detection_enabled = false
use_camp = false
reach_movement = rush

[combat@danger]
meet = meet@attacked

[meet@1]
close_anim = nil
close_victim = nil
far_anim = nil
far_victim = nil
close_distance = 0
far_distance = 0
use = true
can_trade = false
allow_break = false
meet_on_talking = true
use_wpn = false

[meet@attacked]:meet@1
use = false
meet_on_talking = false
allow_break = true

 

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 11.04.2021 в 01:21, Khajiit_stole_nothin сказал:

Буду краток
Портированное оружие не стреляет,нет прицеливания,не убирается в кобуру словно это просто item, но config, анимация, xxx_hud.ogf и т.д есть и редактировано под условия, но не настроен HUD вообще.(правый локоть/кость на половину экрана)

Также, ствол работает на 2ух сторонних модификациях. Проводил тест лично.

Можете навести меня на проблему?

"папка"

Проблема была в анимации рук с оружием. Все еще магазин не отстегивается,затвор не дергается но главное что АСВК рабочий. За советы, всем спасибо и моя благодарность.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

А что означает {~25} в логике НПС?
on_info = {+esc_actor_tried_kill_qn ~60} walker@killer, {+esc_actor_tried_kill_qn ~40} walker@search

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


Ссылка на сообщение
Поделиться на другие сайты
 
3 часа назад, liner сказал:

Почему НПС с данной логикой не атакует враждебных к нему НПС?

Потому что вы ему запретили брать в руки оружие, прописав can_select_weapon = false

Он что? Пальцем стрелять будет? Потому сидит и ждет, когда его пристрелят.

А вот это:

combat_ignore_cond = false
combat_ignore_keep_when_attacked = false
gather_items_enabled = true
help_wounded_enabled = true

вообще указывать в логике не нужно. По умолчанию скрипты и так установят эти значения. Просто делаете лишние телодвижения и засоряете файл логики.

9 минут назад, liner сказал:

А что означает {~25} в логике НПС?

Вероятность.

 

Изменено пользователем makdm
  • Лайк 1
  • Смех 1
  • Спасибо 1

Терпение... И все получится.

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


Ссылка на сообщение
Поделиться на другие сайты
 
7 минут назад, makdm сказал:

Он что пальцем стрелять будет?

Болтами закидает

  • Смех 1

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как сделать так, чтобы враждебный НПС не стрелял только в ГГ (для того, чтобы поговорить с ним, например)?

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


Ссылка на сообщение
Поделиться на другие сайты
 

liner 

combat_ignore_cond = {=check_enemy_name(actor)} true, false

 

  • Спасибо 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

Ищу конвертер ТЧшной аи-сетки под ЗП. Точно помню, что существовал такой, но нигде не могу найти

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


Ссылка на сообщение
Поделиться на другие сайты
 

Кто-нибудь встречался с подобным вылетом?
Он появляется при спавне НПС или во время его существования.
Как его исправить?

Спойлер

stack trace:

E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59EA2D0 _matrix<float>::mul_43() in E:\OPENXRAY_REPOS\src\utils\xrMiscMath\matrix.cpp line 128
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D5582BAD AttachmentCallback() + 189 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\attachment_owner.cpp line 74
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D5621C2B VisualCallback() + 59 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\GameObject.cpp line 1152 + 5 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrRender_R2.dll at 00007FF9D8C0AC08 CKinematics::CalculateBones() + 3080 byte(s) in E:\OPENXRAY_REPOS\src\Layers\xrRender\SkeletonRigid.cpp line 120 + 5 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D599AF10 CWeapon::UpdateXForm() + 464 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Weapon.cpp line 163
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D599B306 CWeapon::UpdateFireDependencies_internal() + 54 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Weapon.cpp line 198
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59B0A17 CWeaponMagazined::UpdateSounds() + 87 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\WeaponMagazined.cpp line 490 + 23 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59B9D22 CWeaponMagazinedWGrenade::UpdateSounds() + 18 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\WeaponMagazinedWGrenade.cpp line 720
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F80318F2 CObjectList::SingleUpdate() + 130 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\xr_object_list.cpp line 149
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8031CB7 CObjectList::Update() + 519 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\xr_object_list.cpp line 277 + 11 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8001BB4 IGame_Level::OnFrame() + 20 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\IGame_Level.cpp line 179
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D56F3E54 CLevel::OnFrame() + 756 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Level.cpp line 475
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1BD6 MessageRegistry<pureRender>::Process() + 94 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\pure.h line 97
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1421 CRenderDevice::FrameMove() + 337 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 546
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE0BCB CRenderDevice::ProcessFrame() + 75 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 323
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE0ED4 CRenderDevice::message_loop() + 532 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 448 + 8 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1199 CRenderDevice::Run() + 569 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 485
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8035A9C Startup() + 1660 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\main.cpp line 311
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8036024 RunApplication() + 772 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\main.cpp line 382
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E132B entry_point() + 667 byte(s) in E:\OPENXRAY_REPOS\src\xr_3da\entry_point.cpp line 55 + 6 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E13F4 WinMain() + 20 byte(s) in E:\OPENXRAY_REPOS\src\xr_3da\entry_point.cpp line 77 + 8 byte(s)
E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E169E __scrt_common_main_seh() + 262 byte(s) in d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl line 288 + 33 byte(s)
C:\Windows\System32\KERNEL32.DLL at 00007FFA0ACC7974 BaseThreadInitThunk() + 20 byte(s)
C:\Windows\SYSTEM32\ntdll.dll at 00007FFA0CBCA271 RtlUserThreadStart() + 33 byte(s)

Уже несколько тысяч раз проверял, и заметил:
*Этот вылет не зависит от правок движка.
*Этот вылет не зависит от конфигов.
*Этот вылет не зависит от исправленных костей в модели (чтобы нпс не сгибался так сильно)
*Скорее всего, вылет зависит от правок в скриптах.


Дополнено 53 минуты спустя

Когда НПС занимает смарткавер то происходит такой вылет:
 

Спойлер

Жалуется на
if(#self.st.approved_actions==0) then
        abort("There is no approved actions for stalker[%s] in animpoint[%s]", db.storage[self.npc_id].object:name(), self.object:name())
    end
В файле xr_animpoint.script

Использовал SDK 0.7 от DaaGuda V2. Вылетает именно на том смарткавере, где прописана новая анимация для него - animpoint_sit_ass.

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

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


Ссылка на сообщение
Поделиться на другие сайты
 

Такой вопросик, какой функцией идет запуск видео, как в моменте с рацией в Припяти? 


Дополнено 3 минуты спустя
4 часа назад, liner сказал:

Использовал SDK 0.7 от DaaGuda V2. Вылетает именно на том смарткавере, где прописана новая анимация для него - animpoint_sit_ass.

Как я знаю, эту фигню надо адаптировать и поработать с файлами. Попробуй перекинуть файл из СДК или попроси у кого-то. Вроде нужны "smart_covers_animpoint_sit_ass" и "smart_covers_loophole_animpoint_sit_ass".

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


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, AziatkaVictor сказал:

Такой вопросик, какой функцией идет запуск видео, как в моменте с рацией в Припяти? 

gamedata\configs\scripts\pripyat\pri_a28_center_radio.ltx

Запускается туториал =run_tutorial(talk_ssu), в game_tutorials.xml полное описание действия.


Дополнено 3 минуты спустя

Добро. Возникла такая проблемка: сразу после кат-сцены запускается автодиалог с НПС, появляется диалоговое окно, но я не могу с ним взаимодействовать, зато могу открыть инвентарь, пда и даже выйти в меню и всё. Примечательно то, что этот баг не всегда возникает, то есть если перезагружать кат-сцену сначала, то диалог после неё может заработать нормально, а может и не заработать. Кто сталкивался? Что делать?

  • Спасибо 1

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


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Neptun сказал:

Что делать?

ИМХО попробуйте сделать задержку между окончанием катсцены и запуском диалога.


Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 добавил эту функцию вместо ручного набора координат. Начало телепортировать не ко мне, а в угол локации. НПС вон там на горизонте650194177_S.T.A.L.K.E.R._CallofPripyat14_04.202112_20_12-min.thumb.png.4cd6ca8cfae6f5778868ae20496ab5d5.png

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


Ссылка на сообщение
Поделиться на другие сайты
 

Кто может подсказать, как в ПДА создать статью или че ищо там модно создать, для того чтобы при получении наводки за злачу квеста, эта наводка записовалась в эту "статью" и т.д. ?!

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


Ссылка на сообщение
Поделиться на другие сайты
 

Yura001 Пробуйте так:

function teleport_npc_to_actor(npc)
	npc:set_npc_position(level.vertex_position(db.actor:level_vertex_id()))
end

 

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

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 
В 14.04.2021 в 11:47, Neptun сказал:

Добро. Возникла такая проблемка: сразу после кат-сцены запускается автодиалог с НПС, появляется диалоговое окно, но я не могу с ним взаимодействовать, зато могу открыть инвентарь, пда и даже выйти в меню и всё. Примечательно то, что этот баг не всегда возникает, то есть если перезагружать кат-сцену сначала, то диалог после неё может заработать нормально, а может и не заработать. Кто сталкивался? Что делать?

Вообще удалил условие автоматического возникновения диалога, в итоге при попытке говорить с НПС получил безлоговый вылет. Я просто понять не могу, почему ошибка непостоянна, чтобы можно было точно определить проблему, нет же, раз за разом перезагружаю игру и иногда получаю идеальные варианты, когда диалог появляется, отлично читается и никаких ошибок.

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как проверить, что симуляционный НПС получил хит (неважно от кого), и этот НПС находится в рестрикторе?
  

Цитата

 

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


Ссылка на сообщение
Поделиться на другие сайты
 

Hozar_2002 Спасибо, это именно то, что я искал. Надо как-нибудь попробовать

 

 

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

Это потому, что у вас на тестовой локации аж один левел вертекс.

А кто вообще такие эти левел вертексы и как их сделать больше?


294404326_-1.png.b174b8675b96f1eea9aed038584779b1.png

                    Паблик ВК       

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


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, Neptun сказал:

Вообще удалил условие автоматического возникновения диалога, в итоге при попытке говорить с НПС получил безлоговый вылет.

Во первых приведите всеже  логику нпс в части секции meet.

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


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

Как проверить, что симуляционный НПС получил хит (неважно от кого), и этот НПС находится в рестрикторе?

Для симулянтов все сложнее, чем для НПС с логикой. Это придется в скрипте xr_motivator.script в функции колбека на хит НПС motivator_binder:hit_callback проверять что данный конкретный НПС находиться в указанном рестрикторе.

function motivator_binder:hit_callback(obj, amount, local_direction, who, bone_index)
local zone = db.zone_by_name["имя_рестриктора"]
if zone and utils.npc_in_zone(obj, zone) then
......
end
end

 

Изменено пользователем denis2000
  • Лайк 1

Путь во мгле. Связь времен.
"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник)

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


Ссылка на сообщение
Поделиться на другие сайты
 

Как проверить кол-во НПС, находящихся в смарте (живых нпс)?

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


Ссылка на сообщение
Поделиться на другие сайты
 

Подскажите пожалуйста, что дописать предмету чтобы после использование один раз, он пропадал !? Предмет в категории Треш...на основе веревки сделан!  

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

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу