Overf1rst 1 426 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 16 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 770 Опубликовано 4 декабря, 2023 (изменено) 1 час назад, Boomer сказал: Но, что можно сделать? Из-за чего ошибка могла появиться? Искать причину, конечно! К сожалению универсального рецепта нет. К такому исходу могла привести, как ошибка в логике, так и ошибка в скриптах. PS: Да может помочь включение подробного логирования исключений в скриптах (которое вам предложили), но еще нужно правильно интерпритировать лог и далеко не факт, что ошибка там проявиться... Если вы сделали не много изменений перед тем как обнаружили этот баг, то можно внимательно перепроверить внесенные правки, для обнаружения причины или же сделать откат изменений. Изменено 4 декабря, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 4 декабря, 2023 ScR1pt в СДК? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 500 Опубликовано 4 декабря, 2023 FFFFF да Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 70 Опубликовано 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 35 Опубликовано 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 770 Опубликовано 4 декабря, 2023 Toplol4ik Проверьте принимается ли логика вашим НПС в принципе. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Мольфар 606 Опубликовано 4 декабря, 2023 Как правильно настроить прозрачность для таких волос и возможно ли это на ЗП? Помнится тестировал модель в ТЧ, на огср, и там волосы корректно отображались, а здесь всё не так. Тестирую на движке аномали. Спойлер На ap-pro с 2010 года... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 35 Опубликовано 4 декабря, 2023 denis2000 Его логика читается Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
QueroMas 106 Опубликовано 4 декабря, 2023 Добрый вечер, как сделать несколько переносов строки в тексте? Пишу например "текст\n\n\nЭто с новой строки", но снос срабатывает только один раз, а я хочу между "текст" и "Это" иметь ещё пустую строку. И ещё насчёт табуляции: ставлю "\t", но вместо табуляции мне так и выводи символ t вместе со слешем. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ScR1pt 500 Опубликовано 4 декабря, 2023 QueroMas Между "\n"-ками просто поставь пробел 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 5 Опубликовано 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 70 Опубликовано 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 770 Опубликовано 5 декабря, 2023 vladvexa188 Анимационные состояния в state_lib.script добавляли? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 5 Опубликовано 5 декабря, 2023 @denis2000 нет Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 770 Опубликовано 5 декабря, 2023 (изменено) vladvexa188 Значит, вероятно, где-то, какому то НПС прописано несуществующее анимационное состояние. Смотрите параметры в точках пути или в логике в тех местах, где напрямую анимации прописываются. Изменено 5 декабря, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vladvexa188 5 Опубликовано 5 декабря, 2023 Пон Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 35 Опубликовано 5 декабря, 2023 У меня при сейв/лоад половина нпс с двух смартов в одно место сбираются (не в центр смарта) Дополнено 1 минуту спустя Только те, кто заспавнен через анимпоинты Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ferveks 138 Опубликовано 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 70 Опубликовано 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 72 Опубликовано 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 227 Опубликовано 6 декабря, 2023 35 минут назад, FFFFF сказал: + jup_b9_blackbox_decrypted А зачем после плюса стоит пробел? Попробуй убрать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 832 Опубликовано 6 декабря, 2023 FFFFF а почему у тебя ID от документов по гаусс-пушке? story_id = zat_a23_gauss_rifle_docsl ???? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FFFFF 0 Опубликовано 6 декабря, 2023 Neptun Там на конце буква другая. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 832 Опубликовано 6 декабря, 2023 Только что, FFFFF сказал: Neptun Там на конце буква другая. Там должно быть написано это: story_id = labx8_pda_syca Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты