Overf1rst 1 503 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 978 Опубликовано 7 мая, 2021 DeadlyLoko В хелпе прилагающемся к ACDC есть инструкция по этому поводу. Как вносить правки в конфиг или же как заставить ACDC сканировать конфиг мода в поисках соответсвия секций и классов. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 7 мая, 2021 Как восстановить прежнее положение гитары в руках? Установил мод AI Additions, и мне не нравится, что положение гитары в руках новое... Спойлер https://i.ibb.co/F4QBTT7/ss-05-07-21-16-56-23-escape.jpg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 978 Опубликовано 7 мая, 2021 liner В секции предмета есть параметры attach объекта их и нужно править. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yura001 1 Опубликовано 7 мая, 2021 Здравствуйте, как сделать, чтобы по нажатию на кнопку в GUI появлялась ещё одна? Изучил в КМБ урок по GUI, но так и не понял, где и как задавать функционал для кнопки Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 7 мая, 2021 Yura001 второй кнопке прописать w:Show(false), в первой при нажатии делать w:Show(true). Можно еще просто выключить-включить, а не скрывать w:Enable(true/false) 1 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yura001 1 Опубликовано 9 мая, 2021 (изменено) vader_33 Спасибо, я это спрашивал, потому что пытаюсь закостылить одну задачу. Вы, как я понял, разбираетесь в интерфейсе, поэтому напишу вам вопрос. Мне надо сделать 2Д картинку за интерфейсом диалога. Вот в таком ключе, как на картинке(фон это 2Д изображение). Я просто костылю через бекграунд и кнопки, но это не очень удобно Изменено 12 мая, 2021 пользователем Yura001 Удаляю картинку 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 798 Опубликовано 9 мая, 2021 Как создать бесконечный предмет? Объясняю. Мне нужно чтобы конкретный предмет, например, аптечка после использования не пропадала. Как такое реализовать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stepan_sovok1917 41 Опубликовано 9 мая, 2021 (изменено) Всем привет! Написал функцию телепорта персонажа и непися, но во-первых не учитывается вектор направления, который я вроде как задавал в функции, и во-вторых телепортация по одной и той де функции происходит по разным местам. То есть и перс и непись не телепортируются в одну и ту же точку каждый раз, есть небольшой разброс. А мне надо, чтобы каждый раз телепортация происходила строжайше по моим координатам. Как такое сделать? Может, я неправильно ввожу функцию? Спойлер function tp_doroga(first_speaker, second_speaker) level.add_pp_effector ("123.ppe", 200, false) local end_of_timer = time_global() + 1000 level.add_call( function() if end_of_timer < time_global() then return true end end, function() npc = get_story_object("SHIZA_story") db.actor:set_actor_position(vector(-0.23343560099602,0,0.97237223386765):set(-129.26106262207,-0.16839237511158,-24.617595672607),3925,0) npc:set_npc_position(vector(0.4362116754055,0,-0.89984405040741):set(-129.41885375977,-0.13657504320145,-23.355331420898),3927,0) end ) end Спойлер ******************************************************************* Название точки : дорога перс Название уровня : l01 GameVertex ID(вертекс игры): 0 levelVertex ID(вертекс уровня): 3925 Position(Позиция) = -129.26106262207,-0.16839237511158,-24.617595672607 Direction(Поворот) = -0.23343560099602,0,0.97237223386765 программа от сталкера 56 | ******************************************************************* ******************************************************************* Название точки : дорога непись Название уровня : l01 GameVertex ID(вертекс игры): 0 levelVertex ID(вертекс уровня): 3927 Position(Позиция) = -129.41885375977,-0.13657504320145,-23.355331420898 Direction(Поворот) = 0.4362116754055,0,-0.89984405040741 программа от сталкера 56 | ******************************************************************* Для определения координат пользовался прогой от сталкера 56 | Изменено 9 мая, 2021 пользователем Stepan_sovok1917 Паблик ВК Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yura001 1 Опубликовано 9 мая, 2021 vader_33 Я написал вот такие функции, чтобы первая кнопка после нажатия скрывалась, а вторая после нажатия закрывала GUI. Но первая кнопка вообще не видна, а если поменять местами функции и нажать на кнопку, то происходит вылет по причине attempt to index global 'w' Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 885 Опубликовано 9 мая, 2021 1 час назад, Крим сказал: Как создать бесконечный предмет? Объясняю. Мне нужно чтобы конкретный предмет, например, аптечка после использования не пропадала. Как такое реализовать? Как вариант, можешь прописать этой аптечке: eat_portions_num = какое-нибудь_огромное_число Или при использовании выдавать эту же аптечку. В gamedata\scripts создай скрипт, например: ui_use_item.script function on_use_item(sect) local actor = db.actor local item_name = sect:section() if item_name=="medkit" then give_object_to_actor("medkit") end end В _g добавить: function give_object_to_actor(obj,count) if count==nil then count=1 end for i=1, count do alife():create(obj,db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) end end В bind_stalker добавить в функцию actor_binder:use_inventory_item(obj) if obj~=nil then ui_use_item.on_use_item(obj) end Дополнено 2 минуты спустя 30 минут назад, Stepan_sovok1917 сказал: Как такое сделать? Может, я неправильно ввожу функцию? А почему бы не воспользоваться готовыми функциями? %=teleport_actor(позиция_way) =teleport_npc(ид_нпс:позиция_way)% Дополнено 4 минуты спустя 9 минут назад, Yura001 сказал: Я написал вот такие функции, чтобы первая кнопка после нажатия скрывалась, а вторая после нажатия закрывала GUI. Изучаем основы GUI вот по этой ссылке 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 142 Опубликовано 9 мая, 2021 Yura001 вместо w пишете то, что надо скрыть, w я для примера писал. Копируйте код под спойлер, скрины неудобно смотреть В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 9 мая, 2021 Добрый вечер, как прикрутить отключение партикла по поршню? Пробовал такой метод, не работает Спойлер [logic] active = sr_particle [sr_particle] name = new_effects\tuman_cherep path = lim_tuman_cherep_1_particle_point mode = 2 looped = false on_signal = particle_end | sr_idle@2 [sr_idle@2] on_info = {+мойпоршень} nil Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kalambur 25 Опубликовано 9 мая, 2021 Подскажите пожалуйста, как для квеста в функции проверки наличия предметов затребовать проверку у комбеза, что бы тот был не меньше 99% износа ? Чтобы изношеная не прокатывала ! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 798 Опубликовано 9 мая, 2021 Как реализовать, чтобы у выбранного тобой техника весь ремонт стоил бесплатно, то есть 0 рублей? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 885 Опубликовано 9 мая, 2021 1 час назад, Крим сказал: Как реализовать, чтобы у выбранного тобой техника весь ремонт стоил бесплатно, то есть 0 рублей? В конфиге (gamedata\configs\misc\stalkers_upgrade_info) нужного техника пропиши: discount_condlist = %=mech_discount(0.00)% Дополнено 8 минуты спустя 7 часов назад, Hoperise сказал: Пробовал такой метод, не работает [sr_particle] name = new_effects\tuman_cherep path = lim_tuman_cherep_1_particle_point mode = 2 looped = false on_info = {+мойпоршень} sr_idle@nil [sr_idle@nil] 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 978 Опубликовано 10 мая, 2021 Kalambur if object:condition() > 0.99 then .... end 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 10 мая, 2021 Во время проигрывания какой-то анимации (неизвестной) вылет: Не заменял/добавлял .omf файлы. Движок OpenXRay Спойлер E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrCore.dll at 00007FFB4BE4BCAA shared_motions::motion_def() + 10 byte(s) in E:\OPENXRAY_REPOS\src\xrCore\Animation\SkeletonMotions.hpp line 308 + 10 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrRender_R2.dll at 00007FFB43D0FD07 CKinematicsAnimated::PlayCycle() + 55 byte(s) in E:\OPENXRAY_REPOS\src\Layers\xrRender\SkeletonAnimated.cpp line 418 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42F623EA CStalkerAnimationPair::play() + 234 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\stalker_animation_pair.cpp line 153 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42F61D8E CStalkerAnimationManager::play_torso() + 446 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\stalker_animation_manager_update.cpp line 170 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42F62119 CStalkerAnimationManager::update_impl() + 393 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\stalker_animation_manager_update.cpp line 217 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42F622EE CStalkerAnimationManager::update() + 14 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\stalker_animation_manager_update.cpp line 227 + 5 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42C7F740 CCustomMonster::UpdatePositionAnimation() + 144 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\CustomMonster.cpp line 581 + 68 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42C7F533 CCustomMonster::UpdateCL() + 1331 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\CustomMonster.cpp line 538 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FFB42BE3496 CAI_Stalker::UpdateCL() + 310 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Ai\Stalker\ai_stalker.cpp line 877 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FFB4BDD18F2 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 00007FFB4BDD1CB7 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 00007FFB4BDA1BB4 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 00007FFB42DA4054 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 00007FFB4BD81BD6 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 00007FFB4BD81421 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 00007FFB4BD80BCB 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 00007FFB4BD80ED4 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 00007FFB4BD81199 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 00007FFB4BDD5A9C 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 00007FFB4BDD6024 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 00007FF684CD132B 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 00007FF684CD13F4 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 00007FF684CD169E __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 00007FFB651B7974 BaseThreadInitThunk() + 20 byte(s) C:\Windows\SYSTEM32\ntdll.dll at 00007FFB67FEA271 RtlUserThreadStart() + 33 byte(s) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 10 мая, 2021 Neptun не работает данная логика. По статье настройки логики наткнулся на эту строчку Цитата on_signal = particle_end | sr_idle@2 думается она и отключает партиклы, вот только слабо представляю куда можно подставить эту строчку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 978 Опубликовано 10 мая, 2021 Hoperise Эта строка партикл НЕ отключает, в ней прописана реакция, на то что партикл закончил проигрывание (имеет смысл для не зацикленного партикла). Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 10 мая, 2021 (изменено) denis2000 возможно тогда имеет смысл переключение с зацикливания на единоразовое воспроизведение через поршень? Проба такого рода Спойлер [logic] active = sr_particle [sr_particle] name = new_effects\tuman_cherep path = lim_tuman_cherep_2_particle_point mode = 2 looped = false on_info = {+мой поршень} sr_particle1 [sr_particle1] name = damage_fx\smoke path = lim_tuman_cherep_2_particle_point mode = 2 looped = true Результат - партикл tuman_cherep продолжает проигрывается. Поршень выдается. Изменено 10 мая, 2021 пользователем Hoperise Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 298 Опубликовано 10 мая, 2021 можно ли убрать скайбоксы? Или есть скайбоксы для тумана? А то я настроил туман густой и вижу скайбоксы там, где через 10 метров будет холм. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 676 Опубликовано 10 мая, 2021 1 час назад, Hoperise сказал: Результат - партикл tuman_cherep продолжает проигрывается. Поршень выдается. Каждый партикл имеет длительность воспроизведения. Даже если вы переключили секцию, то двигало продолжает отыгрывать запущенный ранее партикл, пока не истечет время его отыгрывания. Для того, что вы хотите сделать существуют скрипты. Запуск партикла : sobj_part_1 = particles_object( "anomaly2\\body_tear_00" ) sobj_part_1:play_at_pos( position ) Принудительная остановка проигрыша партикла: if sobj_part_1:playing () then sobj_part_1:stop () end Вот от этого плясать нужно. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 798 Опубликовано 10 мая, 2021 Спойлер local smarts_by_no_assault_zones = { ["zat_a2_sr_no_assault"] = "zat_stalker_base_smart", ["jup_a6_sr_no_assault"] = "jup_a6", ["jup_b41_sr_no_assault"] = "jup_b41", ["pri_b303_no_attack_restr"] = "pri_b303", ["pri_sim_1_no_assault_restr"] = "pri_sim_1", ["pri_b36_zombied_restrictor"] = "pri_b36_smart_terrain" } Прописал зоны ненападения. Не работают. Различные мутанты и нпс все равно суются в эти зоны. Что делать? Как исправить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 10 мая, 2021 makdm прошу прощенья, где можно данные примеры посмотреть в деле? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xenomorphom 5 Опубликовано 10 мая, 2021 Здравствуйте! Где взять шаблон для загрузочного экрана уровня? (Разбитое окошко) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты