Убедительная просьба, перед тем, как ковыряться в файлах делайте их оригинальные копии
Если знаете что то такое чего здесь нет, пишите, не жадничайте
Прописать в S.T.A.L.K.E.R\gamedata\scripts\game_options.script :
Код
--[[----------------------------- lsclon --------------------------------- Опциональное включение/отключение функций(0 - выключено, 1 - включено): run_blowout_pp - принудительное отключение и включение выбросов в игре zombie_team - отключить или включить превращение мёртвых сталкеров в зомби после выброса Настройка игры путём задания определённых параметров: blow_time_basis - базовое время до следуещего выброса - в игровых минутах blow_time_shift - число используется для корректировки blow_time_basis, если равно 0, выбросы будут через время = blow_time_basis blow_phase_basis - базовое время одной фазы выброса(всего во время выброса пять фаз) в игровых минутах blow_phase_max - максимальное время фазы выброса(всего во время выброса пять фаз) в игровых минутах blow_phase_shift - число используется для корректировки blow_phase_basis, если равно 0, время одной фазы будет = blow_phase_basis --]] --[[-------------------------- секция опции ----------------------------]] run_blowout_pp = 1 zombie_team = 1 --[[------------------------ секция параметры --------------------------]] blow_time_basis = 720 blow_time_shift = 960 blow_phase_basis = 2 blow_phase_shift = 3 blow_phase_max = 3 --[[--------------------------------------------------------------------]]
Либо, в файл: gamedata\scripts\bind_stalker.script под строку: function actor_binder:update(delta) добавить вызов: arhara_dialog.dell_duratskiy_timer()
Сохранить изменения, грузить сейв перед заходом на ЧАЭС-1 и потом переходить, или загружаться с автосейва перехода, тоже сработает. После, как перешли на ЧАЭС-1 и выброс отключился - сохраняемся, выходим из игры и удаляем строку arhara_dialog.dell_duratskiy_timer() из файла bind_stalker.script Архара (romale).
gamedata/scripts, открываем файл meceniy_utils.script и меняем в строке hell=1 – время ужаса (1 – вкл., 0 – выкл.) значение «1» на значение «0» Что бы настроить ЧУ под себя идём сюда: \gamedata\scripts\meceniy_in_hell.script (count - кол-во) У тех у кого запакованная НС смотрим сюда:перейти.
Кто знает где лежит модель "Пиво неизвестного производство" из X18 по квесту Дэна? gamedata\config\misc\amk_mod_zapiska: [oceanic815] ... ... visual = amk\item_zapiska2.ogf
...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от аномалий).
...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)
...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...
...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.
...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.
...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)
...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!
...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.
Теперь разберем папки в каталоге «config»
...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.
...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение. Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа). Также содержит файлы диалогов и профилей НПС.
…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...
…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.
…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).
…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.
…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.
Теперь немного подробнее о файлах.
...\S.T.A.L.K.E.R\gamedata\config\misc:
Папка amk_artefacts – содержит конфиг. файлы модификатов (модифицированых артефактов).
Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.
amk_mod_outfits – содержит секции конфигов костюмов от АМК-тайм.
artefacts - содержит секции конфигов артефактов.
items - содержит секции конфигов предметов.
monster_items - содержит секции конфигов частей монстров
outfit - содержит секции конфигов костюмов.
postprocess - содержит секции конфигов пост. процессов (например: ПНВ).
quest_items - содержит секции конфигов квестовых предметов.
task_manager - содержит секции наград за автоквесты.
unique_items - содержит секции конфигов уникального оружия и костюмов.
вот так И сделать это нужно для всех hud_blood их там пять
Забираемся сюда gamedata\config\misc находим файл outfit.ltx, в нем находим ваш любимый костюмчик. Например вы любите куртку сталкера – костюм новичка Ищем строчки: burn_protection - защита от огня strike_protection - защита от удара shock_protection - защита от электрического удара wound_protection - защита от разрыва radiation_protection - защита от радиации telepatic_protection - защита от телепатических волн chemical_burn_protection - защита от химических реактивов explosion_protection - защита от взрыва fire_wound_protection - защита от выстрела значение 0.0 говорит о том что от костюм ни на сколько процентов не защищает вас от такого воздействия, значение 1.0 обозначает что ваш костюм на 100 % защитит вас от этого недуга. Далее чтоб понизить износ костюма ищем строчки: burn_immunity strike_immunity shock_immunity wound_immunity radiation_immunity telepatic_immunity chemical_burn_immunity explosion_immunity fire_wound_immunity все эти строчки соответственно показывают защищенность самого костюма от воздействий. Чем больше нулей после точки тем больше костюм устойчив к эдакой заразе. Ставить только нули не советую.
В gamedata/config/weapons находим свой ствол: ammo_mag_size – размер магазина. Можно поставить например 900, тогда о перезарядке можно совсем не вспоминать. ammo_class – класс патронов, используемых оружием. Здесь ammo_9x39_pab9, ammo_9x39_sp5, ammo_9x39_ap. hit_power – сила оружия. Чем больше, тем лучше silencer_hit_power - сила оружия, когда на него одет глушитель. misfire_probability - вероятность осечки при максимальном износе. condition_shot_dec - увеличение износа при каждом выстреле. visual – модель оружия. zoom_enabled - поддерживается ли оптика. sprint_allowed (false/true) - бег с орружием slot - в каком слоте распологается оружие.
gamedata/config/misc/artefacts.ltx находим нужный артефакт смотрим его характеристики и меняем health_restore_speed скорость восстановления здоровья 0.0001 = +100% radiation_restore_speed скорость накопления радиации 0.0004 = 4 если поставить отрицательное число будет ускорять выведение радиации иммунитеты например 0.7 = +30% 0.2 = +80% больше единицы пойдет наоборот в минус 1.3 это -30%
В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities. Параметры на примере колбасы: class – к какому классу принадлежит предмет. visual – модель. cost – цена. eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.) eat_power - сколько восстанавливает силы. eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.) inv_weight – вес предмета.
------------------------------------------Прописать предмет в продажу----------------------------
Рассмотрим на примере Сидоровича. Все файлы торговцев находятся в папках gamedata\config\misc\ shop_ник_торговца в случае с Сидоровичем - это папка gamedata\config\misc\shop_sidr Чтобы прописать предмет в продажу, необходимо отредактировать 2 файла: sidr_supl.ltx - тут указывается количество предметов, появляющихся при открытии диалога торговли и вероятность их появления sidr_trade.ltx - тут указывается диапазон колебания цены предмета при открытии диалога
Настоятельно рекомендую делать резервные копии редактируемых файлов, чтобы была возможность откатиться назад, если где-то ошибетесь.
В каждом файле торговца есть одна или более секций, определяющие ассортимент торговца до или после наступления какого-то игрового события. Названия секций заключены в квадратные скобки [] У Сидоровича 2 секции […_start] - ассортимент при начале игры […_after_fabric] - ассортимент после приноса флешки Шустрого Соответственно, добавлять предметы нужно в ту секцию, которая соответсвует вашей сюжетной линии в игре. Можно добавлять сразу во все секции - хуже не станет.
Чтобы добавить предмет, ниже названия секции добавляете строчку такого вида: "название предмета" = число1, число2 (не забываем ставить пробелы до и после = и после запятой) В файле sidr_supl.ltx число1 - количество предметов число2 - вероятность их появления (от 0 до 1, кратное 0.1)
В файле sidr_trade.ltx число1 - минимальный коэффициент цены число2 - максимальный коэффициент цены При открытии диалога цена предмета будет случайной, равной "реальной цене" * на случайное число в диапазоне от минимального до максимального коэффициента. Коэффициент может быть меньше и больше 1.
Внимание! Десятичный разделитель в каждом числе должен быть "точкой", а не "запятой".
И напоследок - в файле sidr_trade.ltx нужно в соответствующей секции проверить нет ли "вашего" предмета с пометкой ;NO TRADE . Если есть - то эту строчку удалите.
Пример: чтобы добавить в продажу 5 артефактов Медуза по цене от 0.1 до 0.5 реальной цены, 1. в файл sidr_supl.ltx после строчки [supplies_after_fabric] дописываем строчку af_medusa = 5, 1
2. в файл sidr_trade.ltx после строчки [trader_after_fabric_sell] дописываем строчку af_medusa = 0.1, 0.5
3. удаляем строчку af_medusa ;NO TRADE
Сохраняем файлы, перезагружаем игру и бежим покупать у Сидора артефакты.
Квестовые предметы (которые даются при выполнении некоторых квестов и их нет в "свободной продаже" у торговцев) имеют особенность - "по умолчанию" их нельзя продавать в игре и обычным способом их нельзя прописать в продажу. Это ограничение обходится, для этого предмет сначала нужно сделать "обычным", который можно покупать продавать, а лишь потом прописывать в продажу. Описание практически всех квестовых предметов находятся в файлах ***.ltx, в названиях которых есть items, основные из них: items.ltx , quest_items.ltx , unique_items.ltx , arhara_items.ltx. Пример - прописывание в продажу ПДА Фраера, его название - fraer_pda. Описание ПДА Фраера находится в файле quest_items.ltx, вот с него и начнем - находится он в папке - gamedata - config - misc файл quest_items.ltx Делаем копию этого quest_items.ltx и убираем её куда нибудь, позже она нам понадобится. Затем открываем оставшийся файл quest_items.ltx и ищем строки [fraer_pda]:identity_immunities ...... (много всего разного) ..... quest_item = true
и меняем quest_item = true на quest_item = false закрываем этот файл и соглашаемся с изменениями. При поиске описания друго предмета - ищем аналогичную строчку
kostya_pda, kostya_pda2 ... kostya_pda9 - пда для Кости (9 штук) kruglov_flash Флешка Круглова bar_tiran_pda ПДА Тирана voen_pda, bandranen_pda, fraer_pda ПДА по квесту наемника Андрея (военного, раненного бандита и Фраера) ara_flash флешка наемника Ары siv_pda ПДА наемника Сивого device_pda_npc ПДА, которые нужны для Дена или обмена у Информатора gonets_flash_desc флешка гонца Калинина item_delete1 ПДА отключения телепорта в подземке Агро sysh_flash флешка Сыча nauch_flash флешка ученых из Х18 sniper_flash флешка Зверя с Дикой територии esc_wounded_flash флешка пленного val_key_to_underground ключ Борова от Х18 bar_tiran_pda ПДА Тирана pda_krysyka ПДА Крысюка agroprom_pda ПДА Крота und_pda ПДА Макса Любера rad_pda ПДА Монолитовца с артмодом strelok_pda ПДА Стрелка scaintist_pda ПДА ученого с Припяти для Бармена bar_lucky_pda ПДА Болта bar_ecolog_flash флешка Круглова pda_priz ПДА Призрака bland_flash флешка Бленда crazy_flash флешка Психа (сумашедшего) mil_svoboda_leader_pda ПДА Лукаша cit_doctors_key ключ Доктора от тайника в Припяти pda_vasilyev ПДА Васильева pda_francuz ПДА Француза pda_info Сломанный ПДА для Акима pda_art_mod ПДА для варки артефактов из мода Psy-rays (для старой версии Солянки)p
Документы
old_doc_3_1, old_doc_3_2, old_doc_3_3, old_doc_3_4 Третья часть документов Акима (нетрудно догадаться и поэкспериментировать, чтоб вычислить как называются остальные документы Акима) sak_document2 - Документ для Волка в тоннеле с электрами amk_zapiska документ для получения перехода с Агропрома на Кордон arhara_listok записка Стрелка lab_x16_documents документы из Х16 kostya_documents документ "Телепорт" из тайника Кости в Х16 new_prizrak_document1 ... new_prizrak_document3 дневники для Призрака plan_document план бункера на Радаре по квесту о пропавшей экспедиции voen_document записка военного (Андрея), с которой начинаются квесты Нового Сюжета sysh_document записка Сыча new_document_sniper документ Зверя с Кордона pri_decoder_documents документы из Припяти, написанные Стрелком rad_document7 - приказы командира военных за полгода scaintist_docs документы ученых, которые везли необычный артефакт (по 1-му квесту Борова) lab_x10_documents документы из Х10 sak_book1 ... sak_book3 книги для Сахарова из 3-х лабораторий mono_note блокнот монолитовца mono_dead_doc документы мертвого монолитовца
Разные предметы
arhara_tele телепорт Монолитовцев detector_elite_john - детектор Голограммы, определяющий любые аномалии (для версий Солянки от 14.06 и позже) bioradar биорадар matras спальный мешок doc_medal медальон Доктора meceniy_outfit_new маскировояный экзоскелет new_book_prizrak дневник Призрака new_book записная книжка Архары stukach_book записная книжка Павлика sak_book4 ежедневник Доктора quest_case_01 чемодан с документами с Блок-поста на Кордоне book_xabarych книга Шахтера flyga - фляга Петренка microshema микросхема для Долговязого arhara_obman ручной телепорт Стрелка termos_small маленький термос termos_big большой термос kuvalda, kluch, otvertka инструменты для Сидоровича (кувалда, гаечный ключ, отвертка) tisku_arhara - тиски для Шурупа kubik - кубик Рубика fonarik - фонарик для Шахтера shaxter_tele - лекарство шахтера snotvornoe_tele - снотворное доктора disk_adren - диск для Адреналина kostya_af_gold_fish - золотая рыбка для Кости good_psy_helmet настроенный пси шлем bad_psy_helmet не настроенный пси шлем dynamite Динамит Лукаша hunters_toz ТОЗ охотника в баре case_freeman Кейс Фримена gorelka, manometr, trubka запчасти для Огнемета vorona_egg воронье яйцо lekarstvo лекарство для Акима mozg мозг Контролера bezoar Безоар amk_ballon баллон с газом amk_kanistra канистра с бензином antizombie антизомбин acumm аккумулятор sumka_arhara сумка Сахарова inventory_new_box ящик с хабаром для Якута после ограбления Гавра computer_new компьютер из Х18 для Круглова notebook_new ноутбук Архары notebook ноутбук с данными из Х18 для Фаната diplomat дипломат с документами из Х16 для Фаната computer системник из Припяти для Фаната inventory_sakbox_01 ящик с патронами inventory_sakbox_02 ящик с инструментами для Сяка inventory_sakbox_03 сейф Сяка inventory_sakbox_04 металлический ящик inventory_sakbox_05 контейнер высшей защищенности (используется во многих квестах, в т.ч. в 1-м квесте Борова) playboy подписка плейбоя для Макса (от Круглова) playboy1 ... playboy11 варианты различных журналов Плейбой, встречающихся в Зоне. Долговцу нужен 10-й вариант sak_plan мешок с планом для Скряги quest_case_02 кейс с документами военных quest_case_05 кейс с документами ученых quest_case_06 кейс с документами военных quest_manycase_01 кейс с деньгами decoder1 декодер для Круглова из Х16 gunslinger_flash флешка Стрелка (выдает Сидорович при первом диалоге) sak_resiver радиостанция для Волка sak_resiver_yantar блоки мониторинга, которые выдает Сахаров decoder - декодер из гостиницы в Припяти oceanic815 - пиво для Дэна
money Серебряный рубль money1 Золотой червонец money2 Серебряный рубль money3 Серебряный рубль arhara_instruk Инструкция для костюма malyva Блокнот с запиской для Борова pribor Компьютер с антенной 3d_raziy Видеорация telefon Мобильная рация suvorotka Сыворотка kod_kamera Блокнот часового soap Мыло amulet Амулет remontnyi_box Ремонтный ящик shkatulka Шкатулка arhara_seif Минисейф для Шахтера kluch_dell_teleport Деактиватор телепортов kluch_dell_teleport1 Деактиватор телепортов kluch_dell_teleport2 Деактиватор телепортов parcel Посылка box_with_weapon Ящик с оружием tabletki_1 Таблетки tabletki_2 Таблетки tabletki_3 Таблетки shpriz Шприц akkumulytor Аккумулятор для квестов НЗ britva Бритвенный станок starik_chasy Золотые часы land_disketka Дискета kolba_pustay пустая Колба kolba_siniy_poln Колба с реагентом kolba_orand_poln Колба с реагентом ekza_akkumul Блок питания elek_plata Плата (электронная) kluk_karta Карта Клыка kluk_karta_kopiy Копия карты Клыка trupak Труп контролёра sidor_head Чучело головы Сидоровича perfuzor_pust Перфузор с пустыми колбами perfuzor_poln Перфузор с полными колбами kukla_1 Старая кукла timer часы для мини-карты худа naem_bloknot блокнот наемника Костолома amul_naemn печатка наемника pseudopechatka печатка наемника kluch_dell_teleport_warlab деактоватор телепорта на Варлабе chuchelo_body чучело псевдопса disk_pantera диск для Пантеры bullion_gild золотой слиток Лукаша device_teleport одноразовый телепорт Кости science_teleport, science_teleport2, science_teleport3 телепорты от Сахарова
wpn_m_134 миниган wpn_awm_new модифицированный игломет klyak_forest_doc Документ из Красного леса rukzak_green Рюкзак охотников nebo_clear аннигилятор аномалий case_nebo кейс курьера Свиблова lekar_kalmyak Лекарство от Калмыка glushitel глушитель радиочастот televizor телевизор maz мазь Калмыка box_kalmyak контейнер для Калмыка mushroom мухомор sigaret сигареты hand_teleporter Ручной телепортатор от Креста hand_teleporter_arhara Неисправный Ручной телепортатор acumm Аккумулятор doc_1 Система для активации модулей СКАТ 15 doc_8 Блок апгрейдера 1 doc_10 Блок апгрейдера 2 pult_anders - джойстик для Андерсена foto_kontroller_yazva - Фото контролёра по заданию Кленова
В gamedata\config\creatures\actor.ltx поменяйте: satiety_v = 0.000025 меняем на 0.000005 satiety_health_v = 0.00001 на 0.0001 (этот пункт не обязательно) Так будет как в Солянке сытность. Можно выставить любое другое значение, на ваше усмотрение.
gamedata/config/creatures/actor.ltx найти строки hit_probability_gd_novice = 0.20 hit_probability_gd_stalker = 0.30 hit_probability_gd_veteran = 0.40 hit_probability_gd_master = 0.50 они отвечают за вероятность попадания по вам при разных уровнях сложности. Повышаете значение до единицы и наслаждаетесь хардкором.
Максимальный переносимый вес прописан в gamedata/config/creatures/actor.ltx строчка max_walk_weight Строчка max_item_mass отвечает за иконку. Отображение веса в инвентаре (выше этого значения нельзя бегать) gamedata/config/inventory_sect.ltx строчка max_weight ; строчка max_ruck = 56 - вес, с которым уже наступает усталость. Детальный пример. Чрезмерное наполнение рюкзака чревато вылетами!
Изменяй значение этих строк в секции нужной брони: additional_inventory_weight = 15 additional_inventory_weight2 = 15 ; 40+ Характеристики костюмов лежат по адресу: gamedata\config\misc\outfit.ltx Для того, что бы повысить переносимый вес любого костюма, добавьте строку, выделенную цветом, в файл костюма(пробовал на примере скат-10, получился замечательный аналог экзы) bones_koeff_protection = armor_helmet_damage additional_inventory_weight = 200
В файле outfits.ltx находишь нужную броню и правим эту строку. sprint_allowed = false -чтобы низя было бегать sprint_allowed = true - бегаем
\gamedata\scripts\escape_dialog.script надеюсь ты найдёшь где там что кому отдаёт. функция transfer_deneg выдаёт после квеста ночная звезда... Когда отдал, ему. функция give_weapon_from_trader это когда перед выдачой квеста дает.
Кому нужно убрать ГГ в качестве цели для техники на блокпосту, открывайте gamedata\config\scripts\esc\, там: Для БТРа, в файле esc_blockpost_btr.ltx - строки target=actor заменить на target=nil Для вертолёта, в файле esc_blockpost_heli.ltx - строки combat_enemy = actor заменить на combat_enemy = nil - либо удалить
Чтобы убрать удар наносимый при обыске трупов зомби, нужно открыть файл xr_motivator.script: найти в нём строчку sak.zombie_checkup() и поставить перед ней два дефиса. Тогда ни каких правок и антизомбинов не нужно.
путь: gamedata\config\ui\maingame.xml(maingame_16.xml для широких), ищем строчку:
В gamedata/scripts/aem_manager меняйте как вам удобно (вот копия моего файла который делал для себя) local time_open = 21 -- время (час) открытия арены, min = 0, max = 23 local time_close = 6 -- время (час) закрытия, min = 0, max = 23 local delay_min = 0 -- минимальное количество полных дней (суток) между закрытием и открытием арены, min = 0 local delay_max = 2 -- максимальное количество полных дней (суток) между закрытием и открытием арены, min = 1 local delay_mut = 4 -- количество полных дней (суток) до открытия полного списка мутантов, min = 0 local stake1 = 1000 -- ставка №1 в тотализаторе (руб.) local stake2 = 2000 -- ставка №2 в тотализаторе (руб.) local stake3 = 3000 -- ставка №3 в тотализаторе (руб.) local perc_min = 50 -- минимальный процент дохода с суммы ставки local perc_max = 100 -- максимальный процент дохода с суммы ставки local aem_only = false -- (!!!МЕНЯТЬ ТОЛЬКО ОДИН РАЗ!!!) false - мод активируется после прохождения оригинальной арены / true - мод активируется сразу.
В файлах gamedata/scripts/amk_dolg или amk_freedom. По примеру других сообщений можно вставлять свои, которые будут приходить от лица долга или свободы. Ничего сложного. Сами поймете, как сделать открыв нужный вам файл
gamedata\config\creatures\actor.ltx Физические размеры героя. Позволяет залезать в тесные пространства, например, в трубы. ph_box0_center = 0.0, 0.9, 0.0 ph_box0_size = 0.35, 0.9, 0.35 ph_box1_center = 0.0, 0.65, 0.0 ; 2-е значение - высота ГГ в присяде ph_box1_size = 0.35, 0.65, 0.35 ; 2-е значение - высота ГГ в присяде ph_box2_center = 0.0, 0.2, 0.0 ; 2-е значение - высота ГГ в полном присяде ph_box2_size = 0.35, 0.2, 0.35 ; 2-е значение - высота ГГ в полном присяде stalker_restrictor_radius = .05 ; ограничение расстояния между сталкерами. Низкое значение полезно, когда кто-то загородил дорогу в тесных помещениях. stalker_small_restrictor_radius = .05 medium_monster_restrictor_radius = 0.1
Что бы убрать пятна крови, в function dmx_update(delta) (\gamedata\scripts\dmx_mod.scripts) коментируем функцию blood_hud_update() двумя тере Пример:--blood_hud_update() Что бы уменьшить расстояние при котором происходит разбрызгивание крови в скрипте dmx_mod.scripts найти: -- Эффект крови на экране при убийстве НПС и монстров local blood = 255 function blood_hud_will(victim) if db.actor:see(victim) and db.actor:position():distance_to(victim:position()) < 5
и заменить 5 на маленькое число 5 - это расстояние в метрах
-- Атака псевдособаки из билда 1935 (Автор: Charsi) ... if oTarget and (oTarget:id()==0) and (v1.x*v2.x)+(v1.z*v2.z)<-0.6 and self.object:see(actor) and self.object:position():distance_to(actor:position())<20 then - дистанция начала пси-атаки. Достаточно изменить 20 на 0.1, и ГГ никогда, не ощутит воздействие пси-удара. ... local h = hit() h.draftsman = self.object h.type = hit.telepatic h.direction = vector():set(0,0,0) h.power = 0.2 h.impulse = 0.0 actor:hit(h) - нанесение хита, причём влияет на выносливость. h.power = 0.2 меняя в меньшую сторону, уменьшаем воздействие на ГГ. ... local aitem = actor:active_item() if aitem and math.random()<0.2 and (actor:active_slot()==1 or actor:active_slot()==2) then actor:drop_item(aitem) end - выбивание ствола при пси-воздействии. Достаточно поставить два дефиса(--) перед local aitem = actor:active_item(), (--local aitem = actor:active_item() ) и ствол не упадёт. ... DogTimer = time_global() + 2500*(1+math.random(-0.2,0.2)) + 700 - время воздействия и проигрывания эффектов. Не эксперементировал.
-- Атака бюрера из Зова Припяти (Авторы: Shadows and Charsi) ... if oTarget and (oTarget:id()==0) and (v1.x*v2.x)+(v1.z*v2.z)<-0.6 and self.object:see(actor) and self.object:position():distance_to(actor:position())<25 then - дистанция начала атаки.
BurerNum = 1 actor.power = -1.0 - хит на выносливост. Меняя в меньшую сторону,соответсвенно и меньше хит. (интересно, что будет если убрать минус? :biggrin:
local active_slot = actor:active_slot() if active_slot==1 or active_slot==2 then actor:drop_item(actor:active_item()) end - тоже на выбивание оружия. Два дефиса перед local active_slot = actor:active_slot(), (--local active_slot = actor:active_slot() ), и оружие не упадёт.
BurerTimer = time_global() + 6000*(1+math.random(-0.2,0.2)) - таймер(время) действия. Всё это в bind_monster.script (gamedata\scripts)
Что бы убавить дождь нужно покрутить параметры в паке gamedata/config/weathers fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть четкие края карты, а если поставить значение больше единицы, то туман будет виден прямо перед носом.
rain_density = 0.2 ; это плотность\частота дождя, действует, видимо, как и туман. Примечательно, что зависимость от параметра нелинейна, и значение 0.2 практически не отличается от единицы. Чтобы сделать действительно слабый дождь, надо экспериментировать с очень маленькими значениями. В каждом файле этой папки, название которого начинается с “weather” изменить значение параметра “rain_density” на 0.0.
правим в файле \gamedata\config\ui\ui_custom_msgs.xml (аналогично для широких экранов ui_custom_msgs_16.xml) перед секцией hud_show_time ставим этот код: Нижний угол:
2. В файле \gamedata\scripts\sak.script перед function show_time() вставляем:
Код
function show_time() local hud = get_hud() local cs = hud:GetCustomStatic("hud_show_time") if cs == nil then hud:AddCustomStatic("hud_show_time", true) cs = hud:GetCustomStatic("hud_show_time") end local time_h = level.get_time_hours() local time_m = level.get_time_minutes() local msg if time_m >= 10 then if time_h>= 10 then msg = string.format("%d:%d\\n", time_h, time_m) else msg = string.format("0%d:%d\\n", time_h, time_m) end else if time_h>= 10 then msg = string.format("%d:0%d\\n", time_h, time_m) else msg = string.format("0%d:0%d\\n", time_h, time_m) end end if cs ~= nil then cs:wnd():SetText(msg) end end
Внимание!Вопросы типа как зделать в одной ячейке несколько предметов в стопочку не задавать. Такие вопросы будут игнорироваться.
В файле: \gamedata\scripts\hidden_slots.script строка: function on_eat(section) ... -- helmets local items_for_helmets_slot ... if get_wearing_suit_with_helmet() then
Изменить на: if get_wearing_suit_with_helmet() and not string.find(section,"psy_helmet") then
далее: function helmet_dropping() ... if item and get_wearing_suit_with_helmet() then изменяем на: if item and get_wearing_suit_with_helmet() and not string.find(item,"psy") then "Charsi"
Идём gamedata\scripts\dmx_mod.script открываем блокнотом, ищим: function dmx_net_spawn() ... ... get_console():execute("cam_inert 0.45") cam_inert 0.45 исправляете (например на 0.1) на необходимое, сохраняете, проверяете в игре...
Идём по пути gamedata\config\misc. Открываем блокнотом файл effectors.ltx, там, в самом конце, ставим такие циферки - [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.00 speed_min = 0.0001 zoom_aim_disp_k = 0.00 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.00 ;и покачивания прицела delta_time = 2000
Создаём новый файл, с произвольным названием. Например qwerty.script, открываем его и копируем туда следующее:
Код
function give_weap() local item = db.actor:object("предмет") if not item then alife():create ("предмет", db.actor:position(), db.actor:level_vertex_id (),db.actor:game_vertex_id (), db.actor:id()) end end
В bind_stalker.script после строки:
Код
function actor_binder:update(delta)
пишим строку:
Код
qwerty.give_weap()
qwerty - имя файла, который создавали (где написана функция), give_weap() - имя функции. Сохраняете, заходите в игру, получаете предмет, сохраняетесь, выходите из игры и удаляете добавленную строку из bind_stalker.script P.S. В функции написано "предмет". Вместо слова предмет надо вставить секцию вашего предмета. Как заспавнить предмет ещё проще смотрим здесь.
Как подружить военных с нейтралами, актором и долгом? 1. Идём по пути gamedata\config\creatures\game_relation.ltx; 2. Копируем исходный файл game_relation.ltx куда-нить в сторонку (на случай "кривизны" рук); 3. Открываем файл game_relation любым текстовым редактором; 4. Находим табличку в секции [communities_relations] - в ней указано отношения группировок между собой и ГГ. От -5000 (полное "отрицалово") до 5000 (огроменная лябофф). 5. Правим отношения между нужными кланами и актором. Делается просто: находим значение на пересечении нужной строки и столбца и меняем значение. Если мирим, то повышаем значение; сеем раздор - уменьшаем. Но не забываем, что количество пробелов между значениями в строке должно остаться таким же как и до внесения правок (!). 6. Сохраняем изменённый файл. 7. Запускаем игру с НИ или ближайшего сейва (правки сделанные при запущенной игре работать не будут). Или же в task_manager.ltx (в каком-нибудь повторяющемся квесте Сидоровича - "принести артефакт" прописать в награду reward_relation к Военным например +1000 и они все позеленеют).
Меткость НПС: Если кому показалось, что стрельба неписей не достаточно точная или наоборот слишком меткая, правим эти строчки:
Для того, что бы повысить переносимый вес любого костюма, добавьте строку, выделенную цветом, в файл костюма(пробовал на примере скат-10, получился замечательный аналог экзы) bones_koeff_protection = armor_helmet_damage additional_inventory_weight = 200
kapitanDemo, знаешь еще что нибудь, пиши! KADAR
KADAR, Зер Гуд, то есть рад стараться .
Добавлено (02.06.2012, 10:32) --------------------------------------------- Увидел в шапке как поставить стартовый набор у Сидоровича. Вот вам как поставить стартовый набор у Волка перед выполнением квеста на АТП Кордона:gamedata/scripts/escape_dialog. Ищете строку function give_weapon_to_actor (trader, actor) - это и есть начало описания набора Волка. Далее все зависит от вашей фантазии :pioneer:
Это я такой набор поставил 8-летнему племяшу По желанию заменяете предметы на те, что вам нужны. Главное, знать правильное название предмета, а то вылет гарантирован. Да, еще одно: При таком комплекте сразу запаситесь дополнительным весом. Как это сделать-читайте в шапке.
KADAR, да, в акторе. Кому интересно-смотрите. Но это уже просто верх бессовестного читерства и годится только 8-летним племяшам. Остальным-СТЫДНО!!! :smile:
[actor_condition] satiety_v = 0.000015 ;скорость уменьшения сытости со временем radiation_v = 0.001 ;скорость уменьшения радиации satiety_power_v = 0.000055 ;увеличение силы при уменьшении сытости satiety_health_v = 0.0001 ;увеличение здоровья при уменьшении сытости satiety_critical = 0.0 ;критическое значения сытости (в процентах от 0..1) когда здоровье начианает уменьшаться radiation_health_v = 0.0 ;уменьшение здоровья при воздействии радиации morale_v = 0.0001 ;скорость восстановления морали psy_health_v = 0.01 ;скорость восстановления psy-здоровья alcohol_v = -0.0003 health_hit_part = 0.0 ;процент хита, уходящий на отнимание здоровья power_hit_part = 0.0 ;процент хита, уходящий на отнимание силы max_power_leak_speed = 0.0 ;накопление усталости (макс граница, до которой восстанавливается сила) в секунду игрового времени max_walk_weight = 510.0
bleeding_v = 0.0 ;потеря крови при номинальной ране в секунду wound_incarnation_v = 0.01 ;скорость заживления раны min_wound_size = 0.0256 ;минимальный размер раны, после которого она считается зажившей
Это настройка ячеек основного рюкзака в инвенторе главного героя. То есть общее пространство инвентаря (рюкзака).
Найдём-же в этой конструкции строчку:
Код
unlimited="1" group_similar="1"/>
Теперь меняем в строке group_similar="1" значение "1" на "0".
Другое значение не ставить! Это бинарный код! Тоже самое проделываем в аналогичном файле inventory_new_16.xml по адресу gamedata\config\ui. Это файл, отвечающий за настройку интерфейсов инвентаря на прямоугольном экране (16\9).
Теперь ищем другой файл, чтобы назначить группировку предметов по-одному в окнах торговли (рюкзак ГГ, рюкзак торговца\НПС и окна продажи и покупки.
Ищем файл со славным названием trade.xml в том же каталоге.
первые две конструкции отвечают за окно ассортимента игрока и окно ассортимента торговца\НПС. Две последних структуры отвечают за настройки окон продажи и покупки.
Теперь необходимо во всех этих конструкциях править строчку group_similar="1" на group_similar="0".
Тоже самое необходимо проделать в файле для широкоформатников trade_16.xml. Там всё аналогично.
Ну и чтобы всё было по-билдовски и при обыске трупов и тайников нам нужно поставить 0 вместо единицы во всех строчках group_similar="1" в файле carbody_new.xml и его копии для прямоугольных мониторов carbody_new_16.xml.
Теперь предметы группируются по-одному во всём графическом инвентаре.
Любой файл, описывающий интерфейс игры (не считая скриптовых), начинается следующими строками:
Дальше всё по аналогии, меняются только названия текстур и координаты.
Параметры слотов
Рюкзак
Код
<dragdrop_bag x="22" y="33" width="310" height="442" <!--точка начала координат, размер, х, у – координаты экране, width – ширина, height – высота в сумке--> cell_width = "41" cell_height="41" rows_num="10" cols_num="7" <!--ширина и высота ячейки, rows_num – кол-во рядов, cols – кол-во строк--> unlimited="1" group_similar="1"/> <!--не рассматривал--> Примечание: если нужно увеличить или уменьшить количество строк и столбцов, то меняем параметр cell_width = "41" cell_height="41 rows_num="10" cols_num="7" на необходимый, дальше нужное вам число cell_width * cols_num = width - записываем полученное значение, желательно, чтобы влезло в текстуру слота рюкзака. К вылету не приводит, но если больше или меньше выглядит не красиво. Например, мои значения такие: <dragdrop_bag x="22" y="33" width="290" height="420"cell_width = "35" cell_height="35" rows_num="12" cols_num="8" unlimited="1" group_similar="1"/>
Выпадение денег с нпс, эффект запотевания, эффект ранения, эффект плохого самочувствия.
Правим кому как нужно: \gamedata\scripts\monnoroch_options mone = 1 -- //* 0 - Выключить выпадение денег с нпс (1 - вкл , 0 - выкл) money_real = 1 -- //* 1 - включить античит. Денег рандомно и мало у нпс; другое число - денег столько, сколько было. Включать\выключать можно в любое время сколько хочешь раз. suithud_enable = 1 -- худ костюма (1 - вкл , 0 - выкл) blurs_enable = 1 -- эффект запотевания (1 - вкл , 0 - выкл) blood_enable = 1 -- эффект ранения (1 - вкл , 0 - выкл) bleed_enable = 1 -- эффект плохого самочувствия (1 - вкл , 0 - выкл) kostri = 0 -- костры гаснут, если рядом нет сталкеров (1 - вкл , 0 - выкл) Скачать monnoroch_options. Если хотим убрать только покраснение экрана при ранении, тогда: ...gamedata\config\gg.kick.ltx enabled = 0.0
Идём \gamedata\scripts\ файл amk_anoms.script и ищем
Код
local anoms_difficulty_koef={ [0]=0.75, [1]=1.0, [2]=1.25, [3]=1.5 }
Если значения поставить раза в 3-5 меньше, соответственно аномалий будет в два раза меньше. Альтернатива: находим строчку, которая отвечает за количество аномалий на Кордоне (а вы к примеру, правьте те локации, которые вам нужны):
"letterica16" меняем на "letterica18", если и это не решает полностью проблему, то прописываете:"graffiti19". Возможно будет выглядеть жирновато, но не придётся нырять в "Историю". Кому советовал, не жаловались... (alen-fantom)
Музыкальные флешки.
Пути нахождения и исправления файлов:
(файлы .xml можно редактировать с помощью блокнота в Windows) S.T.A.L.K.E.R\gamedata\config\sounds\ogg_player\flash_№ - треки в формате .ogg. S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_ogg_flash_№.xml - список треков флешки видимый в инвентаре. S.T.A.L.K.E.R\gamedata\config\ui\ui_cheat_flash_№.xml - список треков флешки видимый в плеере. Так же можно "надергать" треков из уже готовых флешек и собрать свою. В этом случае останется только поправить файлы .xml для правильного отображения треков в игре.
Cкачать "оригинальные" музыкальные флешки можно здесь.
Необходимые программы:
1) Какой-нибудь конвертер для перевода в .wav (например "старенький" dBpowerAMP Music Converter) 2) SDK качаем здесь. Глобальный патч v0.3 (14 Feb 2009) для X-Ray SDK v0.4 ТУТ Лично мне в инструкции по созданию пригодились подсказки до строчки: ...А так же задается к какому типу звуков в игре он относится... В окошке Sound Editor - просто не было остальных параметров... Менял только одну цифру в MinDist...
Инструкция по самостоятельному созданию музыки для флешек к муз.плееру
1.Прогоняем музыку через СДК Любым музыкальным редактором, например можно использовать Sound Forge 8.0, подготавливаем наши звуковые файлы – они должны быть сохранены в следующем виде: качество сохраняемых файлов: WAV (standard) 44100Гц, Моно, 16 бит. После сохранения выбранных треков в виде WAV (standard) 44100Гц, Моно, 16 бит, их необходимо перевести в формат, поддерживаемый игрой. Итак, открываем Actor Editor либо Level Editor. На панели инструментов справа вверху ищем пункт меню Sounds, кликаем его и выбираем Sound Editor. Откроется окно редактора звука. Для того чтобы там появились наши файлы, необходимо скопировать их в папку rawdata\sounds в корне установленного Level Editor’a (например, c:\Program Files\X-Ray SDK\level_editor\rawdata\sounds). В этой папке вполне могут оказаться какие-то «левые» файлы – их можно смело удалить. NB: Важно чтобы копируемые туда файлы были именно в формате WAV! После того как вы скопировали свои файлы в папку SDK в окне Sound Editor’a должен появиться их список. Выбираем трек и изменяем следующие параметры: MinDist = 300.0 - расстояние, с которого звук начнет затухать (практически это и есть громкость звука) MaxDist = 300.0 - максимальное расстояние, на котором звук будет слышен ГГ MaxAIDist = 300.0 - максимальное расстояние, на котором звук будут слышать NPC BaseVolume = 1.0 - громкость Остальные параметры не трогаем. Нажимаем ОК и ждем окончания синхронизации звуков. Если всё было сделано правильно, в папке gamedata\sounds в директории Level Editor’a (например, c:\Program Files\X-Ray SDK\level_editor\gamedata\sounds\) можно забрать готовые файлы ogg с валидными комментами. Псоле этого смело кладем наши звуки в папки игры. А список треков правим здесь: S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_ogg_flash_№.xml S.T.A.L.K.E.R\gamedata\config\ui\ui_cheat_flash_№.xml
Упрощённая инструкция
1. Подобрал музыку. 2. Сделал список-памятку названий «типа»: Sound 1 - Наутилус: Песня Идущего Домой 3. Переименовал будущие треки в Sound 1, 2, 3... 4. Конвертировал в WAV с параметрами: 44100Гц, Моно, 16 бит 5. Загрузил эти треки в папку: С:\Program Files\X-Ray SDK\level_editor\rawdata\sounds В этой папке вполне могут оказаться какие-то «левые» файлы – их можно смело удалить. 6. Запускаем SDK На панели инструментов справа вверху ищем пункт меню Sounds, кликаем его и выбираем Sound Editor. Откроется окно редактора звука. Выбираем трек и изменяем следующие параметры: MinDist = 300.0 - расстояние, с которого звук начнет затухать (практически это и есть громкость звука) MaxDist = 300.0 - максимальное расстояние, на котором звук будет слышен ГГ MaxAIDist = 300.0 - максимальное расстояние, на котором звук будут слышать NPC BaseVolume = 1.0 - громкость Я менял только параметр MinDist, остальные параметры не трогал. Нажимаем ОК и ждем окончания синхронизации звуков. Если всё было сделано правильно, в папке С:\Program Files\X-Ray SDK\level_editor\gamedata\sounds\ можно забрать готовые файлы .ogg 7. Залезаем в папку gamedata установленной игры, находим нужные файлы (№ - это цифра изменяемой флешки) string_table_ogg_flash_№.xml ui_cheat_flash_№.xml редактируем названия песен (не слишком длинные, чтобы текст поместился в окошко плеера) Кладем готовые треки в gamedata\config\sounds\ogg_player\flash_№ 8. Для создания флешки для выкладывания: Создаём папку gamedata, запихиваем в неё ещё папки с нужными именами, чтоб получились пути: gamedata\config\sounds\ogg_player\flash_№ - папка для треков в формате .ogg. gamedata\config\text\rus\ - string_table_ogg_flash_№.xml — для списка треков флешки видимого в инвентаре. gamedata\config\ui\ - ui_cheat_flash_№.xml — для списка треков флешки видимого в плеере. P.S. Что б не «мучаться» - можно просто скачать одиночную флешку, заменить в ней треки на свои и отредактировать 2 файла .xml
Материал взят с stalker gamers ru
Как отключить использование аккумулятора для минигана - открываем: \gamedata\scripts\meceniy_wpn.script Находим строку: minigan_update(wpn) и комментируем ее: --minigan_update(wpn) Можно еще закомментировать апдейт этой функции: идем по пути gamedata\scripts\amk.script, находим строку mod_call("check_armor")(в "чистой НС" строка 1392 в нотепад) и делаем так: --mod_call("check_armor")
Как отключить убирание оружия при лечении, когда находишься в СКАТ-15? Оружие не будет убираться после второго блока апгрейда (DMX 1.3.5). Что бы не убиралось после первого правим следующее: путь gamedata\scripts\dmx_medicines.script Ищем в нём следующее:
function hide_weapon(section) local outfit = db.actor:get_current_outfit() if (outfit and outfit:section() ~= "exo_mil_exoskeleton_addrs" and outfit:section() ~= "exo_mil_exoskeleton_dmx" or not outfit) and not has_alife_info("hide_weapon_info") then
и выделенное оранжевым исправляем на следующее:
if (outfit and outfit:section() ~= "exo_mil_exoskeleton_add" and outfit:section() ~= "exo_mil_exoskeleton_addr" and outfit:section() ~= "exo_mil_exoskeleton_addrs" and outfit:section() ~= "exo_mil_exoskeleton_dmx" or not outfit) and not has_alife_info("hide_weapon_info") then
Не отображаются трупы на карте: файл map_spots_relations.xml строка (сделать её такой)
Параметры width="4" height="4" размеры точки на карте. Если ставят "0", то и не будет ничего. Аналогично делается и с врагами.
Как отключить эффект лечения аптечками:
Код
dmx_medicines.script -- Постепенное лечение аптечками -- ....... Строки, типа: amk.start_timer("actor_medkit_use_timer", 3, "") значение привести к нулю
...какой таймер установлен для аптечки - столько % прибавляется к здоровью.
Аптечки дают "+" ровно столько, на сколько установлен таймер "резинки" помноженный на 10. Специально поставил ДМХ - да нормально всё "растягивается", согласно установленным таймерам. Вариант замедления есть, но он сам по себе - бред: в конфиге аптечки (items) eat_max_power = 0.1 изменить на 0.05 тогда получиться, что аптечка с таймером 3 сек. и при eat_max_power = 0.1 даёт +30%, а при eat_max_power = 0.05 только +15%. Увеличиваем таймер в 2 раза(с 3 на 6) и получится при eat_max_power = 0.05 +30% - но за 6 сек. Другого варианта не "увидел"...
Цитата: а у меня аптечка вообще лечит 2 раза. То есть не исчезает после первого использования и остаётся на второй. Случаем не знаете как сделать, чтобы аптечки были одноразовыми?
Опять же в конфиге аптечки смотреть: eat_portions_num = 1 -- используется за одно применение, если "2" - одна аптечка на 2-раза
"научная" и "элитная": section == "medkit_scientic" ... amk.start_timer("actor_medkit_use_timer", 7, "") -- 70% плюс то что в конфиге; ... ... section == "medkit_elite" ... amk.start_timer("actor_medkit_use_timer", 10, "") -- 100% и конфиг;
У мед. препаратов, введённых в ДМХ( сыворотка, пси-блокада, барвинок и др.) свои таймеры.
KADAR, да, в акторе. Кому интересно-смотрите. Но это уже просто верх бессовестного читерства и годится только 8-летним племяшам. Остальным-СТЫДНО!!!
+1 Полностью согласен Единственно ,произвёл бы полный ребаланс костюмов ,оружия и артов- есть много недочетов ,опечаток и ошибок,ебстесенно в разумных пределах и приближённых к реалии. Например арт -осколок монолита фонит с силой 85 МР/ч,таскаю на поясе каменный дикобраз с продиводействием -60 два электрических дикбраза по 40-шкала радиации ползет вверх,специально посчитал сумму радиации всех радиактивных артов ,которые у меня в рюкзаке-положительный показатель у меня был выше-один хрен облучаюсь.Или "Протекта",которая слабее"Макара" ...Вот такие казусы не можно, а нужно исправлять!
Сообщение изменил:atarus - Четверг, 07.06.2012, 22:11
atarus, мне это бессмертие нафиг сдалось У меня некогда не поднимится рука его сделать, я же говорил что менял в игре лишь час ужаса и ребаланс пушек, но не так что все всех валит с одного выстрела. А по уму, еле заметно даже. И играю на мастере в комбезе стрелка. И антизомбином пользуюсь!
Да, инфо для спавна телепортов выдается в самом начале игры, после получения задания от Сидора на флешку Шустрого и последующего разговора с Волком, на его фразе: Волк: - Уважаю! Вот тебе оружие и припасы, координаты парней я тебе скинул. Насчёт тебя сейчас предупрежу. Многие забывают поговорить с Волком, отсюда и проблемы. файл: \gamedata\scripts\bind_stalker.script , там найди строку: function actor_binder:update(delta) Сразу под ней вставь эту: db.actor:disable_info_portion("kostya_radar_taynik_done") чтоб получилось так: -- malandrinus scopeUsed = false function actor_binder:update(delta) db.actor:disable_info_portion("kostya_radar_taynik_done") -- malandrinus -- watch_value = game.time()
Сохраняешь изменения, загружаешь сохранение рядом с Костей и вызываешь меню диалога с ним, там должна снова появиться строка: "Все, Костя, последний ПДА найден!" Если появилась - на нее не нажимать и диалог не продолжать!!! Сохраняешься(!), выходишь из игры и удаляешь (обязательно!) строку которую ранее добавил. Опять сохраняешь изменения в файле и загружаешь игру с ранее сделанной сохранки. Говоришь с Костей и получаешь наводку на тайник в х10, все. ЗЫ. Можно конечно и сразу запустить поршень на выдачу задания по тайнику в х10, вставив такую строку: db.actor:give_info_portion("kostya_x10_taynik_start") Отработает нормально, но уже без участия Кости, а это, какбэ, не интересно ;) romale
Открывай: gamedata\scripts\ui_main_menu.script там находишь строки:
Код
elseif dik == DIK_keys.DIK_A then if amk.check_game() then self:amk_options()
и сразу под ними вставляешь эти:
Код
local id, obj, kto for id=0, 65535 do obj = level.object_by_id(id) if obj and IsStalker(obj) then kto = obj:character_community() if (kto == "stalker") then obj:set_goodwill(5000, db.actor) end end end
должен получиться вот такой кусок кода:
elseif dik == DIK_keys.DIK_A then if amk.check_game() then self:amk_options() local id, obj, kto for id=0, 65535 do obj = level.object_by_id(id) if obj and IsStalker(obj) then kto = obj:character_community() if (kto == "stalker") then obj:set_goodwill(5000, db.actor) end end end end
Сохраняешь изменения, загружаешь сейв на локации где сидит Костя-враг, жмешь по очереди кнопки: "Еsc" "А" "Еsc" Все, через пару секунд задержки - Костя в "друзьях" ..
Выделенное значение в строке: obj:set_goodwill(5000, db.actor) опять-же можно варьировать от меньшего (начать с 500 например) к большему, чтоб сразу и навсегда одиночек в "вечные" друзья не записывать.. Точно так же можно "помириться" и с любой другой группировкой/персом (на текущей локации), для этого в строке: if (kto == "stalker") then поменять "stalker" на название группировки, с которой нужны хорошие отношения. Названия группировок можно найти в \gamedata\config\creatures\game_relations.ltx
После, как все наладится, функцию "одружелюбливания" лучше закомментировать, чтоб при каждом вызове АМК-опций (через кнопку "А") не повышались отношения с одиночками, вот так:
elseif dik == DIK_keys.DIK_A then if amk.check_game() then self:amk_options() --[[local id, obj, kto for id=0, 65535 do obj = level.object_by_id(id) if obj and IsStalker(obj) then kto = obj:character_community() if (kto == "stalker") then obj:set_goodwill(5000, db.actor) end end end]] end
Точно так же, как под спойлером выше с Костей. Только в коде вместо "stalker" вставь "trader" Мириться ( жать на кнопку "А") нужно находясь на АТП.
------тут, если надо, определяем ящик, куда всё добро перекинется --- function ograblenie(actor,npc) local имя_ящика = level_object_by_sid(сид_номер ящика) out_object = db.actor in_object = имя_ящика db.actor:inventory_for_each(transfer_object_items) end ------тут между делом указываем, какие предметы удалять из рюкзака нельзя--------- function transfer_object_items(item) local sect = item:section() if sect == "wpn_binoc" -- бинокль or sect == "device_torch" -- фонарь or sect == "detector_simple" -- детектор or sect == "другой предмет" -- и т.д. then return end out_object:transfer_item(item, in_object) end
Доброго времени суток пытался отключить час ужаса но в gamedata/scripts файла meceniy_utils.script не нашел в этой папке только два файла (meceniy) вот их названия meceniy_in_hell.script meceniy_outfit.script Что мне делать?
wowanskiy, Смотрите на скрин. , Или же у вас gamedata запакована в .db-архивы. Файл можете скачать в шапке темы под правкой "Отключение и настройка Часа ужаса". Эсминец.
1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал) 2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку: где X кол-во треков Указываем (в место X) кол-во треков которые будем использовать.
в строках music\(название трека) удаляем лишнее или прописываем свои.
S.T.A.L.K.E.R\gamedata\config\misc\effectors.ltx
строка:
[bobbing_effector]
run_amplitude = 0.0075 - изменять эту строку например на 0.0005 почти не шатается, желаемого результата добивайтесь методом перебора walk_amplitude = 0.005 limp_amplitude = 0.011
Если ещё что нужно, задавайте вопросы. Но предупреждаю, могу помочь только по мелочи.
Пишите всё то что знаете и то что считаете будет полезно для игроманов.
Сообщение изменил:ZLURov - Пятница, 29.06.2012, 21:21
Привет сталкерам. Кто знает как исправить вот это безобразие . Это при том, что кровь не ГГ, а убиенной зверушки. И не важно кого убил тушкан, крыса, плоть и т.д. Пока в нее стреляешь все нормально, но в момент последнего, смертельного выстрела, на ГГ выплескивается столько крови, что в течении нескольких секунд вообще никакого обзора. Вопрос-как это можно убрать? Играю 1.3.5. Худ отключен. Спасибо.
-- Эффект крови на экране при убийстве НПС и монстров local blood = 255 function blood_hud_will(victim) if db.actor:see(victim) and db.actor:position():distance_to(victim:position()) < 5
KADAR, заменив на 1, получите капли крови при убийстве на расстоянии 1-го метра и меньше. Зачем лезть в саму функцию, когда можно безболезнено отключить в function dmx_update(delta), закоментировав эту функцию: blood_hud_update(), т.е. --blood_hud_update() , и всё. Можно ещё вариант: заменить текстуру на пустышку. ------------------------------ Сама фишка мне понравилась, наверное поэтому не включал её исправление в правки.
Я немогу осознать всех прелестей отключения/включения этой функции, у меня ДМХ 1.3.4
Сообщение изменил:alen-fantom - Понедельник, 09.07.2012, 19:36
Deathsong, Вам нужно дождаться и пережить час ужаса на локах ориг. игры. Лучше всего на кардоне или свалке. Час ужаса наступает, как будто в интервале 22.00-22.30. А сама папка gamedata в Вашей сборке присутствует?
alen-fantom, ,подскажите как сделать,что бы ГГ падая с небольшой высоты не "ой-кал" в каком файле этот параметр-т.е. смягчить удар о землю или предмет ?
А вот и решение,спасибо Saruman: в акторе ph_crash_speed_min = 14 ph_crash_speed_max = 30 увеличивай
Сообщение изменил:atarus - Вторник, 10.07.2012, 18:42
path_angular_sp_pitch = 0.35 ;0.35; 0.65; 0.85; 0.45 ; скорость изменения высоты пути при скорости "velocity" path_angular_sp_pitch_0 = 0.2 ; скорость изменения высоты пути при скорости "0" path_angular_sp_heading = 0.75 ;0.5 ;0.75 ; угловая скорость пути при скорости "velocity" path_angular_sp_heading_0 = 1;0.9 ; угловая скорость пути при скорости "0"m/s
magic_angle = 0.3
//пфраметры наклона модели model_angular_sp_bank = 0.5 ;0.4 ; скорость поворота модели по оси Z (как быстро модель повернется по курсу движения с учетом угловой скорости) model_angular_sp_pitch = 0.1 ; ; скорость поворота модели по оси X в зависимости от текущей линейной скорости model_pitch_koef = 0.016;0.012;0.018 ; ; коэф наклона модели по оси X в зависимости от текущей линейной скорости model_bank_koef = 0.018 ;0.02 ; коэф наклона модели по оси Z в зависимости от текущих линейной и угловой скоростей on_point_range_dist = 10.0 ; служебная информация
;default, can be redefined by script velocity = 30;25 ;m/sec скорость, с которой патрулировать min_altitude = 15;30 ;15 20 ;20.0 ;m min altitude in free state ;attack_velocity = 15.0; 15; 10 ;m/sec скорость, с которой атаковать врага ;altitude = 50 ;20.0 ;m высота, на которой патрулировать safe_altitude = 3.0 ; level_bound+5.0
use_rocket = true ; использовать ракеты при атаке use_mgun = true ; использовать пулемет при атаке use_aim_bullet = false ; Использовать ли первую "Сильную" пулю min_mgun_attack_dist = 15 ;30 ;15.0 ;m мин расстояние при котором можно исп пулемет max_mgun_attack_dist = 150 ;300.0 ;m макс расстояние при котором можно исп пулемет min_rocket_attack_dist = 100.0 ;m мин расстояние при котором можно исп ракеты max_rocket_attack_dist = 250 ;150.0 ;m макс расстояние при котором можно исп ракеты time_between_rocket_attack = 1250 ; 1500 ; msec задержка между ракетами syncronize_rocket = false ; true пускать ракеты парами или по очереди (лев-прав-лев-прав) fire_trail_length = 50 ;m use_fire_trail = true barrel_dir_tolerance = 2 ; degrees. допустимый угол, когда считаем, что дуло направлено в цель
death_angular_vel = 0.1,6.0,0.2 ; при гибели в воздухе дать угловую скорость модели death_lin_vel_koeff = 1 ; при гибели в воздухе умножить собственную лин скорость на коэфф
flame_start_health = 0.3 ; уровень здоровья, ниже которого вертолёт начинает дымить
; ------------------------- параметры для универсальной боевой схемы flyby_attack_dist = 100 ;70 search_attack_dist = 70 ;55 ;80
search_velocity = 5 ; скорость (м/с) облёта врага по кругу в режиме поиска round_velocity = 10 ; скорость (м/с) облёта врага в режиме атаки
vis_time_quant = 200 ;интервал (в мс) между проверками видимости vis_threshold = 60 ; какой процент видимости нужен, чтоб наблюдаемый объект считался видимым vis_inc = 30 ; на сколько процентов увеличится видимость объекта за 1с vis_dec = 30 ; на сколько процентов уменьшитя видимость объекта за 1с
forget_timeout = 60 ; в течении этого времени (в сек) вертолёт помнит врага, если не видит его ; ------------------------------------------------------------------
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Свойства CustomRocket ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; engine_present = true ;присутствует ли в ракете двигатель engine_work_time = 5000 ;время работы двигателя (в милисекундах) engine_impulse = 1000 ; engine_impulse_up = 137.34 ;215.58;137.34 = 2*9.81*7 - значение этого параметра (который является некой подъемной силой, вопреки названию), ;при котором ракета массой 7кг не опускается под дейсвием ;гравитации. 2*9.8=19.62 - ускорение свободного падения в мире сталкеров ;при меньших значениях ракета будет опускаться, при больших подниматься
lights_enabled = TRUE ;свет вокруг ракеты, во время полета trail_light_color = 0.7,0.6,0.3 trail_light_range = 20.0
-- Атака псевдособаки из билда 1935 (Автор: Charsi) ... if oTarget and (oTarget:id()==0) and (v1.x*v2.x)+(v1.z*v2.z)<-0.6 and self.object:see(actor) and self.object:position():distance_to(actor:position())<20 then - дистанция начала пси-атаки. Достаточно изменить 20 на 0.1, и ГГ никогда, не ощутит воздействие пси-удара. ... local h = hit() h.draftsman = self.object h.type = hit.telepatic h.direction = vector():set(0,0,0) h.power = 0.2 h.impulse = 0.0 actor:hit(h) - нанесение хита, причём влияет на выносливость. h.power = 0.2 меняя в меньшую сторону, уменьшаем воздействие на ГГ. ... local aitem = actor:active_item() if aitem and math.random()<0.2 and (actor:active_slot()==1 or actor:active_slot()==2) then actor:drop_item(aitem) end - выбивание ствола при пси-воздействии. Достаточно поставить два дефиса(--) перед local aitem = actor:active_item(), (--local aitem = actor:active_item() ) и ствол не упадёт. ... DogTimer = time_global() + 2500*(1+math.random(-0.2,0.2)) + 700 - время воздействия и проигрывания эффектов. Не эксперементировал.
бюрер
-- Атака бюрера из Зова Припяти (Авторы: Shadows and Charsi) ... if oTarget and (oTarget:id()==0) and (v1.x*v2.x)+(v1.z*v2.z)<-0.6 and self.object:see(actor) and self.object:position():distance_to(actor:position())<25 then - дистанция начала атаки.
BurerNum = 1 actor.power = -1.0 - хит на выносливост. Меняя в меньшую сторону,соответсвенно и меньше хит. (интересно, что будет если убрать минус? )
local active_slot = actor:active_slot() if active_slot==1 or active_slot==2 then actor:drop_item(actor:active_item()) end - тоже на выбивание оружия. Два дефиса перед local active_slot = actor:active_slot(), (--local active_slot = actor:active_slot() ), и оружие не упадёт.
BurerTimer = time_global() + 6000*(1+math.random(-0.2,0.2)) - таймер(время) действия.
Всё это в bind_monster.script (gamedata\scripts) Помните, что сломать всегда легче, чем сделать. Низкий поклон Shadows and Charsi, за их терпение и снисхождение к тем, кто так нещадно кавыряет их творение.
Сообщение изменил:alen-fantom - Среда, 11.07.2012, 17:11
Hi, people! А где лежит конфиг Скат 15М? Обшарил весь outfit, нигде не нашел.
Цитата
Здрасте всем. Проблема такая: при прохождении задания болотного доктора на живое сердце по ветке Сахарова установить прибор на чаэс, при заходе на локацию, попадаю прямо в пик выброса и гг умирает. Что делать? Версия N.S. / Cumulative Weapons Pack 1.1 / Collector 0.5.5 / Master Addon 1.1
Создаем скриптовый файл, например chaes_vibros.script по пути gamedata\scripts (если есть вопрос по созданию, то можно из этой папки скопировать любой скриптовый файл, переименовать его и вырезать из него все содержимое) и заполняем его следующим:
Код
function switch_timer_stancia_cheat() for a=2000,2100,1 do local obj=alife():object(a) if (obj and obj.name and obj:name() == "aes_space_restrictor_timer") then local params=get_restrictor_data(obj) params.custom="[logic]\ncfg = scripts\\aes\\aes_space_timer_cheat.ltx" set_restrictor_data(params,obj) end end end
Далее находим файл aes_space_timer_cheat.ltx по пути gamedata\config\scripts\aes\ , удаляем его содержимое и вставляем это:
Код
[logic]active = sr_idle
[sr_idle] on_info = {+aes_actor_road} nil
теперь нужно активировать нашу функцию, для этого можно например строку chaes_vibros.switch_timer_stancia_cheat вставить в диалог какому нибудь НПС. Или можно сделать так: Идем по пути gamedata\scripts находим скрипт bind_stalker.script и под строкой function actor_binder:update(delta) вставляем вызов нашей функции : chaes_vibros.switch_timer_stancia_cheat Закрываем, соглашаемся с изменениями.
Что делать? На "Сходку авторитетов не прилетели вертолёты.
Для тех, у кого проблема со "Сходкой авторитетов" на Агропроме, после оживления Мухи и перехода из Госпиталя (не появляются вертушки и сами "авторитеты").
1. После перехода говорим с Мухой и Призраком, сохраняемся - выходим из игры. 2. Находим в файле: \gamedata\scripts\bind_stalker.script строку: function actor_binder:update(delta) Сразу под ней добавляем:
3. Загружаем предварительно сделанное сохранение. Сразу после загрузки наблюдаем появление всех участников сходки. Вертушек не будет, это не исправляется.
4. Сразу сохраняемся, выходим из игры и заменяем файл на оригинальный (резервный), либо комментируем добавленные строки таким образом: --[[db.actor:give_info_portion("spawn_pervay_vertuha") db.actor:give_info_portion("spawn_vtoray_vertuha")]] сохраняем изменения.
5. Загружаем последнюю сохранку - ждем окончания переговоров, наблюдаем "отлет" авторитетов (просто исчезают), говорим с Архарой и "воскресшим" старым товарищем. P.S. В дальнейшем, при загрузке сохранений на Агро, сделанных после сходки, или при последующих заходах на локу, будет вылезать "ахтунг" с руганью на неудалившиеся рестрикторы:
Можно либо не обращать на "ахтунг" внимания, если не сильно раздражает и вылетов при этом не происходит, либо удалить рестрикторы по методу удаления глючных объектов...
Готовый код для удаления (вставить вместо закомментированного или соответственно отредактировать имеющийся:
Код
local bad_object_names = {"fin_priz_dell_restrictor", "fin_dok_dell_restrictor", "fin_pili_dell_restrictor", "arh2_dell2_restrictor" } local i, se_name, se_obj
for i, se_name in ipairs(bad_object_names) do se_obj = alife():object(se_name) if se_obj then news_manager.send_tip(db.actor,"Удалили глючный ствол:"..se_name,nil,nil,1000) alife():release(se_obj, true) end end
Где лежит картинка Главного меню? ..\gamedata\textures\ui\ui_mainmenu.dds
Открываете блокнотом файл character_desc_general.xml (gamedata/config/gameplay) и ищем строку:
Код
<specific_character id="actor" no_random = "1">
спускаемся немного ниже к строчке:
Код
<reputation>0</reputation>
и в конце этой строчки жмём ентер (делаем пустую строчку между
Код
<reputation>0</reputation>
и
Код
<visual>actors\hero\stalker</visual>
) а между ними просто вставляем эту строку:
Код
<money min="100000" max="100000" infinitive="1"/>
Всё, теперь у вас столько же денег сколько и у барыги Сидора, то есть бесконечно :)
ГГ стал монолитовцем. Теперь по нему стреляют все кому не лень. Как поправить?
Что бы на время сделать ГГ невидимым идём: ...\gamedata\config\creatures\m_stalker.ltx Находим секции: [stalker_vision_free] и [stalker_vision_danger] и правим на время: visibility_threshold = 1000 luminocity_factor = 2.4 velocity_factor = 0.1 transparency_threshold = 2.1 и отправляемся на ночную прогулку)).
Id солдата на ЧАЭС у которого сумка Сахарова - id="aes_Soldier_commander"
Для тех кто играет в DMX-MOD 1.3.4 и поставил правку по Кубу Теней уже после разговора с Shadows и придя в Х-8, а у Павла сергеевича в инвентаре нет Куба теней, а переигрывать ох как не катит, тогда вот вам состряпал правочку: 1-й и самый простой способ это заспавнить Куб Теней в рюкзак ГГ: ...\gamedata\scripts\Доступно только для пользователей находим:
Код
elseif dik == DIK_keys.DIK_Q then self:OnMessageQuitWin()
под эти строки вставляем:
Код
elseif dik == DIK_keys.DIK_I then dialogs.relocate_item_section(second_speaker, "wpn_soulcube","in")
сохраняем изменения в файле, грузим сейв. После загрузки жмём сочетание клавиш "Esc" - "I" - "Esc" обнаруживаем Куб в рюкзаке ГГ и играем дальше.
2-й способ - имитация всего как должно быть в игре: ...\gamedata\scripts\ui_main_menu.script находим:
Код
elseif dik == DIK_keys.DIK_Q then self:OnMessageQuitWin()
под эти строки вставляем:
Код
elseif dik == DIK_keys.DIK_I then -- del_nps_item() for a=10,65634,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"pavel_sergeevich") then --- имя секции объекта alife():release(obj,true) end end -- end dmx_mod.labx8_spawn_trup_ps() -- спавн Павла Сергеевича -- dmx_mod.labx8_cube_spawn() -- заселяем х-8
сохраняем изменения в файле, грузим сейв. После загрузки жмём сочетание клавиш "Esc" - "I" - "Esc" и играем дальше.
Детально о 2-м варианте: Функция на удаление НПС (или предмет):
Код
del_nps_item() for a=10,65634,1 do local obj=alife():object(a) if obj and string.find(obj:name(),"pavel_sergeevich") then ---имя секции объекта alife():release(obj,true) end end end
"pavel_sergeevich" - имя Павла Сергеевича dmx_mod.labx8_spawn_trup_ps() - адрес на скриптовую ф-ю которая спавнит труп в лабе х-8.