Overf1rst 447 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Тень Чернобыля. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 6 3 3 1 6 3 mor0z0ff, Stalkervernite, Stalk873 и 19 других отреагировали на это Больше неофициальных скриншотов в галерее GAMERU.NET Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Deathman 244 Опубликовано 5 января, 2022 4 часа назад, vader_33 сказал: Deathman так делать там больше нечего, просто вставить готовый код в функцию и прописать в ui_mm_main.xml текстуры Дополнено 4 минуты спустя Yarkov Desorec видел на стримах беты radiophobia 3, она на движке огср, но не знаю, огср-овские детекторы или своя реализация. Сама бета и актуальные патчи в дискорде разработчик выкладывает (на moddb есть ссылка на дискорд) Дополнено 25 минуты спустя Deathman вот пример для оригинала, для кордона и свалки https://disk.yandex.ru/d/hDDaaMLn19J7SA Спасибо! Я очень сильно благодарен. Попробую подключить поддержку .ogm Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZonaChe 359 Опубликовано 5 января, 2022 Всем здрас-си и с НГ. Подскажите, есть ли какая нибудь формула для пересчёта координат для худа и инвентаря с 16:9 на 4:3? 1 1beer отреагировал на это Прямой дороги тебе, сталкер. Мимо аномалий, через артефакты... Я всегда хотел отвечать людям добром, но жизнь научала отвечать взаимностью... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 423 Опубликовано 5 января, 2022 Всем привет, экспериментирую с нетпаками и хочу хочу сделать спавн спейс рестриктора и чтобы при заходи гг в него появлялась надпись на экране до тех пор пока он стоит в нём. Вызываю так: Спойлер ---------- -- чтение формы из нет-пакета ---------- function r_shape(packet) local s local st = {} st.count = packet:r_u8() st.shapes = {} for i=1, st.count do s = {} s.type = packet:r_u8() if s.type == 0 then s.center = packet:r_vec3() s.radius = packet:r_float() else s.axis_x = packet:r_vec3() s.axis_y = packet:r_vec3() s.axis_z = packet:r_vec3() s.offset = packet:r_vec3() end st.shapes = s end return st end ---------- -- запись формы в нет-пакет ---------- function w_shape(packet, st) local s packet:w_u8(st.count) for i=1, st.count do s = st.shapes packet:w_u8(s.type) if s.type == 0 then packet:w_vec3(s.center) packet:w_float(s.radius) else packet:w_vec3(s.axis_x) packet:w_vec3(s.axis_y) packet:w_vec3(s.axis_z) packet:w_vec3(s.offset) end end end ---------- -- перепаковка нет-пакета созданного скриптом рестрикта ---------- function rewrite_restrictor(se_obj, custom, radius) local packet = net_packet() se_obj:STATE_Write(packet) local game_vertex_id = packet:r_u16() local distance = packet:r_float() local direct_control = packet:r_s32() local level_vertex_id = packet:r_s32() local object_flags = packet:r_s32() local custom_data = packet:r_stringZ() local story_id = packet:r_s32() local spawn_story_id = packet:r_s32() local shape = r_shape(packet) local restrictor_type = packet:r_u8() custom_data = custom shape = {} shape.count = 1 shape.shapes = {} shape.shapes[1] = {} shape.shapes[1].type = 0 shape.shapes[1].center = vector():set(0,0,0) shape.shapes[1].radius = radius packet:w_u16(game_vertex_id) packet:w_float(distance) packet:w_s32(direct_control) packet:w_s32(level_vertex_id) packet:w_s32(object_flags) packet:w_stringZ(custom_data) packet:w_s32(story_id) packet:w_s32(spawn_story_id) w_shape(packet, shape) packet:w_u8(restrictor_type) se_obj:STATE_Read(packet, packet:w_tell() - packet:r_tell()) end function spawn_zones() --Кордон esc_spawn1_zone() end --Escape function esc_spawn1_zone() local se_obj = alife():create("space_restrictor",vector():set(-206.853,-19.663,-140.029),45944,61) local custom = "[logic]\n".. "active = sr_idle\n".. "[sr_idle]\n".. "on_actor_inside = %+space_greem_zone%" rewrite_restrictor(se_obj, custom, 2.0) level.map_add_object_spot_ser(se_obj.id, "crlc_small", "Костёр") end Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 6 января, 2022 Paracetamol так какая проблема-то В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 423 Опубликовано 6 января, 2022 vader_33 нужно вывести иконку на худ когда гг стоит у костра, хотя лучше типс с юзаньем. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 6 января, 2022 Paracetamol а, это не ко мне, не разбираюсь в логике. Вот надо сразу писать, что помощь по логике нужна, распугали тут всех нет-пакетами. Если именно через рестрикторы иконку выводить - добавить в логику рестриктора on_actor_inside = ... - это на вход, сюда функцию добавления custom static. on_actor_outside = .. - это на выход, сюда функцию удаления 1 Paracetamol отреагировал на это В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vetalion 0 Опубликовано 6 января, 2022 Всем привет! Помогите, пожалуйста, советом: как получить через скрипт активное задание или строковое представление его title(показывается по нажатию на TAB и выбирается в ПДА) или это вшито в движок? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 6 января, 2022 (изменено) vetalion в оп 2/2.1 при нажатии на tab в сообщения выводился список активных заданий, которые можно сдать на текущей локации, может получится оттуда выдрать (не знаю, правился ли для этого движок, готовой удобной функции для этого нету) Изменено 6 января, 2022 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 423 Опубликовано 7 января, 2022 Всем привет, снова я. Нужно проиграть скриптом звук в определённом месте по квесту, спейсом не хочется. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 7 января, 2022 (изменено) Paracetamol local snd = xr_sound.get_safe_sound_object("helicopter\\hit_2") snd:play_at_pos(obj, позиция, sound_object.s3d) позиция либо по какому-нибудь объекту obj:position() либо vector():set(x,y,z) Изменено 7 января, 2022 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1beer 252 Опубликовано 7 января, 2022 как можно скриптово добавить туман вокруг actor? буквально в радиусе 10-20 метров нужно.. Слишком огромная подпись. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 7 января, 2022 1beer поменять погоду не пойдет? В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1beer 252 Опубликовано 7 января, 2022 6 минут назад, vader_33 сказал: 1beer поменять погоду не пойдет? нужно скриптово буквально на пару секунд закинуть на одну локу, а потом обратно.. в будующем данная лока еще будет использоваться.. Слишком огромная подпись. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 205 Опубликовано 7 января, 2022 1beer создать аномалию "туман" ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1beer 252 Опубликовано 7 января, 2022 Только что, Sikorskyi сказал: 1beer создать аномалию "туман" ? такая есть в тч? можешь примерный код накидать? Слишком огромная подпись. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 205 Опубликовано 7 января, 2022 Что-то типа: Спойлер ;----------- Облако ----------------------- [zone_clouds_bad] GroupControlSection = spawn_group_zone $spawn = "zones\zone_clouds_bad" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0.0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = zone_mosquito_bald postprocess = postprocess_fog BirthProbability = 0.0 hit_type = chemical_burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\clouds_bad blowout_particles = a_ufp_particles\clouds_bad idle_sound = ambient\x18\x18_wind_1 blowout_sound = ambient\x18\x18_wind_1 hit_sound = ambient\x18\x18_wind_1 entrance_sound = ambient\x18\x18_wind_1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.01,0.4,0.01 light_range = 6.0 light_time = 0.4 light_height = 0.4 idle_light = off idle_light_range = 8.0 idle_light_range_delta = 0.2 idle_light_anim = koster_01 idle_light_height = 0.70 visible_by_detector = off artefacts = af_gold_fish, 0.4 spawn_blowout_artefacts = off artefact_spawn_probability = 0.2 artefact_spawn_particles = anomaly\a-01-heat-smoke_old00 artefact_born_sound = ambient\silence throw_out_power = 0.6 artefact_spawn_height = 0.3 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 Это из ОГСЕ. Дополнено 19 минуты спустя Вот конфиг Тумана: Спойлер ;----------- Туман ----------------------- [zone_fog] GroupControlSection = spawn_group_zone $spawn = "zones\zone_fog" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = ambient\random\rt_sickened1 postprocess = postprocess_fog BirthProbability = 0.2 hit_type = burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\fog_01 blowout_particles = a_ufp_particles\fog_01 idle_sound = ambient\random\rt_sickened1 blowout_sound = ambient\random\rt_sickened1 hit_sound = ambient\random\rt_sickened1 entrance_sound = ambient\random\rt_sickened1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.5,0.4,0.3 light_range = 30.0 light_time = 0.9;0.35 light_height = 1.5 idle_light = off visible_by_detector = off artefacts = spawn_blowout_artefacts = off artefact_spawn_probability = 0 artefact_spawn_particles = artefact_born_sound = throw_out_power = 0 artefact_spawn_height = 0 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 ;----------- Сигаретный дым в помещении ----------------------- [zone_fog_cigarette] GroupControlSection = spawn_group_zone $spawn = "zones\zone_fog_cigarette" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = ambient\random\rt_sickened1 postprocess = postprocess_fog BirthProbability = 0.2 hit_type = burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\cigarette_dust blowout_particles = a_ufp_particles\cigarette_dust idle_sound = ambient\random\rt_sickened1 blowout_sound = ambient\random\rt_sickened1 hit_sound = ambient\random\rt_sickened1 entrance_sound = ambient\random\rt_sickened1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.5,0.4,0.3 light_range = 30.0 light_time = 0.9;0.35 light_height = 1.5 idle_light = off idle_light_range = 8.0 idle_light_range_delta = 0.2 idle_light_anim = koster_01 idle_light_height = 0.70 visible_by_detector = off artefacts = spawn_blowout_artefacts = off artefact_spawn_probability = 0 artefact_spawn_particles = artefact_born_sound = throw_out_power = 0 artefact_spawn_height = 0 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 ;----------- Туман в помещении ----------------------- [zone_fog_indoor] GroupControlSection = spawn_group_zone $spawn = "zones\zone_fog_indoor" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = ambient\random\rt_sickened1 postprocess = postprocess_fog BirthProbability = 0.2 hit_type = burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\fog_indoor blowout_particles = a_ufp_particles\fog_indoor idle_sound = ambient\random\rt_sickened1 blowout_sound = ambient\random\rt_sickened1 hit_sound = ambient\random\rt_sickened1 entrance_sound = ambient\random\rt_sickened1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.5,0.4,0.3 light_range = 30.0 light_time = 0.9;0.35 light_height = 1.5 idle_light = off idle_light_range = 8.0 idle_light_range_delta = 0.2 idle_light_anim = koster_01 idle_light_height = 0.70 visible_by_detector = off artefacts = spawn_blowout_artefacts = off artefact_spawn_probability = 0 artefact_spawn_particles = artefact_born_sound = throw_out_power = 0 artefact_spawn_height = 0 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 ;----------- Туман на земле ----------------------- [zone_fog_ground] GroupControlSection = spawn_group_zone $spawn = "zones\zone_fog_ground" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = ambient\random\rt_sickened1 postprocess = postprocess_fog BirthProbability = 0.2 hit_type = burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\fog_ground blowout_particles = a_ufp_particles\fog_ground idle_sound = ambient\random\rt_sickened1 blowout_sound = ambient\random\rt_sickened1 hit_sound = ambient\random\rt_sickened1 entrance_sound = ambient\random\rt_sickened1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.5,0.4,0.3 light_range = 30.0 light_time = 0.9;0.35 light_height = 1.5 idle_light = off idle_light_range = 8.0 idle_light_range_delta = 0.2 idle_light_anim = koster_01 idle_light_height = 0.70 visible_by_detector = off artefacts = spawn_blowout_artefacts = off artefact_spawn_probability = 0 artefact_spawn_particles = artefact_born_sound = throw_out_power = 0 artefact_spawn_height = 0 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 ;----------- Туман движется ----------------------- [zone_fog_move] GroupControlSection = spawn_group_zone $spawn = "zones\zone_fog_move" $prefetch = 16 class = ZS_MBALD hit_impulse_scale = 0 effective_radius = 0 actor_blowout_radius_percent = 0 ef_anomaly_type = 1 ef_weapon_type = 13 sound = ambient\random\rt_sickened1 postprocess = postprocess_fog BirthProbability = 0.2 hit_type = burn min_start_power = 0.99 max_start_power = 1.00 attenuation = 1 period = 1 min_artefact_count = 0 max_artefact_count = 0 idle_particles = a_ufp_particles\fog_move blowout_particles = a_ufp_particles\fog_move idle_sound = ambient\random\rt_sickened1 blowout_sound = ambient\random\rt_sickened1 hit_sound = ambient\random\rt_sickened1 entrance_sound = ambient\random\rt_sickened1 awaking_time = 100 blowout_time = 500 accamulate_time = 245 blowout_light_time = 200 blowout_explosion_time = 200 blowout_particles_time = 200 blowout_sound_time = 100 disable_time = 5000 disable_time_small = 5000 disable_idle_time = 100 ignore_nonalive = false ignore_small = false ignore_artefacts = false blowout_light = off light_color = 0.5,0.4,0.3 light_range = 30.0 light_time = 0.9;0.35 light_height = 1.5 idle_light = off visible_by_detector = off artefacts = spawn_blowout_artefacts = off artefact_spawn_probability = 0 artefact_spawn_particles = artefact_born_sound = throw_out_power = 0 artefact_spawn_height = 0 blowout_wind = off blowout_wind_time_start = 0 blowout_wind_time_peak = 300 blowout_wind_time_end = 600 blowout_wind_power = 0.9 1 1beer отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vetalion 0 Опубликовано 7 января, 2022 vader_33 Спасибо, но... Сам код в движке выглядит так case kSCORES: { SDrawStaticStruct* ss = AddCustomStatic("main_task", true); SGameTaskObjective* o = pActor->GameTaskManager().ActiveObjective(); if(!o) ss->m_static->SetTextST ("st_no_active_task"); else ss->m_static->SetTextST (*(o->description)); }break; Кроме статика в gamedata ничего не нашёл, возможно не там искал? Есть возможность без сборки движка импортировать недостающий функционал? Как добраться до ActiveTask или ActiveObjective или типа того? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 7 января, 2022 (изменено) vetalion без ковыряний движка не добавить ничего нового, только пользоваться тем, что разработчики вывели в скрипты (всякие функции, методы есть в lua_help.script, описание большинства есть в теме справочника по функциям и классам на амк). Легко можно получить только квесты, прописанные в task_manager.ltx (табличка self.active_task_by_type в task_manager.script), а вот с остальными квестами беда. Наверно, только велосипедами можно получить, не нашел ничего подходящего в lua_help. Поэтому предложил посмотреть реализацию в оп (лучше в оп-2, а не в 2.1, в оп 2 вроде не особо было движковых правок) Дополнено 9 минуты спустя 3 часа назад, 1beer сказал: нужно скриптово буквально на пару секунд закинуть на одну локу, а потом обратно Скриптом поменять level.set_weather("секция", true), потом либо сама сменится либо снова поменять на обычную. Или отдельно эффект через level.set_weather_fx. С аномалией хороший вариант, но помню, что на склонах выглядело не очень, только на ровной поверхности красиво стелилась. Если на локации нет склонов, то аномалия пойдет Изменено 7 января, 2022 пользователем vader_33 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vetalion 0 Опубликовано 8 января, 2022 vader_33 Спасибо. В оп 2.1 я сгенерил справку: Локация -->Квестовики --> Задания-Награды(чтобы не выходя из игры знать, что нести) с помощью их же скриптов, но там ничего не нашлось. В общем получилось как и предполагалось, что нельзя. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
muzafir 29 Опубликовано 10 января, 2022 Всем привет! Подскажите, как можно организовать удар от НПС в морду актера? Может у кого есть готовая функция, чтобы ее можно было вызвать экшеном из диалога в нужном месте? Буду рад любым предложениям. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 10 января, 2022 muzafir https://ap-pro.ru/forums/topic/93-soc-modostroy-voprosnica/?do=findComment&comment=115976 В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
muzafir 29 Опубликовано 10 января, 2022 (изменено) Спасибо, это я видел. Но в xr_effects.script - только проверка на присутствие оружия в руках и эффекты от удара, самой анимации удара нет. xr_abuse.script - как я понял, используется для вызова из логики НПС. Как там сама анимация удара задействуется не пойму - не на том уровне у меня скрипты. Поэтому и подумал, может кто-нибудь уже знает ответ Изменено 10 января, 2022 пользователем muzafir Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
vader_33 1 139 Опубликовано 10 января, 2022 muzafir добавить свою отдельную функцию, в которой будет вызов abuse и следом добавить эффект камеры с функции из xr_effects 1 muzafir отреагировал на это В беге за рассветом приближаешь свой закат Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1beer 252 Опубликовано 11 января, 2022 ребят, подскажите как скриптово убрать предмет из определенного слота в рюкзак? Слишком огромная подпись. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
muzafir 29 Опубликовано 11 января, 2022 Заработало! Может кому-нибудь пригодится: function actor_punch(npc) if db.actor:position():distance_to_sqr(npc:position()) > 4 then return else npc:add_animation("udar_0") end set_inactivate_input_time(30) local snd_obj = xr_sound.get_safe_sound_object([[affects\hit_fist]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") end Можно вызывать из диалога экшеном, тогда ГГ получит по морде от собеседника. Только перед вызовом этой функции вставьте стандартный <action>dialogs.break_dialog</action> чтобы прервать диалог. Ну или засуньте это тоже в функцию. Всем удачи! 1 Sikorskyi отреагировал на это Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты