Overf1rst 1 440 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 16 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drive 10 Опубликовано 23 июня, 2023 Здравствуйте, не могу найти ошибку в логике , но она работает не корректно, при входе в вообще другой рестриктор, не относящийся к этому присылаются сообщения "actor_suda_nelzya" и "ti_schto_tupoy" хоть и есть проверки, что актор в рестрикторе (...) здесь и там. Спойлер [logic] active = sr_idle@1 [sr_idle@1] on_info = {=actor_in_zone(derevnya_actor_suda_nelzya)} sr_idle@2 %=play_sound(svd_shoot) =send_tip(actor_suda_nelzya)% on_info2 = {+seif_door_open} sr_idle@end [sr_idle@2] on_game_timer = 60 | {=actor_in_zone(derevnya_actor_suda_nelzya)} %=play_sound(svd_shoot) =send_tip(ti_schto_tupoy) =dec_faction_goodwill_to_actor(stalker:-5000)% [sr_idle@end] Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 832 Опубликовано 23 июня, 2023 39 минут назад, Drive сказал: Здравствуйте, не могу найти ошибку в логике Проверь размеры рестриктора, а также уточни его координаты. Дополнено 1 минуту спустя 1 час назад, Крим сказал: pri_a17_taras_dead Это точка - направление, в эту сторону НПС полетит после удара. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drive 10 Опубликовано 23 июня, 2023 @Neptun Размеры которые нужны, они даже не соприкасаются друг с другом) Прохожу в одном, а логика срабатывает от другого Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 786 Опубликовано 23 июня, 2023 15 минут назад, Drive сказал: Размеры которые нужны, они даже не соприкасаются друг с другом) Прохожу в одном, а логика срабатывает от другого Чудес не бывает, что проверяете то и срабатывает... Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drive 10 Опубликовано 23 июня, 2023 @denis2000 я конечно могу что-то недопонимать, но уж я точно знаю где и как у меня расположены рестрикторы, поэтому я и попросил помощи в поиске ошибки в самой логике) 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 118 Опубликовано 23 июня, 2023 (изменено) Drive А проверь, у тебя вообще тот спавн в игре стоит? Мб ты что-то двигал, или рестрикторы не так назвал, или что-то исправлял. А потом забыл закинуть исправленный спавн в игру. Изменено 23 июня, 2023 пользователем Prostomod Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 786 Опубликовано 23 июня, 2023 (изменено) 19 минут назад, Drive сказал: но уж я точно знаю где и как у меня расположены рестрикторы, поэтому я и попросил помощи в поиске ошибки в самой логике) В логике ошибки нет (кроме не фатального лишнего минуса перед 5000). Следующий вопрос. Изменено 23 июня, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Drive 10 Опубликовано 23 июня, 2023 (изменено) Вот собственно и "внутренности" Спойлер Спойлер [logic] active = sr_idle@1 [sr_idle@1] on_info = {=actor_in_zone(message_vstrechaet_sr) +actor_der_bas} sr_idle@end %=send_tip(podhodi_pogovorim) +actor_podoydi% [sr_idle@end] Изменено 23 июня, 2023 пользователем Drive Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 665 Опубликовано 23 июня, 2023 Neptun Спасибо! Дополнено 43 минуты спустя Возможно ли написать скриптовую функцию в диалоге, которая чинит все оружие и броню у игрока? Мне куда рыть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 786 Опубликовано 23 июня, 2023 Крим Спойлер function repair_actor_items_in_slots() local actor = db.actor local slot_tab = {2,3,7,12} for i = 1, #slot_tab do local item_in_slot = actor:item_in_slot(slot_tab) if item_in_slot ~= nil then item_in_slot:set_condition(1) end end end 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 118 Опубликовано 24 июня, 2023 (изменено) Появилась проблема: есть у меня смарт, где по задумке все НПС должны находиться в нём безвылазно, и воевать только в случае, если их атакуют. В онлайне всё нормально, но когда они оказались в оффлайне, то все дружно ушли в сторону вражеского смарта, а так как он располагается в изолированном участке АИ сетки (разделёны IN default рестриктором, сама сетка цельная), то если их перевести в онлайн, то они будут просто кучкой стоять в одном месте. Как такое поведение можно пофиксить? Хотелось бы без создания особой логики в смарте т.к. её почти нет, и все НПС просто ходят/стоят по вейпоинтам или сидят в смарткаверах. Спойлер [smart_terrain] squad_id = 2 max_population = 14 arrive_dist = 15 [exclusive] yan_vasilchuk_logic = yantar\npc\yan_vasilchuk_logic.ltx ;только для одного НПС есть особая работа, у остальных её нет Спойлер [logic@yan_vasilchuk_logic] suitable = {=check_npc_name(vasilchuk)} true active = walker@walker_1 prior = 200 [walker@walker_1] def_state_standing = wait_na corpse_detection_enabled = false gather_items_enabled = false combat_ignore_cond = true сombat_ignore = combat_ignore combat_ignore_keep_when_attacked = true invulnerable = true path_walk = vasilchuk_walk path_look = vasilchuk_look meet = meet [meet] no_move = false abuse = false allow_break = false meet_on_talking = false trade_enable = false close_snd_distance = 0 close_distance = 0 close_anim = wait_na close_victim = actor use = true UPD: я пофиксил это: сквад уникальный, поэтому в squad_descr_локация.ltx к нему я приписал параметр targer_smart = мой смарт. Дополнено 7 минуты спустя Другой вопрос: помню в ТЧ видел анимацию зомбированного: стоит у костра, иногда суёт руку туда, после чего отдёргивает и дальше стоит. В ЗП эта анимация сохранилась? И если да, то как она называется? Изменено 24 июня, 2023 пользователем Prostomod Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 118 Опубликовано 24 июня, 2023 (изменено) И сверху накину ещё вопрос: я пытаюсь сделать "зомби-стелс" как в Копачах в оригинале. Сделал логику для зомби, расставил вейпоинты и разные рескрикторы (NONE default) на территории. Однако, когда сквад зомби спавниться, то происходит безлоговый вылет (метод активации abort'ов отсюда (тык) я использую). Я смог определить, что вылет происходит немедленно после спавна сквада, и похоже, что проблема связана с логикой работ в смарте т.к. если их закомментировать, то вылета нет. Где я допустил ошибку? Спойлер [smart_terrain] ;имя смарта - yan_zavod_zombied_stealth_1_smart squad_id = 15 max_population = 1 arrive_dist = 100000 [exclusive] guard_1 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx guard_2 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx guard_3 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx guard_4 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx walker_1 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx walker_2 = yantar\npc\yan_zavod_zombied_stealth_1_logic.ltx Спойлер [walker@walker_universal_check] out_restr = yan_zavod_stealth_out_restrictor on_actor_dist_le_nvis = 5 | {-yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% on_sound = actor|WPN_shoot|10000|0.3| {=dist_to_actor_le(15) -yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% on_sound2 = actor|MST_step|10|0.1| {-yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% on_sound3 = actor|WPN_empty|15|0.3| {-yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% on_sound4 = actor|WPN_reload|15|0.3| {-yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% sound_idle = state combat_ignore_cond = {!is_enemy_actor -yan_zavod_stealth_failed} true, false corpse_detection_enabled = false danger = danger wounded = wounded on_hit = hit [danger] ignore_distance = 0 [wounded] hp_state = 0|wounded_heavy@help_heavy hp_state_see = 0|wounded_heavy@help_heavy hp_victim = 0|nil hp_fight = 0|false hp_cover = 0|false [hit] on_info = {is_alive() -yan_zavod_stealth_failed} %+yan_zavod_stealth_failed% [logic@guard_1] active = walker@guard_1 suitable = {=npc_community(zombied)} true [walker@guard_1]:walker@walker_universal_check path_walk = guard_1_walk path_look = guard_1_look [logic@guard_2] active = walker@guard_2 suitable = {=npc_community(zombied)} true [walker@guard_2]:walker@walker_universal_check path_walk = guard_2_walk path_look = guard_2_look [logic@guard_3] active = walker@guard_3 suitable = {=npc_community(zombied)} true [walker@guard_3]:walker@walker_universal_check path_walk = guard_3_walk path_look = guard_3_look [logic@guard_4] active = walker@guard_4 suitable = {=npc_community(zombied)} true [walker@guard_4]:walker@walker_universal_check path_walk = guard_4_walk path_look = guard_4_look [logic@walker_1] active = walker@walker_1 suitable = {=npc_community(zombied)} true [walker@walker_1]:walker@walker_universal_check path_walk = walker_1_walk path_look = walker_1_look [logic@walker_2] active = walker@walker_2 suitable = {=npc_community(zombied)} true [walker@walker_2]:walker@walker_universal_check path_walk = walker_2_walk path_look = walker_2_look Вейпоинты проверены: все они совпадают по шаблону с "имя_смарта"_"имя_пути_в_логике". Дополнено 6 минуты спустя Про безлоговый вылет сам нашёл ответ: он может быть в случае, если в секции path_look (а мб и path_walk) указан путь, которого вообще не существует. Я копировал логику волкеров с гардов, и у волкеров нет пути look, хоть он и прописан в логике. Короче, банальная невнимательность. Вопрос про анимацию зомби у костра ещё в силе. Изменено 24 июня, 2023 пользователем Prostomod Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 665 Опубликовано 24 июня, 2023 2 часа назад, Prostomod сказал: Вопрос про анимацию зомби у костра ещё в силе. 14 часов назад, Prostomod сказал: Другой вопрос: помню в ТЧ видел анимацию зомбированного: стоит у костра, иногда суёт руку туда, после чего отдёргивает и дальше стоит. В ЗП эта анимация сохранилась? И если да, то как она называется? Вообще не знаю, но попробуй: trans_zombied Название анимации отыскал в скриптах. Просмотреть пока не могу. Попробуй может это она. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prostomod 1 118 Опубликовано 24 июня, 2023 2 часа назад, Крим сказал: может это она. Да, это она, работает нормально. Спасибо. 1 Мод в разработке - X-7: Эпицентр Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mawrak 408 Опубликовано 25 июня, 2023 Подскажите пожалуйста, в чём ошибка в логике? [logic] active = mob_home on_death = death [mob_home] path_home = way_mod_insanity_home home_min_radius = 15 home_max_radius = 20 aggressive = true [death] on_info = %+aaa_mob_insanity_3% %=on_mob_3_kill% Работает всё (включая скрипт on_mob_3_kill) кроме выдачи инфопоршня +aaa_mob_insanity_3. Как я понимаю, строчка в [death] неправильно прописана. Но я не могу найти, как правильно ее написать, чтобы обе функции сработали. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 832 Опубликовано 25 июня, 2023 Mawrak on_info = %+aaa_mob_insanity_3% %=on_mob_3_kill% - в одни проценты! Вот так: %+aaa_mob_insanity_3 =on_mob_3_kill% 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AC6 26 Опубликовано 25 июня, 2023 Здравствуйте! Мы все знаем, что в оригинальной игре мы можем добавлять аксессуары, такие как прицелы или глушители, непосредственно к оружию, но как я могу добавить такие аксессуары, как расширяющий магазин (как в OGSE) или рукоятка? Что мне делать? Это касается двигателя? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 982 Опубликовано 25 июня, 2023 7 минут назад, AC6 сказал: Это касается двигателя? Ну да... явно не карбюратора..)) Группа мода в VK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AC6 26 Опубликовано 25 июня, 2023 6 минут назад, Policai сказал: Ну да... явно не карбюратора..)) Извините, я не понимаю русский язык, поэтому я использую механический перевод, я имею в виду, такие вещи, как XRAY, которые мы здесь называем двигателями, извините, что принесли вам недоразумение Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Policai 982 Опубликовано 25 июня, 2023 AC6 Да, это движковые правки... Группа мода в VK Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AC6 26 Опубликовано 25 июня, 2023 4 минуты назад, Policai сказал: Да, это движковые правки... Хорошо, скажите пожалуйста, трудно ли редактировать движок? Где я могу этому научиться? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AfterGlow 551 Опубликовано 25 июня, 2023 AC6 гайдов нет. Рекомендуется приступать к правкам движка хотя бы с минимальным знанием C++. Могу посоветовать скачать оригинальное репо сталкера и репо каких-либо других проектов вроде StCOP или OpenX-ray, чтобы посомтреть вообще, как это делать. По поводу первого твоего вопроса. Если такое оружие планируется в единичных экземплярах, то можно просто переделать модель (в случае с рукояткой и новые анимации сделать) и отредактировать конфиг. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AC6 26 Опубликовано 25 июня, 2023 5 минут назад, AfterGlow сказал: Рекомендуется приступать к правкам движка хотя бы с минимальным знанием C++. Хорошо... Я попробую. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boomer 274 Опубликовано 25 июня, 2023 Mутант не хочет видеть мою логику. С обычными нпс всё всегда нормально, а мутанта делаю аналогично, но логику он не видит. Спойлер [smart_terrain];agr_kontrik_terrain squad_id = 13 max_population = 1 [exclusive] agr_controller_2part_normal = agroprom\quest_mutants_logic\agr_controller_2part_normal.ltx Спойлер [logic@agr_controller_2part_normal] active = mob_walker@stay suitable = {=check_npc_name(agr_controller_2part_normal)} true monster_job = true [mob_walker@stay] path_walk = kontrik_tonnel_stay path_look = kontrik_tonnel_look actor_friendly = true invulnerable = true aggressive = false Спойлер [agr_controller_2part_normal]:m_controller_normal $spawn = "respawn\agr_controller_2part_normal" story_id = agr_controller_2part_normal Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mass 78 Опубликовано 25 июня, 2023 Boomer Что-то не вижу чтобы он был в скваде. Также стоит указать prior = . По умолчанию приоритет равен 45 для эксклюзивов. Лучше его сделать больше! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты