Overf1rst 1 502 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kion 64 Опубликовано 14 декабря, 2022 28 минут назад, GameCube сказал: Kion тоже не понимаю. Ошибки есть? Может неправильно что прописали. Или проблема в другом. Ещё какие-нибудь файлы до вылета изменяли? GameCube Предполагаю, что неправильно прописал логику вражеских НПС, так как лог направляет на строку в файле xr_conditions, где прописана репутация актёра к НПС Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 Здравствуйте, впервые сделал смарт-террейн (базу). Заспавнил механика с помощью сквада, спавнится нормально, но при попытке прописать ему логику через [exclusive], получаю вылет. Спойлер Expression : !m_error_code Function : raii_guard::~raii_guard File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp Line : 748 Description : ...k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) Не знаю нужно или нет, но вот логика смарта. Спойлер [smart_terrain];esc_a1_smart_stalker_base squad_id = 1 def_restr = esc_def_noweap_base_stalker safe_restr = esc_def_noweap_base_stalker smart_control = smart_control respawn_params = respawn@esc_smart_stalker_base max_population = 6 arrive_dist = 65 [respawn@esc_smart_stalker_base] spawn_stalker@advanced spawn_stalker@mechanic [spawn_stalker@advanced] spawn_squads = stalker_sim_squad_advanced, stalker_sim_squad_novice spawn_num = 2 [spawn_stalker@mechanic] spawn_squads = esc_mechanic_stalker_base_squad spawn_num = 1 [smart_control] noweap_zone = esc_def_noweap_base_stalker ignore_zone = esc_def_noweap_base_stalker alarm_start_sound = zat_a2_base_alarm alarm_stop_sound = zat_a2_base_relax [exclusive] esc_mechanic_dn = escape\esc_mechanic.ltx 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 (изменено) ух, чувствую много шишек набью пока свою поделку разрабатывать буду) непись есть, анимпоинт есть, но непись ни в какую вставать на него не хочет. на всяк случай вот файл логики, делал все по 2 урокам, и ни один из них не помог первый урок второй урок вот как выглядит файл логики в финальном варианте(т.е после урока от sheva): Спойлер [logic@predbannik_pantera] active = animpoint@predbannik_pantera suitable = {=check_npc_name(predbannik_pantera)}true prior = 200 level_spot = mechanic [animpoint@predbannik_pantera] use_camp = false cover_name = predbannik_exclusive_smart_animpoint avail_animations = stay_wall и вот как выглядела логика после первого урока Спойлер [logic@predbannik_pantera] active = animpoint@predbannik_pantera suitable = {=check_npc_name(predbannik_pantera)}true prior = 200 level_spot = mechanic [animpoint@predbannik_pantera] use_camp = false cover_name = predbannik_exclusive_smart_animpoint meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false avail_animations = stay_wall если нужно прикрепить что то еще, то я обязательно это сделаю. нпс занимаюсь впервые, поэтому в этом деле я даже глупее дуба Изменено 16 декабря, 2022 пользователем АлеБард убрал одну строчку которая случайно продублировалась при копировании хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 (изменено) АлеБард В логике должен быть: loopholes = имя анимации аниипоинта. Например loophples = animpoint_sit_low. Вроде так Изменено 16 декабря, 2022 пользователем FalkineIsaku 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 FalkineIsaku нигде не нашел ничего по этому поводу, но так уж и быть - прописал. не помогло... хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 АлеБард попробуй посмотреть в логике нпс с затона, лучше со Скадовска, если не ошибаюсь, то название логики Бороды zat_a2_barmen. Я взял его логику анимпоинта и настроил под себя. Все работает 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vodka 159 Опубликовано 16 декабря, 2022 АлеБард Попробуй такую. Где нужно переименуй. НПС у тебя становится эксклюзивом? Просто если он у тебя им не стал(т.е как обычный сталкер заспавнился), то проблема в другом месте. [logic@mart_stalker_tech] suitable = {=check_npc_name(jup_b217_stalker_tech)} true trade = misc\trade\only_use\base_upgrades.ltx prior = 200 active = animpoint@tech can_select_weapon = false level_spot = barmen [animpoint@tech] cover_name = jup_smart_tech_yanov avail_animations = animpoint_sit_normal use_camp = false meet = meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true ;out_restr = jup_space_restrictor_noweapon invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet] close_snd_hello = jup_b217_stalker_tech_greeting close_snd_bye = jup_b217_stalker_tech_farewell close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 close_snd_distance = 3 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil allow_break = false meet_on_talking = false Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 293 Опубликовано 16 декабря, 2022 Здравствуйте,я добавил сны по гайду Шевы с ютуба,и видео файлы из оригинала игры при сне отображаются корректно,а то видео которое я добавил(скачал с ютуба и перефоматировал в ogv формат отображается чёрным экраном.Я проверял видео находится в нужной папке Секция со сновидениями в файле game_tutorials выглядит так: <dream_sleep_tutor> <play_each_item>1</play_each_item> <global_wnd x="0" y="0" width="1280" height="720"> <auto_static x="0" y="0" width="1024" height="768" stretch="1"> <window_name>back</window_name> <texture>intro\intro_back</texture> </auto_static> </global_wnd> <item> <function_check_start>dream_sleep.drem_sleep_function_1</function_check_start> <pause_state>on</pause_state> <main_wnd/> </item> <item type="video"> <sound>characters_voice\scenario\video\outro</sound> <function_check_start>dream_sleep.drem_sleep_function_2</function_check_start> <pause_state>on</pause_state> <can_be_stopped>on</can_be_stopped> <video_wnd x="0" y="0" width="1280" height="720" stretch="1"> <texture x="0" y="1" width="512" height="286">intro\outro_half</texture> </video_wnd> </item> <item type="video"> <sound>characters_voice\scenario\video\intro</sound> <function_check_start>dream_sleep.drem_sleep_function_3</function_check_start> <pause_state>on</pause_state> <can_be_stopped>on</can_be_stopped> <video_wnd x="0" y="0" width="1280" height="720" stretch="1"> <texture x="0" y="1" width="512" height="286">intro\intro_half</texture> </video_wnd> </item> <item type="video"> <sound>characters_voice\scenario\video\sleep_sound_vibros</sound> <function_check_start>dream_sleep.drem_sleep_function_4</function_check_start> <pause_state>on</pause_state> <can_be_stopped>on</can_be_stopped> <video_wnd x="0" y="0" width="1280" height="720" stretch="1"> <texture x="0" y="1" width="512" height="286">intro\aes_sky_red</texture> </video_wnd> </item> <item type="video"> <sound>characters_voice\scenario\video\joke</sound> <function_check_start>dream_sleep.drem_sleep_function_5</function_check_start> <pause_state>on</pause_state> <can_be_stopped>on</can_be_stopped> <video_wnd x="0" y="0" width="1280" height="720" stretch="1"> <texture x="0" y="1" width="512" height="286">intro\black_stalker_joke</texture> </video_wnd> </item> </dream_sleep_tutor> Заранее спасибо Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 48 минут назад, АлеБард сказал: логика 1 (Скрыть контент) suitable = {=check_npc_name(predbannik_pantera)}true логика 2 (Скрыть контент) suitable = {=check_npc_name(predbannik_pantera)} true Кстати, ты там пробел не поставил, может из-за этого? 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vodka 159 Опубликовано 16 декабря, 2022 Belka_mod Спойлер Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 18 минут назад, Vodka сказал: НПС у тебя становится эксклюзивом? а как проверить-то? опять же извиняюсь за банальные вопросы, я в этом деле дуб-дубом хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 АлеБард У тебя нпс заспавнен через смарт-террейн или алл.спавн? 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 FalkineIsaku через смарт. заметил еще что бессмертия которое у него прописано отсутствует, от одной пульки бедолага склеевается хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Vodka 159 Опубликовано 16 декабря, 2022 АлеБард обычные нпс это обычные нпс. Эксклюзивные это те, которые имеют логику. Пропиши ему trade = как в логике выше(из оригинала возьми), и проверь, подхватит ли он торговлю. Если он торгует гармошками с батонами - значит не подхватил. Если этого не произошло - значит он заспавнился как обычный нпс, а тут уже проблема не в логике. Тебе придётся скинуть и логику смарта, и то что у тебя в сквад дескре написано. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Daniil1989 22 Опубликовано 16 декабря, 2022 (изменено) 2 часа назад, АлеБард сказал: Вот урок по заселению эсклюзивного НПСа Вот урок по заселению эсклюзивного НПСа Изменено 16 декабря, 2022 пользователем Daniil1989 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 Vodka хм, и правда не подхватил... Спойлер [smart_terrain] squad_id = 1 max_population = 1 arrive_dist = 100 [exclusive] predbannik_pantera = predbannik\predbannik_pantera Спойлер ; Здесь содержатся дескрипшены сквадов, которые потом можно создавать используя спец функции. [predbannik_pantera_squad]:online_offline_group faction = stalker npc = predbannik_pantera target_smart = predbannik_exclusive_smart ;spawn_point = story_id = predbannik_pantera_squad хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FalkineIsaku 81 Опубликовано 16 декабря, 2022 АлеБард У тебя нпс зарегистрирован в spawn_sections? 𝐒𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟, 𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫…𝐬𝐭𝐨𝐩 𝐡𝐢𝐭𝐭𝐢𝐧𝐠 𝐲𝐨𝐮𝐫𝐬𝐞𝐥𝐟 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 FalkineIsaku да Спойлер [predbannik_pantera]:stalker $spawn = "respawn\predbannik_pantera" character_profile = predbannik_pantera spec_rank = veteran community = stalker story_id = predbannik_pantera хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Emmis 496 Опубликовано 16 декабря, 2022 9 минут назад, АлеБард сказал: АлеБард [exclusive] predbannik_pantera = predbannik\predbannik_pantera predbannik_pantera = predbannik\predbannik_pantera.ltx .ltx на конце забыли История Джона 2 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 Emmis после добавления .ltx проблема не решилась хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Daniil1989 22 Опубликовано 16 декабря, 2022 4 часа назад, АлеБард сказал: ух, чувствую много шишек набью пока свою поделку разрабатывать буду) непись есть, анимпоинт есть, но непись ни в какую вставать на него не хочет. на всяк случай вот файл логики, делал все по 2 урокам, и ни один из них не помог первый урок второй урок вот как выглядит файл логики в финальном варианте(т.е после урока от sheva): логика 1 (Показать контент) [logic@predbannik_pantera] active = animpoint@predbannik_pantera suitable = {=check_npc_name(predbannik_pantera)}true prior = 200 level_spot = mechanic [animpoint@predbannik_pantera] use_camp = false cover_name = predbannik_exclusive_smart_animpoint avail_animations = stay_wall и вот как выглядела логика после первого урока логика 2 (Скрыть контент) [logic@predbannik_pantera] active = animpoint@predbannik_pantera suitable = {=check_npc_name(predbannik_pantera)}true prior = 200 level_spot = mechanic [animpoint@predbannik_pantera] use_camp = false cover_name = predbannik_exclusive_smart_animpoint meet = no_meet combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false avail_animations = stay_wall если нужно прикрепить что то еще, то я обязательно это сделаю. нпс занимаюсь впервые, поэтому в этом деле я даже глупее дуба У тебя в 2 логике cover_name = predbannik_exclusive_smart_animpoint не правильно написано должно быть написано во так cover_name = predbannik_pantera_animpoint Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 6 минут назад, Daniil1989 сказал: должно быть написано во так cover_name = predbannik_pantera_animpoint так это название кавера, которое прописывается еще в сдк, или это у меня деменция уже? я взял название из сдк. в любом случае не помогло. хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Daniil1989 22 Опубликовано 16 декабря, 2022 1 час назад, АлеБард сказал: так это название кавера, которое прописывается еще в сдк, или это у меня деменция уже? я взял название из сдк. в любом случае не помогло. А точно какая проблема у тебя Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
АлеБард 5 Опубликовано 16 декабря, 2022 (изменено) 1 минуту назад, Daniil1989 сказал: А точно какая проблема у тебя все написано выше. изначально проблема заключалась в том что заспавненный нпс не идет на анимпоинт, однако сейчас выяснили что он спавнится не эксклюзивным, а обычным, как это исправить я не знаю Изменено 16 декабря, 2022 пользователем АлеБард хочешь обмануть человека - скажи ему правду. хочешь обмануть меня - скажи... блин, в голове звучало лучше Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Daniil1989 22 Опубликовано 16 декабря, 2022 (изменено) 2 часа назад, АлеБард сказал: все написано выше. изначально проблема заключалась в том что заспавненный нпс не идет на анимпоинт, однако сейчас выяснили что он спавнится не эксклюзивным, а обычным, как это исправить я не знаю Тебе ну жен чотобы он был эксклюзивным тогда нуждно написать в логике Для Торговца: level_spot = trader trade = misc\trade\trade_Имя нпс у которого есть файл торговли.ltx Для Механика: level_spot = mechanic Для Медика: level_spot = medic trade = misc\trade\trade_jup_b202_stalker_medic.ltx Может это видио тебе поможет Изменено 16 декабря, 2022 пользователем Daniil1989 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты