Lieutenant Novikov 15 Опубликовано 6 Ноября 2021 Всем привет! В интернете легко найти уроки по созданию группировки в Сталкер ТЧ и ЗП,(хотя в первом случаи они неполные), а про ЧН ничего нет, а способ создания группировки в этой части, имеет некоторые свои особенности. В этом уроке я разберу создание группировки + восстановление уже имеющихся, но "неполноценных" (экологи, военные, Монолит и наёмники). Что-ж начнем. 1.Если вы создаете новую группировку, то (Показать) В файле: game_relations.ltx: В строчке communities в конце дописываем свою группировку: communities = actor, 0, actor_bandit, 1, actor_dolg, 2, actor_freedom,3, actor_stalker, 4, arena_enemy, 5, bandit, 6, csky, 7, dolg, 8, ecolog, 9, freedom, 10, killer, 11, army, 12, monolith, 13, monster, 14, stalker, 15, trader, 16, zombied, 17, actor_csky, 18, renegade, 19, ваша группировка, 20 Далее в таблицу под названием [communities_relations] добавляете свою группировку и отношения к другим (1000 и выше-друг,0-нейтрал,-1000 и ниже-враг), не забывайте прописывать как с правой стороны так и наверху. [actor_communities] можете прописать, если в группировку планируется вступление. Через запятую перечислены параметры войны группировок, первая ваша группировка, вторая группировка-враг (параметр "actor, actor" значит что вы в войне группировок не участвуете) (небольшое примечание, если вы пишите что-то необычное, например, "ваша группировка, бандиты", или "наёмники, Свобода", то надо ещё редактировать файл pda.script, но в этом уроке я его разбирать не буду, так сам его не редактировал). [communities_sympathy] коэффициенты "сочувствия" можно скопировать с другой. [monster_relations] таблица отношений между мутантами, там все так как и в [communities_relations]. Можете добавить свою группировку и прописать нейтралитет к определенным мутантам. 2. Далее создаем профили, создаёте их лишь в том случае если, вы создаёте новую группировку или восстанавливаете экологов. У наёмников, военных и Монолита профили уже есть. (Показать) Открываем любой character_desc_... и создаем профили, аналогично этому примеру: <!-- ecolog novice --> <specific_character id="sim_default_ecolog_0_default_0" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_0</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>300</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog</visual> <supplies> [spawn] \n device_torch \n wpn_walther \n ammo_9x19_pbp = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <specific_character id="sim_default_ecolog_0_default_1" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog_military</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_0</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>300</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog_military</visual> <supplies> [spawn] \n device_torch \n wpn_sig220 = 1 \n ammo_11.43x23_fmj = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <!-- ecolog expirienced --> <specific_character id="sim_default_ecolog_1_default_0" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_1</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>400</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog</visual> <supplies> [spawn] \n device_torch \n wpn_mp5 \n ammo_9x19_fmj = 1 \n wpn_walther \n ammo_9x19_fmj = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <specific_character id="sim_default_ecolog_1_default_1" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_1</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>400</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog</visual> <supplies> [spawn] \n device_torch \n wpn_ak74u \n ammo_5.45x39_fmj = 1 \n wpn_walther \n ammo_9x19_fmj = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <specific_character id="sim_default_ecolog_1_default_2" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog_military</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_1</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>400</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog_military</visual> <supplies> [spawn] \n device_torch \n wpn_mp5 \n ammo_9x19_fmj = 1 \n wpn_walther \n ammo_9x19_fmj = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <!-- ecolog veteran --> <specific_character id="sim_default_ecolog_2_default_0" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_2</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>600</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog</visual> <supplies> [spawn] \n device_torch \n wpn_l85 \n ammo_5.56x45_ss190 = 1 \n wpn_walther \n ammo_9x19_fmj = 1 \n grenade_rgd5 = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <specific_character id="sim_default_ecolog_2_default_1" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog_military</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_2</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>600</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog_military</visual> <supplies> [spawn] \n device_torch \n wpn_lr300 \n ammo_5.56x45_ss190 = 1 \n wpn_sig220 = 1 \n ammo_11.43x23_fmj = 1 \n grenade_rgd5 = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> <specific_character id="sim_default_ecolog_2_default_2" team_default = "1"> <name>GENERATE_NAME_science</name> <icon>ui_npc_u_stalker_ecolog_military</icon> <map_icon x="1" y="0"></map_icon> <bio>Опытный сталкер. Детальная информация отсутствует.</bio> <class>sim_default_ecolog_2</class> <community>ecolog</community> <terrain_sect>stalker_terrain</terrain_sect> <snd_config>characters_voice\human_03\ecolog\</snd_config> <rank>600</rank> <reputation>0</reputation> <visual>actors\stalker_ucheniy\stalker_ecolog_military</visual> <supplies> [spawn] \n device_torch \n wpn_ak74 \n ammo_5.45x39_fmj = 1 \n wpn_walther \n ammo_9x19_fmj = 1 \n grenade_rgd5 = 1 \n #include "gameplay\character_items.xml" #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_4.xml" #include "gameplay\character_dialogs.xml" </specific_character> Далее открываем файл npc_profile.xml и пишем в нём к примеру: <!-- sim ecolog --> <character id="sim_default_ecolog_0"> <class>sim_default_ecolog_0</class> </character> <character id="sim_default_ecolog_1"> <class>sim_default_ecolog_1</class> </character> <character id="sim_default_ecolog_2"> <class>sim_default_ecolog_2</class> </character> Далее файл spawn_sections_general.ltx ;***** sim ecolog ***** [sim_default_ecolog_0]:stalker $spawn = "respawn\sim_default_ecolog_0" character_profile = sim_default_ecolog_0 spec_rank = regular community = ecolog [sim_default_ecolog_1]:stalker $spawn = "respawn\sim_default_ecolog_1" character_profile = sim_default_ecolog_1 spec_rank = experienced community = ecolog [sim_default_ecolog_2]:stalker $spawn = "respawn\sim_default_ecolog_2" character_profile = sim_default_ecolog_2 spec_rank = veteran community = ecolog Всё. Теперь создаем файл faction_ecolog.ltx (ну или как там ваша группировка называется, для Армии, Монолита и наймов faction уже есть, но можете их подредактировать, если хотите чтобы они полноценно участвовали в войне группировок) в папке misc (Показать) В нем к примеру пишем:(после ;— пояснение копировать не надо) [settings];— дополнительные отряды за захват контрольных точек. glory_0 = 0 glory_1 = 1 glory_2 = 2 glory_3 = 3 glory_4 = 4 glory_5 = 5 [spawn_by_resource];— какие профили спаунятся в зависимости от ресурсов (ресурсы дают ресурсные точки, например АТП), и их процентное взаимоотношение. 0 = sim_default_ecolog_0, 80, sim_default_ecolog_1, 20 1 = sim_default_ecolog_0, 60, sim_default_ecolog_1, 30, sim_default_ecolog_2, 10 2 = sim_default_ecolog_0, 30, sim_default_ecolog_1, 50, sim_default_ecolog_2, 20 3 = sim_default_ecolog_1, 50, sim_default_ecolog_2, 50 [spawn_by_level];— какие профили спаунятся на локации(?) Честно не заметил их влияние на что либо. marsh = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 escape = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 garbage = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 darkvalley = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 agroprom = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 yantar = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 red_forest = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 military = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 limansk = sim_default_ecolog_0, 40, sim_default_ecolog_1, 30, sim_default_ecolog_2, 30 [expansion_base] base_squad_number = 0 precondition_power = -1 ;— не совсем понял что это, но важно именно это число, или не будет спама respawn_idle_time = 75 respawn_hours = 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 ;— время суток когда происходит респам бойцов группировки [expansion_0]:expansion_base precondition_cond = {+fc_disable_story_line_quest} true, false ;— предварительное условие (мое не копируйте, то если у вас Faction commander), задается чтобы группировка не начала симуляцию раньше времени, к примеру чтобы бандиты и сталкеры не начали воевать с самого начала игры, пока Шрам ещё на Болоте, им задано такое условие {+esc_take_habar_complete}, то бишь начало войны после возвращения хабара Сидоровичу. sim_prior = prior_0 [expansion_1]:expansion_base base_squad_number = 15 ;— базовое количество сквадов на этом этапе войны группировок precondition_power = 0.3 precondition_target = yan_smart_terrain_6_4 ;— смарт-террейн(ы) которые группировка будет пытаться захватить на этом этапе [expansion_2]:expansion_base base_squad_number = 20 precondition_target = yan_smart_terrain_5_3 [expansion_3]:expansion_base base_squad_number = 25 precondition_target_optional = yan_smart_terrain_zombi_in_sci_base6, yan_smart_terrain_4_5 [expansion_4]:expansion_base base_squad_number = 30 precondition_target_optional = yan_smart_terrain_3_4 [expansion_5]:expansion_base base_squad_number = 35 precondition_target_eliminate = yan_smart_terrain_zombi_in_sci_base5 [start_position];— отряды группировки, которые будут находиться на заданном смарт-террейне с самого начала игры. ;red_squad_test_in_sci_base = red_smart_terrain_3_2 ;red_squad_test_in_sci_base2 = red_smart_terrain_3_2 Далее (Показать) Далее файл sim_board.script добавляем под "--' Активность группировок по времени суток. В таблицах забито повышение за 1 час ожидания." Вашу группировку, либо экологов, остальные там есть. Следующий файл death_manager.script строчка function init_drop_settings() local community_list = { "stalker", "dolg", "freedom", "renegade", "bandit", "army", "zombied", "ecolog", "killer", "monolith", "csky", "actor_dolg" , "arena_enemy", "ваша группировка" } Далее файл death_items_by_communities.ltx [ecolog]:stalker ;— первое ваша группировка ;Еда ;— вообщем-то можно любые вещи прописать vodka = 0.01 medkit = 0.1 medkit_scientic = 0.2 antirad = 0.3 Если хотите чтобы группировка выдавала квесты, тогда в файле tm_sim.ltx пишем: (Показать) sim_defend_smart_ecolog sim_defend_smart_delay_ecolog sim_capture_smart_ecolog sim_eliminate_smart_ecolog sim_eliminate_resource_smart_ecolog sim_eliminate_path_smart_ecolog [sim_defend_smart_ecolog]:sim_defend_smart faction = ecolog reward_money = {~50} 3000, 2500 ;— денежная награда reward_item = {~50} grenade_f1:ammo_5.45x39_ap:ammo_5.45x39_ap, medkit_scientic:medkit_scientic:antirad:antirad ;— награда вещами prior = 5 [sim_defend_smart_delay_ecolog]:sim_defend_smart_delay faction = ecolog (Награда-приоритет по шаблону предыдущего) [sim_capture_smart_ecolog]:sim_capture_smart faction = ecolog (Награда-приоритет) [sim_eliminate_smart_ecolog]:sim_eliminate_smart faction = ecolog (Награда-приоритет) [sim_eliminate_resource_smart_ecolog]:sim_eliminate_resource_smart faction = ecolog (Награда-приоритет) [sim_eliminate_path_smart_ecolog]:sim_eliminate_path_smart faction = ecolog (Награда-приоритет) Всё теперь задания по защите/нападению/и т.д. смартов готовы, правда давать их будет редко, если вы насколько я понял, не состоите в группировке, только если без вашей помощи ни как. Также общие для всех группировок задания (найти пулемет в Рыжем лесу и т.п.), будут автоматически выдаваться и вашей группировкой. Дальше нам нужен распакованный all.spawn. (Показать) Выбираете локацию на которой будет база вашей группировки alife_....ltx, если создаете новую группировку или восстанавливаете Экологов то в конце файла пишите (для наёмников, Монолита и Армии не нужно, у них уже есть): [11568];— номер по порядку ; cse_abstract properties section_name = sim_faction name = yan_sim_faction_ecolog ;— ваше название position = 14.6198530197144, -11.9344539642334, -266.481781005859;— скорее всего sim_faction можно в любом месте ставить, но я ставил в районе смарт-террейна где будет спауниться моя группировка, для надежности. direction = 0, 0, 0 ;— направление взгляда, можно написать нули id = 65535 version = 124 script_version = 8 spawn_id = 8639 ;— по порядку ; cse_alife_object properties game_vertex_id = 792 ;— вместе с координатами distance = 3.5 level_vertex_id = 331462 ;— вместе с координатами object_flags = 0xffffff3e custom_data = <<END [faction] name = ecolog ;— название группировки base_smart = yan_smart_terrain_6_4 settings = misc\faction_ecolog.ltx ;— адрес файла faction_..., который мы создали ранее. END ; cse_shape properties shapes = 1 shape_0:type = sphere shape_0:offset = 0,0,0 shape_0:radius = 1 ; cse_alife_space_restrictor properties restrictor_type = 0 ; se_sim_faction properties last_spawn_time = 255 squad_target_cache = random_tasks = current_attack_quantity = squads = 0 Дальше ищите подходящий смарт-террейн в котором будет база группировки и прописываете в нем (я для примера взял Холл Завода в ТД, где подземная лаборатория и где спаунятся наёмники): [9135] ; cse_abstract properties section_name = smart_terrain name = val_smart_terrain_1_2 position = 158.19631958008, -0.72822391986847, -260.88854980469 direction = -0.0116630000993609, 6.90000015310943e-005, 0.00593400001525879 id = 65535 version = 124 script_version = 8 spawn_id = 4838 ; cse_alife_object properties game_vertex_id = 815 distance = 28 level_vertex_id = 329923 object_flags = 0xffffff3e custom_data = <<END [smart_terrain] targets = val_smart_terrain_9_6, val_smart_terrain_8_7, val_smart_terrain_8_9 sim_type = default ;— можете прописать base, тогда этот смарт станет базой вашей группировки, она должна быть одна на всю Зону. sim_value = 3 squad_capacity = 5 sim_avail = {-val_strike_antenna_two_captured +val_destroy_killer_base_done} false, true ;— предполагаю что условия отключения респама squad_id = 3 att_restr = val_smart_terrain_1_2_attack def_restr = val_smart_terrain_1_2_defence respawn_sector = {+val_deliver_pda_done} killer;— прописываем эту строчку, {+val_deliver_pda_done} — означает предварительное условие, как мы уже разобрали выше, если убрать, отряды заспаунятся с самого начала игры, killer — название группировки. Точек респама может быть много, на разных смартах. actor_hides= val_vibros..... ;(там идет дальше, не копирую все запись) Квесты финал (Показать) Ну и последнее, если вы прописали вашей группировке квесты, то нужно прописать того кто будет награду выдавать. Вы можете создать нового НПС, или же прописать уже существующему, как я профессору Сахарову к примеру: [11470] ; cse_abstract properties section_name = stalker_sakharov name = yan_stalker_sakharov position = 27.9391098022461, -11.7167835235596, -272.380462646484 direction = 0, 0, 0 id = 65535 version = 124 script_version = 8 spawn_id = 8654 ; cse_alife_trader_abstract properties money = 5000 character_profile = yan_stalker_sakharov ; cse_alife_object properties game_vertex_id = 1312 distance = 0.69999999 level_vertex_id = 72763 object_flags = 0xffffffbb custom_data = <<END [logic] cfg = scripts\yantar\yan_saharov.ltx [task_manager] ;— вот эти две строчки, вместо ecolog можете свою группировку reward = ecolog [spawn] hand_radio = 1 END и т.д.... Ну в соответствующем профиле НПС дописываем диалог награды, пример: <specific_character id="yan_stalker_sakharov" team_default = "1"> <name>yan_st_sakharov_name</name> <icon>ui_npc_u_ucheniy_1</icon> <map_icon x="1" y="0"></map_icon> <bio></bio> <class>yan_stalker_sakharov</class> <community>ecolog</community> <terrain_sect>sakharov_terrain</terrain_sect> <snd_config>characters_voice\human_01\stalker\</snd_config> <rank>400</rank> <reputation>0</reputation> <money min="20000" max="50000" infinitive="1"/> <visual>actors\stalker_ucheniy\stalker_ucheniy_1</visual> <crouch_type>0</crouch_type> <supplies> [spawn] \n hand_radio = 1 \n #include "gameplay\character_food.xml" #include "gameplay\character_drugs.xml" </supplies> #include "gameplay\character_criticals_1.xml" <start_dialog>yan_scientist_hello_dialog</start_dialog> <actor_dialog>yan_scientist_go_diggers</actor_dialog> <actor_dialog>yan_scientist_about_strelok</actor_dialog> <actor_dialog>yan_scientist_about_stalkers</actor_dialog> <actor_dialog>yan_scientist_about_zombie</actor_dialog> <actor_dialog>yan_scientist_bring_documents</actor_dialog> <actor_dialog>tm_reward_task</actor_dialog> ;— вот этот <actor_dialog>treasure_dialog</actor_dialog> </specific_character> Вроде всё, не забудьте, если создаете новую группировку приписать диалог медпомощи в dialog_manager.ltx, а то будет вылет при помощи раненым, ну можете свои диалоги прописать. Надеюсь, урок кому нибудь пригодиться, хотя я сам не обладаю большим опытом, по идеи ошибок быть не должно. 6 Поделиться этим сообщением Ссылка на сообщение
Lieutenant Novikov 15 Опубликовано 27 Августа 2022 Здравствуйте. Хочу написать метод возвращения в ЧН губной гармошки. В интернете есть статьи для ТЧ, но в ЧН требуются дополнительные действия, которые пришлось поискать. Сначала открываем файл xr_kamp.script по адресу gamedata/scripts xr_kamp.script (Показать) Здесь в строчке self.trans_kamp = { idle = { idle = 0, pre_harmonica = 0, pre_guitar = 50, story = 50}, выставляем вероятность pre_harmonica выше нуля, я например сделал так: self.trans_kamp = { idle = { idle = 0, pre_harmonica = 20, pre_guitar = 30, story = 50} но в сумме должно получиться не больше 100. Параметр pre_harmonica — это вероятность с которой НПС начнет играть на гармошке, pre_guitar — соответственно вероятность игры на гитаре, и story — предположительно вероятность рассказа анекдотов. Далее ищем в файле этот отрывок и убираем черточки впереди: -- if npc:object("harmonica_a") then -- self.npc[npc_id].states["play_harmonica"] = true -- self.npc[npc_id].states["wait_harmonica"] = true -- self.kamp_states["pre_harmonica"] = true -- self.kamp_states["harmonica"] = true -- self.kamp_states["post_harmonica"] = true -- else self.npc[npc_id].states["play_harmonica"] = false self.npc[npc_id].states["wait_harmonica"] = false self.kamp_states["pre_harmonica"] = false self.kamp_states["harmonica"] = false self.kamp_states["post_harmonica"] = false -- end Дальше находим файл character_items.xml по адресу gamedata/configs/gameplay Где в список добавляем: harmonica_a = 1, prob=0.6 \n, это позволит гармошке появляться в инверторе НПС, где первая цифра кол-во предметов, а вторая (0.6) вероятность появления, можете написать свою, но она должна быть не больше 1 Далее файл script_sound_music_and_stories.ltx по адресу gamedata/configs/misc: script_sound_music_and_stories.ltx (Показать) В нем пишем в самом начале под: intro_music play_guitar reac_musicplay_harmonica ;- добавляем это Далее под: [reac_music] type = npc avail_communities = csky, stalker, bandit, dolg, freedom, army, renegade, killer, ecolog npc_prefix = true path = reactions\music\reaction_music_ shuffle = rnd idle = 1,1,100 group_snd = true [play_harmonica] type = npc avail_communities = csky, stalker, bandit, dolg, freedom, army, renegade, killer, ecolog ;- здесь группировки которые будут играть на гармошке.npc_prefix = true path = music\harmonica_ ;- адрес звуковых файловshuffle = rnd idle = 1,1,100 Ну и последнее, в ЧН вместо звуковых файлов стоят "заглушка" — файл без звука, поэтому вам придется искать звуковые файлы на стороне. Я брал из Call of Chernobyl. Когда найдете их переименуйте в harmonica_номер по порядку, и скиньте в папку music, по адресу gamedata/sounds/characters_voice/human_номер(придется добавлять во все)/(группировка, к примеру bandit)/music. И ещё, необходимо будет начать новую игру, иначе вылет. 2 Поделиться этим сообщением Ссылка на сообщение