Overf1rst 1 498 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
green_smile 23 Опубликовано 8 ноября, 2023 39 минут назад, Toplol4ik сказал: @green_smileНужно в SDK загрузить нужную вам локацию, найти там актёра и переместить его Спс. А какой именно файл нужно открыть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 8 ноября, 2023 Помогите, вылет при загрузке локации, как я понял он связан с логикой. Спойлер FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) stack trace: Спойлер Спойлер [logic@escape_exclusive_village_smart_medic] active = animpoint@escape_exclusive_village_smart_medic suitable = {=check_npc_name(escape_exclusive_village_smart_medic)}true prior = 94 level_spot = medic trade = misc\trade\trade_jup_b202_stalker_medic.ltx [animpoint@escape_exclusive_village_smart_medic] use_camp = false meet = meet@escape_exclusive_village_smart_medic combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false cover_name = escape_exclusive_village_smart_medic_animpoint [meet@escape_exclusive_village_smart_medic] 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 Спойлер [logic@escape_exclusive_village_smart_tech] active = walker@escape_exclusive_village_smart_tech suitable = {=check_npc_name(escape_exclusive_village_smart_tech)}true prior = 93 level_spot = mechanic [walker@escape_exclusive_village_smart_tech] path_walk = tech_walk path_look = tech_look meet = meet@escape_exclusive_village_smart_tech combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_tech] 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 Спойлер [logic@escape_exclusive_village_smart_torg] active = walker@escape_exclusive_village_smart_medic suitable = {=check_npc_name(escape_exclusive_village_smart_torg)}true prior = 91 level_spot = trader [walker@escape_exclusive_village_smart_torg] path_walk = torg_walk path_look = torg_look meet = meet@escape_exclusive_village_smart_torg_hello combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_torg_hello] 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 Спойлер [logic@escape_exclusive_village_smart_volk] active = walker@escape_exclusive_village_smart_volk suitable = {=check_npc_name(escape_exclusive_village_smart_volk)}true prior = 92 level_spot = quest_npc [walker@escape_exclusive_village_smart_volk] path_walk = volk_walk path_look = volk_look meet = meet@escape_exclusive_village_smart_volk combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_volk] 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 Спойлер [logic@escape_exclusive_village_smart_pel] active = animpoint@escape_exclusive_village_smart_pel suitable = {=check_npc_name(escape_exclusive_village_smart_pel)}true prior = 90 [animpoint@escape_exclusive_village_smart_pel] use_camp = false meet = meet@escape_exclusive_village_smart_pel 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_exclusive_village_smart_pel_animpoint [meet@escape_exclusive_village_smart_pel] 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 Спойлер [smart_terrain];escape_exclusive_village_smart squad_id = 5 max_population = 1 arrive_dist = 50 [exclusive] escape_exclusive_village_smart_volk = escape\escape_exclusive_village_smart_volk.ltx escape_exclusive_village_smart_pel = escape\escape_exclusive_village_smart_pel.ltx scape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx escape_exclusive_village_smart_medic = escape\escape_exclusive_village_smart_medic.ltx escape_exclusive_village_smart_torg = escape\escape_exclusive_village_smart_torg.ltx Дополнено 1 минуту спустя green_smile Нажми File - Open и выбери нужную локацию, если нету, значит она не декомпилирована Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 9 ноября, 2023 Toplol4ik Еще раз прошу будьте внимательнее:escape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 9 ноября, 2023 (изменено) Есть script_sound_моялока, зарегистрирован в файле script_sound. Все новые звуки прописаны в script_sound_моялока, но при входе в зону, где должен быть звук, получаю безлоговый вылет. Если я прописываю эти же звуки в обычном script_sound, то все работает нормально. В чем беда? list - прописан, #include - имеется, в самом файле локации [list_script_sound_моялока] - существует. Изменено 9 ноября, 2023 пользователем justrainy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 9 ноября, 2023 Здраствуйте, создал отряд эксклюзивов и всё работает, однако остальные отряды перестали спавниться (до этого было всё нормально). Также эксклюзивы созданные через точки пути (way points) не спавнятся. В деревне только 2 нпс, а должно быть 13. Как исправить? Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 41 Опубликовано 9 ноября, 2023 Исправил, неправильно прописал spawn_point в squad_descr Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 274 Опубликовано 10 ноября, 2023 FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ... world\farthest edge\gamedata\scripts\xr_meet.script:630: attempt to index local 'meet' (a nil value) stack trace: Подскажите, как исправить этот вылет? Возникает при приближении к группе сталкеров. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 10 ноября, 2023 Господа, я правильно понимаю, что в ЗП никак не получится получить спавн элемент по его имени из all.spawn? типа: Спойлер local a = alife():object("имя_из_all_spawn") Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 10 ноября, 2023 Paracetamol , для того, чтобы получить в любой момент нужный объект, разрабами сталкера был придуман story_id. По нему всё и находится. Если у вас объект не имеет story_id, но его имя уникальное, то методом перебора объектов, можно получить его серверную часть. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 10 ноября, 2023 Как такое сообщение вывести не только на экран, но и в диалоге? Выдаю из диалога. function dog_attack(actor, npc) news_manager.send_tip(db.actor, "dog_attack", 0, "default", 18000) end Дополнено 6 минуты спустя И еще: эти приколы не работают в анимпойнтах? Почему-то нпс идет к смарт каверу, а не бежит def_state_standing = guard def_state_moving1 = run def_state_moving2 = run def_state_moving3 = run Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 10 ноября, 2023 9 минут назад, justrainy сказал: эти приколы не работают в анимпойнтах? Не работают. Работают в схеме walker. 10 минут назад, justrainy сказал: Как такое сообщение вывести не только на экран, но и в диалоге? Для сообщения вне диалогового окна используется движковый метод - give_game_news Для того чтобы сообщение попало в диалоговое окно, используется движковый метод - give_talk_message2 Отсюда и пляшите. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 11 ноября, 2023 Доброго времени суток. Напомните, уважаемые, функцию проверки (=actor_has_item(...)) нескольки одинаковых предметов в файле таск менеджере в tm_... ( Для title =... Descr =... Target =...). К примеру, 3 аптечки. Так же можно ли добавить проверку состояния предмета, к примеру оружия, все тот же таск менеджер? Дабы обновлялся квест не только после подбора предмета, на и по его состоянию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 11 ноября, 2023 (изменено) Hoperise actor_has_item_count - проверка нескольких одиниковых предметов. А вообще в скрипт xr_conditions.script вы можете добавить свою функцию с проверкой в том числе и состояния объекта (item:condition() > 0.7) justrainy Для анимпоинта есть параметр reach_movement. Изменено 11 ноября, 2023 пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
green_smile 23 Опубликовано 11 ноября, 2023 Как убрать сюжетные квесты полностью ? Точнее квесты про вертолеты и поход в Припять Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
baraholschik 25 Опубликовано 11 ноября, 2023 Знатоки, нужен ликбез по мутантам! Я конечно не COP ковыряю, а COM, но это не столь важно Вот есть файлы типа "m_имя мутанта.ltx, в них есть базовые секции для каждого вида мутантов, а ниже секции для подвидов. В базовой секции всегда есть параметр "health" равный целому числу (например 100), который вроде только для оффлайн-состояния. А вот параметр "maxhealthvalue", как я понял, означает фактическое здоровье монстра, он тоже равен целому числу (например 100), но этот параметр в базовой секции есть почему то не у всех мутантов В секциях для подвидов параметр "maxhealthvalue" может быть представлен и целым числом (например 1.0) и десятичной дробью (например 0.75) и скорее всего является коэффициентом к параметру "maxhealthvalue" из базовой секции. Но как быть, если в базовой секции этого параметра нет? К какой строчке применяется коэффициент? Есть монстры, у которых параметр "maxhealthvalue" отсутствует и в базовой секции и в дополнительных, но зато в каждой секции есть параметр "health". И как в такой ситуации узнать реальное здоровье монстра? Мне необходимо подправить здоровье у всех подвидов всех монстров, поэтому так подробно размусоливаю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 12 ноября, 2023 (изменено) green_smile Набери в ютубе канал Sheva Stalker. Там плэйлист есть на эту тему. Так же через character_desc_имя локации удали сюжетные диалоги, а с помощью СДК удали документы квестовые Дополнено 5 минуты спустя Sikorskyi Расскажи что ты сделал, после чего стало вылетать Как сделать субтитры в кат-сцене? Как это например было в моде Лёд Изменено 12 ноября, 2023 пользователем Skala Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 Есть смарт со сквадом мутантов. Настройки смарта [smart_terrain] max_population = 1 def_restr = a2_dog_def_restr respawn_params = respawn@a2_dog respawn_radius = 50 [respawn@a2_dog] spawn_dogs [spawn_dogs] spawn_squads = simulation_dog spawn_num = 1 Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе, одна всегда как-то далеко от смарта или вообще идет куда-то. Ну, и бегут за мной по всей локации Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 12 ноября, 2023 11 минут назад, justrainy сказал: Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе Вот где вы видели такую конструкцию!? Почему бы не сделать по массе примеров из оригинала? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 По какой массе примеров? Где у каждого мутанта своя логика? Напишу я логику этим собакам с out_restr, но когда отреспавнятся дефолтные собаки они уже не будут этой логике подчиняться. Так ведь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 12 ноября, 2023 justrainy А, изобретаете значит свое. Вопросов не имею. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 Цитата Вот где вы видели такую конструкцию! В оригинале. В массе примеров Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 953 Опубликовано 12 ноября, 2023 (изменено) 46 минут назад, justrainy сказал: В оригинале. Достаточно одного конкретного примера, а не пространного заявления "их там есть". Изменено 12 ноября, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 274 Опубликовано 13 ноября, 2023 В 12.11.2023 в 13:30, Skala сказал: Расскажи что ты сделал, после чего стало вылетать Этот вылет на постоянной основе присутствует в моде "Farthest Edge". Примерно после прохождения половины мода становиться невозможно приблизится к деревне новичков. Видимо у какого-то НПС ошибка в диалогах. Потом эта ошибка пропадает, видимо вместе с самим НПС. Так что мод вполне проходим. Но ошибка, конечно, раздражает. А мод, кстати, классный! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 900 Опубликовано 13 ноября, 2023 Подскажите, как можно перенести предмет из слота для детекторов в рюкзак? (Чтобы слот стал свободен) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 13 ноября, 2023 (изменено) stack traceback: E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:410: in function 'load_jobs' E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:160: in function <E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:142> [error] Line : 638 [error] Description : E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\gulag_general.script:792: invalid level sequence near '"' Логика монстра: [logic@lvl_a2_dog_1] suitable = {=is_monster_dog} true prior = 70 monster_job = true active = mob_home@1 [mob_home@1] path_home = lvl_a2_dog_home_1 home_min_radius = 10 home_max_radius = 18 aggressive = true Пробовал path_home = home_1, так как lvl_a2_dog - название смарта. Изначально было просто home_1. Вылет остался. Пробовал вместо path_home ставить gulag_point = true. Вылет остался. До этого в suitable было =target_squad_name, вылета не было, но монстр логике не подчинялся. Изменено 13 ноября, 2023 пользователем justrainy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты