Overf1rst 1 505 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZonaChe 407 Опубликовано Суббота в 14:48 Paradox27kms всё мож быть, я чн вообще не ковырял, так, по мелочи в одном моде (в разработке) худ поправил, но не более того. тогда остаётся только курсорная анимка. уж она точно должна работать) Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты... Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано Суббота в 14:52 Бессмертный в xr_effects вот эту функцию Спойлер function change_actor_community() db.actor:set_character_community("freedom", 0, 0) end в диалоге вызываешь <action>xr_effects.change_actor_community</action> скорее всего эту же функцию можно и в dialogs_(название локации) вставить но я для теста закинул xr_effects и всё работает Дополнено 12 минуты спустя 3 часа назад, denis2000 сказал: Чисто теоретически это возможно реализовать скриптами а к примеру вообще убрать этот указатель если игрок на другой локации, можно? если да то как? 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 982 Опубликовано Суббота в 16:58 (изменено) Pavel2000 Смотри скрипт task_objects.script, там есть механизм который ставит метку на проводника если задание на другой локации. Изменено Суббота в 16:59 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано Суббота в 17:32 (изменено) denis2000 поправил айдишники в этом файле на айдишники моих спотов получилось так стрелка всё равно в сторону янова показывает(проводника там нет) на месте перехода появилась вот эта жёлтая обводка (опытным путём было выявлено что стрелка указывает на граф поинт привязанный к тому уровню на котором указатель квеста) Изменено Суббота в 18:11 пользователем Pavel2000 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 982 Опубликовано Суббота в 18:33 Pavel2000 Править метки не достаточно. Вам придется более серьезным образом разобраться в работе скрипта... Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано Суббота в 18:50 denis2000 или просто переместить нужный game graph туда где переход(что собственно я и сделал и моя проблема так сказать решена) «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
NewValveCom 125 Опубликовано Суббота в 22:00 Создал скрипт записок: при использовании записки в инвентаре на экран выводится сама записка и две кнопки: Показать текст и выход. Спойлер class "catalyst_note" (CUIScriptWnd) show_text = false note_text_number = 1 function catalyst_note:__init() super() self:InitControls() self:InitCallBacks() end function catalyst_note:__finalize() end function catalyst_note:InitControls() local xml = CScriptXmlInit() self:SetWndRect(Frect():set(0,0,1024,768)) xml:ParseFile("catalyst_notes.xml") if note_text_number == 1 then self.note_one = xml:InitStatic("note_one", self) elseif note_text_number == 2 then self.note_two = xml:InitStatic("note_two", self) elseif note_text_number == 3 then self.note_three = xml:InitStatic("note_three", self) elseif note_text_number == 4 then self.note_four = xml:InitStatic("note_four", self) elseif note_text_number == 5 then self.note_five = xml:InitStatic("note_five", self) end self.main_text = xml:InitStatic("main_text", self) self.btn_show_text = xml:Init3tButton("btn_show_text", self) self:Register(self.btn_show_text, "btn_show_text") self.btn_quit = xml:Init3tButton("btn_quit", self) self:Register(self.btn_quit, "btn_quit") end function catalyst_note:InitCallBacks() self:AddCallback("btn_quit", ui_events.BUTTON_CLICKED, self.click_quit, self) self:AddCallback("btn_show_text", ui_events.BUTTON_CLICKED, self.click_show_text, self) end function catalyst_note:click_show_text() if note_text_number == 1 then self.main_text:SetText("текст 1") elseif note_text_number == 2 then self.main_text:SetText("текст 2") elseif note_text_number == 3 then self.main_text:SetText("текст 3") elseif note_text_number == 4 then self.main_text:SetText("текст 4") elseif note_text_number == 5 then self.main_text:SetText("текст 5") end end function catalyst_note:click_quit() self:HideDialog() end function use_obj(obj) if not obj then return end local section = obj:section() if section == "zapiska_seni" then alife():create("zapiska_seni",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) note_text_number = 1 level.start_stop_menu(catalyst_note(), true) elseif section == "zapiska_shrumi_buhar" then alife():create("zapiska_shrumi_buhar",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) note_text_number = 2 level.start_stop_menu(catalyst_note(), true) elseif section == "zapiska_baza" then alife():create("zapiska_baza",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) note_text_number = 3 level.start_stop_menu(catalyst_note(), true) elseif section == "zapiska_rudolf" then alife():create("zapiska_rudolf",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) note_text_number = 4 level.start_stop_menu(catalyst_note(), true) elseif section == "zapiska_trio_genius" then alife():create("zapiska_trio_genius",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id()) note_text_number = 5 level.start_stop_menu(catalyst_note(), true) end end Есть три вопроса, как сделать следующее: 1. Как закрыть инвентарь при использовании записки, и открыть обратно при закрытии записки. 2. Как выдать инфопоршень при выходе из записки? 3. Возможно ли затемнить фон при открытии записки? Если да, то подскажите пожалуйста как. Заранее благодарю. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 306 Опубликовано Суббота в 23:04 NewValveCom 1. не знаю метод из огсра, но реально может работать и в зп local wnd = level.get_inventory_wnd() if wnd:IsEnabled() then wnd:Enable(false) end открыть if not wnd:IsEnabled() then wnd:Enable(true) end 2. Наверное это функция click_quit там выдавай инфу 3. найти эффект камеры где-нибудь или самому его изобрести Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hrust 546 Опубликовано вчера в 00:29 (изменено) @NewValveCom, @ian98, есть `actor_menu.script`, но там экспортированы в xr_logic состояния открытого окна лута и апгрейде, сделайте по аналогии экспорт и для инвентаря. P.S. Что-то не пойму, зачем эти заметки, когда можно восстановить энциклопедию... Изменено вчера в 00:31 пользователем Hrust 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано вчера в 10:31 (изменено) Подскажите пожалуйста, где можно найти еще анимпоинтов для зп и сдк? Срочно нужны Дополнено 5 минуты спустя как вызвать функцию через рестриктор? мне нужно чтобы сообщение выводилось на экран Спойлер [logic] active = sr_idle [sr_idle] on_info = {=actor_in_zone(military_start_space_restrictor)} %=start_sms% Спойлер function start_sms(actor, npc) news_manager.send_tip(db.actor, "нужный мне текст", 10000, "freedom", 18000, 902) end потом просто при запуске новой игры когда вхожу в рестриктор вылет, имена рестрикторов правильные, я проверял в сдк, кастом дата тоже правильная. что я делаю не так? и да, 902 это story_id сахарова, но его нет в игре, поэтому вылет? и как мне прописать story_id нужному мне нпс, чтобы от него приходило сообщение? game_story_ids вообще у меня нет, я там ничего не писал. Дополнено 16 минуты спустя лога тоже нет, просто strack trace: и всё. --error_log в g_script я расскоментировал, думал что даст настоящий лог но толку нет Изменено вчера в 12:40 пользователем RomaL23 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 808 Опубликовано вчера в 15:55 Приветствую. Как задать анимацию физическому предмету? У меня есть ноутбук, который должен открыться после нажатия. Только происходит вылет: Спойлер 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 : ....r. call of pripyat\gamedata\scripts\xr_logic.script:734: bad argument #1 to 'pairs' (table expected, got nil) stack trace: Вот собственно логика этого ноутбука, если что - эту модель я брал из ТС. Я посмотрел и увидел, что у этой модели ноутбука есть ряд анимации. Спойлер [logic] active = ph_idle@wait [ph_idle@wait] on_info = {+val_a1_polovinkin_find_off_start_dialog_end_i} ph_idle@useopening [ph_button@useopening] anim_blend = true anim = idle_close on_use = ph_button@opening %+val_a1_af_prolog_scann_notebook_active_info% [ph_button@opening] anim_blend = true anim = open on_game_timer = 25 | ph_button@opened [ph_button@opened] anim_blend = true anim = idle Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано вчера в 15:59 2 минуты назад, Крим сказал: ph_idle@useopening 2 минуты назад, Крим сказал: [ph_button@useopening] переход на секцию неправильный 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Бессмертный 2 Опубликовано вчера в 18:42 Создал диалог, который в конце прерывается, скрывается интерфейс и отнимается управление, после чего звучит сообщение на ПДА, после чего с этим же персонажем должен запуститься второй диалог, при завершении которого должен быть выдан квест. Делал по аналогии с ЧН-овским квестом в начале, когда диалог с Лебедевым прерывается на сообщение о необходимости помочь форпосту. В результате в игре ситуация следующая: после прерывания диалога, проигрывания и вывода на экран сообщения на ПДА, игра просто висит в таком состоянии и не запускает второй диалог. Вылета при этом нет, игра работает, просто не отдает управление игроку. Закрыть игру и посмотреть лог/консоль не получается, только через диспетчер задач. Логику сцены и НПС прикладываю. И в логике, и в диалогах ковырялся, толку нет, второй диалог просто не возникает. В чем может быть проблема? Спойлер [sr_idle@scene_3_scientist_wait] on_info = {+mar_intro_talk_with_scientist_1_radio_timer} sr_idle@scene_3_scientist_time [sr_idle@scene_3_scientist_time] on_timer = 40000 | %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)% ;2nd iteration on_info = {+mar_intro_talk_with_scientist_1_radio_played} sr_idle@scene_3_scientist_catch, {+mar_intro_talk_with_scientist_1_break} %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)% on_signal = sound_end | sr_idle@scene_3_scientist_catch %+mar_intro_talk_with_scientist_1_radio_played% [sr_idle@scene_3_scientist_catch] on_info = {+mar_intro_talk_with_commander_1_started} sr_idle@scene_3_scientist_ui %=give_inited_task(storyline:mar_story_talk_with_commander_1:csky)% [sr_idle@scene_3_scientist_ui] on_info = {!talking} sr_idle@scene_3_commander_wait %=enable_ui% Спойлер [logic] active = smartcover@table_idle level_spot = quest_npc [smartcover@table_idle] path_walk = mar_smart_terrain_csky_base_scientist_walk cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table loophole_name = lead_stand_look_at_table cover_state = idle_target on_info = {+mar_intro_talk_with_commander_1_radio_played} smartcover@tutorial_1 combat_ignore_cond = true meet = meet ;target_path = mar_smart_terrain_csky_base_scientist_look ;def_state_moving = walk [smartcover@table_fire_no_lookout] path_walk = mar_smart_terrain_csky_base_scientist_walk cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table loophole_name = lead_stand_look_at_table cover_state = fire_no_lookout_target on_timer = 15000 | smartcover@table_idle combat_ignore_cond = true meet = meet ;target_path = mar_smart_terrain_csky_base_scientist_look [smartcover@tutorial_1] path_walk = mar_smart_terrain_csky_base_scientist_walk cover_name = mar_smart_cover_csky_scientist_lead_stand_look_at_table loophole_name = lead_stand_look_at_table cover_state = fire_no_lookout_target combat_ignore_cond = true meet = meet@self ;target_path = mar_smart_terrain_csky_base_scientist_look ;----------------------------------------------------------------------------- [meet] meet_state = 3 | nil@nil meet_state_wpn = 3 | nil@nil victim = 0 | actor victim_wpn = 0 | actor use = true use_wpn = true precond = visibility meet_dialog = {+mar_intro_talk_with_barman_done -mar_intro_talk_with_scientist_1_radio_played} mar_csky_intro_doctor trade_enable = false sound_start = mar_csky_doctor_meet sound_stop = mar_csky_doctor_meet_bye quest_npc = true [meet@self] ;Юзание после связи по ПДА meet_state = 3 | nil@nil meet_state_wpn = 3 | nil@nil victim = 0 | actor victim_wpn = 0 | actor use = true use_wpn = true precond = visibility meet_dialog = mar_csky_intro_doctor2 allow_break = false trade_enable = false Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sosiska23 0 Опубликовано вчера в 19:02 радио включается долго, выключается моментально а включается обратно только через раз и то надо подождать Спойлер [logic] active = ph_idle@play [ph_idle@play] on_info = %=play_sound(radio_stalker_1)% ph_idle@time [ph_idle@off] on_use = ph_idle@play tips = radio_on [ph_idle@time] on_use = ph_idle@off %=stop_sound% tips = radio_off Спойлер [radio_stalker_1] type = 3d path = radio\radio_stalker_1 shuffle = rnd Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано вчера в 19:20 (изменено) sosiska23 попробуйте вот так [logic] active = ph_idle@play [ph_idle@play] on_info = ph_idle@on %=play_sound(radio_stalker_1)% [ph_idle@on] on_use = ph_idle@off %=stop_sound% tips = radio_on [ph_idle@off] on_use = ph_idle@on %=play_sound(radio_stalker_1)% tips = radio_off Дополнено 1 минуту спустя 38 минут назад, sosiska23 сказал: [radio_stalker_1] type = 3d path = radio\radio_stalker_1 shuffle = rnd тут ещё добавьте idle = 0,0,100 Дополнено 17 минуты спустя Бессмертный я не уверен что это сработает но попробуйте вот так Спойлер [sr_idle@scene_3_scientist_wait] on_info = {+mar_intro_talk_with_scientist_1_radio_timer} sr_idle@scene_3_scientist_time [sr_idle@scene_3_scientist_time] on_timer = 40000 | sr_idle@wait_sound_end %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)% ;2nd iteration on_info = {+mar_intro_talk_with_scientist_1_break} sr_idle@wait_sound_end %=play_sound(mar_csky_leader_to_scientist_0:csky:mar_csky_commander_name)% [sr_idle@wait_sound_end] on_signal = sound_end | sr_idle@scene_3_scientist_catch %+mar_intro_talk_with_scientist_1_radio_played% [sr_idle@scene_3_scientist_catch] on_info = {+mar_intro_talk_with_commander_1_started} sr_idle@scene_3_scientist_ui %=give_inited_task(storyline:mar_story_talk_with_commander_1:csky)% [sr_idle@scene_3_scientist_ui] on_info = {!talking} sr_idle@scene_3_commander_wait %=enable_ui% и тут ещё не понято где выдаётся поршень +mar_intro_talk_with_commander_1_radio_played для активации второй секции meet Изменено вчера в 19:41 пользователем Pavel2000 1 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Бессмертный 2 Опубликовано 23 часа назад 44 минуты назад, Pavel2000 сказал: я не уверен что это сработает но попробуйте вот так К сожалению, не сработало. Зато поправил ошибку с поршнем "+mar_intro_talk_with_commander_1_radio_played", корректно будет "+mar_intro_talk_with_scientist_1_radio_played". Поменял в логике НПС, но и это не помогло, игра так и осталась висеть. Дополнено 4 минуты спустя Может, косяк в диалогах (в плане выдачи инфопорций)? Прикрепляю оба под спойлеры. Спойлер <dialog id="mar_csky_intro_doctor"> <has_info>mar_intro_talk_with_scientist_1_started</has_info> <dont_has_info>mar_intro_talk_with_scientist_1_break</dont_has_info> <phrase_list> <phrase id="2"> <text>mar_csky_intro_doctor_2</text> <next>3</next> </phrase> <phrase id="1"> <text>mar_csky_intro_doctor_1</text> <next>2</next> </phrase> <phrase id="0"> <text>mar_csky_intro_doctor_0</text> <next>1</next> </phrase> <phrase id="3"> <text>mar_csky_intro_doctor_3</text> <next>4</next> </phrase> <phrase id="4"> <text>mar_csky_intro_doctor_4</text> <give_info>mar_intro_talk_with_scientist_1_radio_timer</give_info> <next>5</next> </phrase> <phrase id="5"> <text>mar_csky_intro_doctor_5</text> <action>dialogs.break_dialog</action> <action>dialogs_marsh.disable_ui</action> <give_info>mar_intro_talk_with_scientist_1_break</give_info> </phrase> </phrase_list> </dialog> Спойлер <dialog id="mar_csky_intro_doctor2"> <phrase_list> <phrase id="1"> <text>mar_csky_intro_doctor2_1</text> <next>2</next> </phrase> <phrase id="2"> <text>mar_csky_intro_doctor2_2</text> <give_info>mar_intro_talk_with_scientist_1_done</give_info> <next>3</next> </phrase> <phrase id="3"> <text>mar_csky_intro_doctor2_3</text> <give_info>mar_intro_talk_with_commander_1_started</give_info> </phrase> <phrase id="0"> <text>mar_csky_intro_doctor2_0</text> <action>dialogs_marsh.enable_input</action> <next>1</next> </phrase> </phrase_list> </dialog> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано 23 часа назад Бессмертный ну висит она у вас потому что логика сцены не доходит до той секции где происходит её включение enable_ui 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Бессмертный 2 Опубликовано 23 часа назад 10 минут назад, Pavel2000 сказал: Бессмертный ну висит она у вас потому что логика сцены не доходит до той секции где происходит её включение enable_ui Копать стоит именно в логику сцены, логику НПС, или может быть ошибка в настройке инфопорций для диалога? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pavel2000 46 Опубликовано 23 часа назад Бессмертный Оно всё вместе друг от друга зависит, просто надо вдумчиво просмотреть все зависимости по порядку где какой поршень нужен, выдаётся он или нет, я например если где то в упор не вижу ошибку прописываю в секцию каждой схемы дополнительный on_info с функцией вывода смс сообщения 1 1 «Если долго мучиться, что-нибудь получится» Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hounfor 40 Опубликовано 21 час назад Есть нубский вопрос по скриптам, я в них вообще не шарю. Вот скрипт для блокировки взятия в руки минигана, если игрок не экипирован в экзу: Спойлер function check_armor() local armor, weapon, weapon_2 = db.actor:item_in_slot(7), db.actor:item_in_slot(2), db.actor:item_in_slot(3) if (db.actor and db.actor:active_slot()==2 and weapon) then local tmp = armor and armor:section() or "" if (not string.find(tmp, "exo")) and weapon:section()=="wpn_m134" then db.actor:drop_item(weapon) local tmpw = alife():create(weapon:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:transfer_item(weapon,db.actor) alife():release(tmpw) SetHudMsg(game.translate_string("Это оружие нельзя взять в руки без экзоскелета"),3) end elseif (db.actor and db.actor:active_slot()==3 and weapon_2) then local tmp = armor and armor:section() or "" if (not string.find(tmp, "exo")) and weapon_2:section()=="wpn_m134" then db.actor:drop_item(weapon_2) local tmpw = alife():create(weapon_2:section(), db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), db.actor:id()) db.actor:transfer_item(weapon_2,db.actor) alife():release(tmpw) SetHudMsg(game.translate_string("Это оружие нельзя взять в руки без экзоскелета"),3) end end end Нужно добавить сюда ещё 2 вида оружия: wpn_ptrs и wpn_sniperptrs. Как это сделать? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 306 Опубликовано 20 часов назад (изменено) Hounfor а зачем вообще нужен local tmpw :) мне правда интересно зачем. типо, чтобы изображать как предмет именно перемещается в инвентарь, а не падает и телепортируется, что заметно а так можно же по идее по примеру экзы сделать, а нужные секции оружия в конфигах чуть переименовать добавив им exo_wpn, чтобы также по названию отсеивать. ну можно и по-другому. банально можно строчку if (not string.find(tmp, "exo")) and (weapon_2:section()=="wpn_m134" or weapon_2:section()=="wpn_ptrs" orweapon_2:section()== "wpn_sniperptrs") then можно в таблицу вписать пушки, но из головы я простой перебор по таблице не вспомню как. Изменено 20 часов назад пользователем ian98 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hounfor 40 Опубликовано 20 часов назад ian98, про local tmpw не знаю, скрипт не я писал, пытаюсь довести готовое) Если делать через exo_wpn, то нужно само оружие в конфигах переименовать в exo_wpn_ptrs, так? А тупить нигде не будет, что в оружии префикс exo_ стоит? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ian98 306 Опубликовано 20 часов назад (изменено) Hounfor да я это так) это худший вариант, по-моему) ну вообще не должно быть проблем. просто смотря сколько ты так пушек хочешь ограничить Изменено 20 часов назад пользователем ian98 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 982 Опубликовано 20 часов назад (изменено) Бессмертный Если в логике возникают подобные затыки, можно вместе с переключением на другую секцию выдавать текстовое сообщение типа перешел на такую то секцию. Тогда вы визуально отследите на какой секции затыки сможете проверить срабатывания условий там (возможны варианты от неверного имени инфопорции или не выдачи ее до зависания функции из xr_effects). Если не хотите прерывать игру софт-ресетом, то временно отключите disable_ui. RomaL23 У вас целых две причины: 1. Кривая логика 2. Кривая функция. По первой проблеме - добавьте переход на другую секцию после выдачи сообщения. По второй проблеме - используйте готовую функцию выдачи сообщений в логике: send_tip (как задать ей параметры подсмотрите в любой логике). Изменено 19 часов назад пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RomaL23 0 Опубликовано 13 часов назад denis2000 уже решил. Теперь я думаю как мне убрать аномальные искажения на локации, они выглядят как у баржи Ноя на затоне.. позже скрин скину Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты