Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 4 декабря, 2023 Приветствую. Я прописал логику двум уникальным нпс и при атаке на них врагов они тупо ничего не делают, хотя я писал чтобы они не игнорировали атаку на них. Спойлер [logic@pri_gavaets] active = walker@zasada suitable = {=check_npc_name(pri_gavaets)} true prior = 200 level_spot = quest_npc relation = friend post_combat_time = 0, 0 [walker@zasada] path_walk = gavaets_walk path_look = gavaets_look meet = meet@default combat_ignore_cond = false combat_ignore_keep_when_attacked = false invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false ;on_info = {+инфопоршень =функция !функция} %+получение_поршня =выполнение_функции% новая_схема [meet@default] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=dist_to_actor_le(3)} true snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [logic@pri_diplomat] active = walker@zasada suitable = {=check_npc_name(pri_diplomat)} true prior = 200 level_spot = quest_npc relation = friend post_combat_time = 0, 0 [walker@zasada] path_walk = diplomat_walk path_look = diplomat_look meet = meet@default combat_ignore_cond = false combat_ignore_keep_when_attacked = false invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false ;on_info = {+инфопоршень =функция !функция} %+получение_поршня =выполнение_функции% новая_схема [meet@default] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=dist_to_actor_le(3)} true snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 4 декабря, 2023 Здраствуйте, у меня проблема: нпс стоит не на своём месте (я его ставил на ai-сетку). Как исправить? Спойлер Вот как стоит нпс: https://ibb.co/1ssv03H А вот как должен стоять: https://ibb.co/R7v6PWC Спойлер [logic@escape_ferma_exclusive_smart_skaz] active = animpoint@escape_ferma_exclusive_smart_skaz suitable = {=check_npc_name(escape_ferma_exclusive_smart_skaz)}true prior = 90 level_spot = quest_npc [animpoint@escape_ferma_exclusive_smart_skaz] use_camp = false meet = meet@default combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false cover_name = escape_ferma_exclusive_smart_skaz_animpoint trade_enable = false [meet@default] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 4 декабря, 2023 Toplol4ik Проверьте принимается ли логика вашим НПС в принципе. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Мольфар 756 Опубликовано 4 декабря, 2023 Как правильно настроить прозрачность для таких волос и возможно ли это на ЗП? Помнится тестировал модель в ТЧ, на огср, и там волосы корректно отображались, а здесь всё не так. Тестирую на движке аномали. Спойлер На ap-pro с 2010 года... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 4 декабря, 2023 denis2000 Его логика читается Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 112 Опубликовано 4 декабря, 2023 Добрый вечер, как сделать несколько переносов строки в тексте? Пишу например "текст\n\n\nЭто с новой строки", но снос срабатывает только один раз, а я хочу между "текст" и "Это" иметь ещё пустую строку. И ещё насчёт табуляции: ставлю "\t", но вместо табуляции мне так и выводи символ t вместе со слешем. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 542 Опубликовано 4 декабря, 2023 QueroMas Между "\n"-ками просто поставь пробел 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 6 Опубликовано 5 декабря, 2023 Ребят тут такой прикол случился: FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : E:\xrMPE\GIT\xray16_xrMPE\xray\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...rmpe launcher\game\gamedata\scripts\state_mgr.script:489: attempt to index field '?' (a nil value) stack trace: Из-за чего вылет может происходить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 5 декабря, 2023 (изменено) Toplol4ik У меня было такое что в имени точки для нпс я прописывал с ошибкой имя смарта к которому эта точка привязана. Проверьте правильно ли написано имя смарт-террейна. Спойлер [logic] active = sr_idle@quest [sr_idle@quest] on_info = {=actor_in_zone(pripyat_shelter_sr)} %=give_task(pripyat_oborona_task)% sr_idle@info [sr_idle@info] on_info = {+pri_zasada_udar} %=npc_to_actor_punch =disable_ui% sr_idle@punch [sr_idle@punch] on_game_timer = 50 | %=run_postprocess(black:1996:true) =forward_game_time(5)% sr_idle@sleep [sr_idle@sleep] on_game_timer = 30 | %=stop_postprocess(1996) =enable_ui +pripyat_oborona_task_done% sr_idle@nil [sr_idle@nil] При входе в рестриктор должен выдаваться квест и через 5 секунд героя оглушают. Квест выдаётся, а вот удар по голове гг не получает. В xr_effects вот такая функция: function npc_to_actor_punch() level.add_cam_effector("camera_effects\\surge_02.anm", 1, false) level.add_pp_effector("surge_fade.ppe", 2, false) end Изменено 5 декабря, 2023 пользователем Skala Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 5 декабря, 2023 vladvexa188 Анимационные состояния в state_lib.script добавляли? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 6 Опубликовано 5 декабря, 2023 @denis2000 нет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 5 декабря, 2023 (изменено) vladvexa188 Значит, вероятно, где-то, какому то НПС прописано несуществующее анимационное состояние. Смотрите параметры в точках пути или в логике в тех местах, где напрямую анимации прописываются. Изменено 5 декабря, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 6 Опубликовано 5 декабря, 2023 Пон Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 5 декабря, 2023 У меня при сейв/лоад половина нпс с двух смартов в одно место сбираются (не в центр смарта) Дополнено 1 минуту спустя Только те, кто заспавнен через анимпоинты Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ferveks 140 Опубликовано 5 декабря, 2023 Skala попробуй [sr_idle@quest] on_info = {=actor_in_zone(pripyat_shelter_sr)} %=give_task(pripyat_oborona_task)% sr_idle@info [sr_idle@info] on_game_timer = 50 | %=npc_to_actor_punch =disable_ui% sr_idle@punch [sr_idle@punch] on_game_timer = 50 | %=run_postprocess(black:1996:true) =forward_game_time(5)% sr_idle@sleep 1 Поющий Немо Группа VK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 6 декабря, 2023 (изменено) Здравствуйте, нпс не хочет переходить на следующую схему в логике (walker@plen). На этой схеме он должен игнорировать врагов и не стрелять в них. Такая же схема ещё у двух нпс. Спойлер [logic@pri_gavaets] active = walker@zasada suitable = {=check_npc_name(pri_gavaets)} true prior = 200 level_spot = quest_npc relation = friend post_combat_time = 0, 0 [walker@zasada] path_walk = gavaets_walk path_look = gavaets_look meet = meet@default combat_ignore_cond = false combat_ignore_keep_when_attacked = false invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false on_info = {+pripyat_oborona_task_done} | walker@plen [walker@plen] path_walk = gavaets_plen_walk path_look = gavaets_plen_look meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false ;on_info = {+pripyat_oborona_task_done} | walker@plen [meet@default] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=dist_to_actor_le(3)} true snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false А так же в логике рестриктора не работает переход на секцию sr_idle@dialog2 Спойлер [logic] active = sr_idle@plen [sr_idle@plen] on_info = {=actor_in_zone(pripyat_plen_sr)} sr_idle@dialog %=disable_ui% [sr_idle@dialog] on_game_timer1 = 10| %=add_cs_text(plen_phrase_1)% on_game_timer2 = 80| %=del_cs_text(plen_phrase_1)% on_game_timer3 = 90| %=add_cs_text(plen_phrase_2)% on_game_timer4 = 160| %=del_cs_text(plen_phrase_2)% on_game_timer5 = 170| %=add_cs_text(plen_phrase_3)% on_game_timer6 = 220| %=del_cs_text(plen_phrase_3)% sr_idle@dialog2 [sr_idle@dialog2] on_game_timer1 = 1 | %=add_cs_text(plen_phrase_4)% on_game_timer2 = 60 | %=del_cs_text(plen_phrase_4)% on_game_timer3 = 70 | %=add_cs_text(plen_phrase_5) =create_squad(pri_dolg_squad:pripyat_zasada)% on_game_timer3 = 80 | %=del_cs_text(plen_phrase_5) =enable_ui% sr_idle@nil [sr_idle@nil] Изменено 6 декабря, 2023 пользователем Skala Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yara 118 Опубликовано 6 декабря, 2023 2 часа назад, Skala сказал: on_info = {+pripyat_oborona_task_done} | walker@plen Есть примеры в оригинале, как и в каком порядке задаются условия и прочее. Имеется Gamedesigner_education.pdf в папке help (ЗП-сдк): Спойлер https://sites.google.com/view/xray-sdk-0-4-smg Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 6 декабря, 2023 Прошу прощенья. У меня не как не получается сделать так, чтоб про поднятии предмета выдавался инфопоршень. Я написал в рестрикторе, в СДК это: Спойлер [logic] cfg = scripts\labx8\lab_h_sr.ltx Спойлер То-есть написал путь к логике. В логике я написал: Спойлер [logic] active = sr_idle@check [sr_idle@check] on_info = {=actor_has_item(labx8_pda_syca)} sr_idle@nil %+ jup_b9_blackbox_decrypted% [sr_idle@nil] Написал таск_менаджер задания: Спойлер [hyrma] icon = ui_inGame2_Reputatsiya prior = 10000 storyline = true title = labX8_name descr = {=actor_has_item(labx8_pda_syca)} labX8_text1 , labX8_text target = {=actor_has_item(labx8_pda_syca)} , X8_sr condlist_0 = {+ jup_b9_blackbox_decrypted } complete Создал нужный предмет: Спойлер [labx8_pda_syca]:device_pda $spawn = "quest_items\labX8_pda_syca" visual = dynamics\devices\dev_pda\dev_pda.ogf description = st_jup_b202_bandit_mota_pda_descr inv_name = st_jup_b202_bandit_mota_pda inv_name_short = st_jup_b202_bandit_mota_pda can_trade = false quest_item = true cost = 0 story_id = zat_a23_gauss_rifle_docsl Однако квест не завершается, когда я поднимаю предмет. Прошу если кто-то знает в чём причина или найдёт ошибку в записях, скажите мне. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boomer 469 Опубликовано 6 декабря, 2023 35 минут назад, FFFFF сказал: + jup_b9_blackbox_decrypted А зачем после плюса стоит пробел? Попробуй убрать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 885 Опубликовано 6 декабря, 2023 FFFFF а почему у тебя ID от документов по гаусс-пушке? story_id = zat_a23_gauss_rifle_docsl ???? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 6 декабря, 2023 Neptun Там на конце буква другая. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 885 Опубликовано 6 декабря, 2023 Только что, FFFFF сказал: Neptun Там на конце буква другая. Там должно быть написано это: story_id = labx8_pda_syca Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 6 декабря, 2023 Boomer Не помогло. Дополнено 24 минуты спустя Neptun не помогло. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 971 Опубликовано 6 декабря, 2023 FFFFF Похоже, что логика рестриктора вообще не работает - проверьте этот момент. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 6 декабря, 2023 denis2000 а как её проверить? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты