S.T.A.L.K.E.R.: Shadow of Chernobyl: Создание модификаций
S.T.A.L.K.E.R.: Shadow of Chernobyl: Создание модификаций
Мод-портал. – Официальная вики по модам для сталкера (Не обновляется)
S.T.A.L.K.E.R. Inside Wiki. – Фанатская вики по модострою для сталкера.
Как убрать/увеличить время для обычных квестов?:
В файле gamedataconfigmisctask_manager.ltx найти и изменить все строки вида time = 86400
Чтобы совсем убрать лимит – просто закомментировать их (–)
Как убрать intro-ролики в начале?:
В свойствах ярлыка прописываем после пути к exe-шнику: -nointro
Получиться должно что то вроде(это как у меня):
“D:GamesS.T.A.L.K.E.R. Shadow of ChernobylbinXR_3DA.exe” -nointro
Как включить motion blur?:
В свойствах ярлыка прописываем после пути к exe-шнику: -mblur
В файле user.ltx(можно и в консоли) параметру r2_mblur присваиваем значение например 0.15
Работает только на DirectX 9 .
Как увеличить время спринта?:
В файле actor.ltx меняем параметр sprint_koef.
Как поменять кол-во жизни монстрам?:
В файле m_*.ltx(где * – название монстра, например m_controller.ltx; находится в папке gamedataconfigcreatures) меняем параметр health
Как повесить на пояс больше артефактов?:
В файле system.ltx изменяем параметр max_belt с 5 на 10 (max_belt = 10)
Ищем файл inventory_new.xml и в нём меняем
что соответствует 10 артефактам.
При желании поправив соответствующим образом файлы system.ltx и inventory_new.xml
можно получить 12,14,16 и более слотов под артефакты.
Создание новых веток диалога:
Создание новых веток диалога.
1) Списки веток диалогов содержатся в файлах вида gamedata/config/gameplay/character_desc_*.xml
Это например:
character_desc_zombied.xml
character_desc_stalker.xml
character_desc_g arbage.xml
итд.
Файлы character_desc_*.xml можно сравнить со стволом дерева диалогов.
В них перечисляется названия прикрепляемых веток диалогов
Например вот список веток диалога с Сидоровичем взятый из файла character_desc_escape.xml
2) Ветвление веток прописывается уже в других файлах.
Например ветвление веток диалога с Сидоровичем содержится в файле gamedata/config/gameplay/dialogs_escape.xml
Возьмем оттуда к примеру ветвление ветки escape_trader_jobs
(ветвление веток обычно очень большое поэтому я приведу только часть):
escape_trader_talk_info_1
100
99
9995
– это проверка выполнения условия. Ветка появится в диалоге, только если условие выполняется.
Конкретно
из ветки escape_trader_talk_info есть обращение к функции trader_has_talk_info_wr находящейся в файле скрипте gamedata/scripts/escape_dialog*****ipt
Функция выглядит так:
function trader_has_talk_info_wr( trader, actor )
return true
end
Насколько понимаю она возвращает true только в случае если мы разговариваем с trader_ом т.е. с Сидоровичем.
Т.е проверкой условия
проверяется с кем ведется диалог,
и если диалог ведется с Сидоровичем в ветке по крайней мере этим условием пропускается в списк реплик.
Но для конкретной ветки может быть несколько precondition и других условий.
Далее tutorial_end Если я верно понимаю, это так же своего рода проверка условия В данном случае проверка на то закончена стадия tutorialа или нет. Т.е ветка допустится в список реплик если стадия tutorialа закончена.
А далее идут конкретные фразы содержащие ссылки на вытекающие фразы
это основа ветки escape_trader_talk_info.
(Вообще как я понял в любой основной ветке любого диалога фраза
будет основой из которой далее будет все вытекать)
1 – это ссылка на вытекающую фразу
escape_trader_talk_info_1
100
99
9995
В свою очередь 100 , 99 , 9995 это ссылки на фразы веточки растущие из фразы
3) Текст каждой фразы содержится уже в четвертом файле. Для диалога с Сидоровичем тексты лежат в файле
gamedata/config/text/rus/stable_dialogs_escape.xml
Есть несколько вопросов.
Спрашивай, только я ведь всего не знаю. Сам понимаешь, сижу тут целыми днями, а жизнь – она вся там, снаружи, в Зоне. Могу рассказать о Зоне вообще, а немного могу о ближайших окрестностях, где сам ходил.
Эти строки содержат тексты для фраз
Итого диалоги разложены по 4 а то и более файлам.
Да кстати, путь по веткам может быть зацикленным если того требует диалог. Например так:
…
1 – Это возврат к фразе 1. (зацикливание)
111
Теперь пример практического применения того, о чем было сказано выше:
Добавим в диалог с Сидоровичем ветку своего собственного изготовления.
Например такую:
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего.
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.
1) В файле gamedata/config/gameplay/character_desc_escape.xml в конце списка веток для trader_а суем свою ветку с произвольным названием. (например escape_trader_letat_gusi )
2) Теперь берем файл gamedata/config/gameplay/dialogs_escape.xml
Меченый: Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Сидорович: Чего.
Меченый: Ты их совсем, совсем не кормишь?
Сидорович: В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.
Который мы хотим реализовать будет соответствовать такая структура:
escape_trader_ letat_gusi_0
1
escape_trader_ letat_gusi_1
2
escape_trader_ letat_gusi_2
3
условия наличия ветки в диалоге можно взять из ветки
Т.е берем условия
и tutorial_end
(Можно было конечно прописать в скрипте еще одно условие для ветки, чтоб она появилась только один раз,
а потом больше не возникала. Но об этом как нибудь позже допишу.)
В итоге у нас получилась такая структура:
Которую нужно вставить в любом месте между dialog id_шниками других веток в файле dialogs_escape.xml.
Главное не промахнутся и засунуть именно между, а не внутрь одного из dialog id
Все что находится между тегами и это внутенности конкретного dialog id
Т.е совать наш
….
После сохранения внесенных изменений с файлом dialogs_escape.xml все.
3) Теперь вбиваем сами текстовички в файле gamedata/config/text/rus/stable_dialogs_escape.xml
Т.е нам надо в файле stable_dialogs_escape.xml вставить такую конструкцию:
Сидрыч а что это у тебя зеленые человечки, что по столу бегают, такие худые?
Чего.
Ты их совсем, совсем не кормишь?
В следующий раз, как пойдешь в зону, бери-ка вместо водяры побольше антирада. А то мало что таким перегаром дышишь, уже до зеленых человечков долечился… Шутник.
в любом месте между уже существующими string id
Но не внутрь одного из существующих string id
не сюда
После сохранения изменений, у нас все готово. Можно грузить игру и смотреть что получилось.
Оружие загораживает пол-экрана. Как это исправить?:
В файле конфига выбранного оружия меняем:
position = 0, -0.075, 0 ; было 0,0,0
zoom_offset = -0.112400,0.091800,-0.115000 ; было -0.112400,0.016800,-0.115000
Где найти файл user.ltx?:
Для Windows XP в директории X:Documents and SettingsAll Users Общие документы STALKER-SHOC
Для Windows Vista в директории X:UsersPublicDocumentsSTALKER-SHOC
Как изменить силу врагов?:
В файле gamedataconfigcreaturesactor.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
Они отвечают за вероятность попадания по вам при разных уровнях сложности.
Гармошка:
Для возврата в игру губной гармошки, ищем в папке gamedatascripts файл xr_kamp*****ipt и открываем его блокнотом. Далее ищем строку — играть на гармошке . Сам скрипт выглядит так:
— играть на гармошке
— if npcbject(“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
В данном случае знак — означает, что строки скрипта игра не использует, а просто пропускает их, переходя к следующей части. Значит нужно убрать знак – из тех строк, которые нам нужны. Должно получится:
— играть на гармошке
if npcbject(“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
Всё, теперь можете запускать игру и наслаждаться.*
Как менять скорострельность и удобность оружия?:
В папке gamedata/config/weapons в файлах конфигурации оружия ищи
чем меньше параметр – тем выше удобство.
и
rpm – скорострельность.
Как положить оружие в другой слот?:
В папке gamedata/config/weapons в файлах конфигурации оружия ищи
SLOT и меняй на 1 (вместо ножа) или 2 (пистолетный слот)
Добавление новых опций в меню игры?:
Открываем файл gamedataconfiguiui_keybinding.xml. В нём находим строку
и после неё пишем:
Таким образом в меню игры добавляются 4 новых опции, а именно: смена камеры и кнопка включения двигателя. Также можно добавлять сюда др. клавиши(если знать консольные команды)
Скрипты дверей:
Покажу вам на примере, как открыть дверь в саркофаге без дешифра) мы просто сделаем дверь открытой по умолчанию, этот трюк можно использовать в любом направлении, в том числе и для новых квестов
Идём в gamedataconfigscripts и ищем скрипт нужной двери или объекта, нам нужна дверь в саркофаге и это sar_door.ltx
Вот вам скрипт с моими комментариями, мои комментарии после символа ;, в вашем скрипте они не нужны, так что удалите их если будете копировать отсюда.
[logic] ;Основное действие
active = ph_door@locked ; При нажатии кнопки “Действия” выполняется скрипт [ph_door@locked]
[ph_door@locked] ; То что выполняется сейчас
locked = true ; Закрыто на замок, значение правда (“Закрыто”, при нажатии на кнопку действия ничего не произойдёт)
closed = true ; Прикрыта, правда (“Прикрыта”, при нажатии на кнопку действия дверь октроется)
tip_open = tip_door_coded ; Всплывающая подсказка “Дверь закодирована”
on_info = <=actor_has_decoder>ph_door@coded ; При нажатии на кнопку действия идёт проверка есть ли декодер
[ph_door@coded] ; Если есть декодер то.
locked = true ;Закрыто, правда
closed = true ;Прикрыто, правда
tip_open = tip_door_decode ; Всплывающая подсказка “Декодировать”
on_info = ph_door@locked
on_use = ph_door@decoding %+sar_access_decoding% ; При начале декодирования, пошёл процесс декодирования и выполняется скрипт sar_access_decoding
[ph_door@decoding] ; В процессе декодирования
locked = true
closed = true
tip_open = tip_door_decoding
on_info = <+sar_finish_decoding>ph_door@unlocked ; Завершение скрипта sar_finish_decoding и выполнение ph_door@unlocked
[ph_door@unlocked] ; Дверь разкодирована и открыта
locked = false
closed = false
show_tips = false
Если мы хотим увидеть правдивые концовки, но мы уже в саркофаге и у нас нет дешифра, то мы просто можем изменить везде
locked = false на true
closed = false на true
И в зависимости что вам надо и где можете менять и изменять, тут всё предельно просто и понятно.
S.T.A.L.K.E.R.: Shadow of Chernobyl: Создание модификаций
САМЫЙ БОЛЬШОЙ СБОРНИК МОДОСТРОЕНИЯ – http://ap-pro.ru/load. 1-0-965
Вопрос о квестах на зачистку
Недавно играл за военных. Взял квест на зачистку вражеской территории (Сталкеры на заводе). Выполнил и после этого на эту базу пришли Чистое небо, но это не важно главное это захват квестовых точек у противника. А что если добавить такие квесты для всех группировок. Например для свободы штурм базы Долга в баре, а после там появляются свободовцы и так для каждой группировки. Сам бы добавил, но не умею, а так идея мне кажется интересной
Ответ
Там в файле simulation_object_props найди смарт бара и добавь под них freedom = 1 и время от времени Свобода будет нападать на Бар и его территорию, прописывай прям так под каждым именем смарта
Что означают параметры base, lair, territory, surge, resource?
Ковырял файл simulation_objects_props.ltx. Как я понял, он устанавливает тип смарта. С параметрами resource (НПС приходят в смарт для сбора артефактов с ближайшего аномального поля), base (база?), lair (логово мутантов?) вроде как понятно.
Но все-таки, может кто-нибудь подробно обьяснить, что означают параметры base, lair, territory, surge, resource? Что означают числа, стоящие после этих параметров?
Ответ
base -база сталкеров, lair – обычный лагерь вроде, surge – укрытие от выброса, resource – аномалии
Как менять стартовую локацию у группировок?
В all.spawn, распаковываешь и ищешь way_локация и в нем ищем секцию
spawn_player_фракция и под ней указываем direction локации position, game_vertex, level_vertex
Реально интересно, можно ли две локации в одну совместить? Те же Припяти. А то чую, что нет и придётся с нуля расставлять.
Ответ
По чему нельзя? Можно, есть два способа как это сделать.
1. Это с помошью проги K.D.: Способ создания локаций большого размера, или обходим ограничения компилятора
2. Это с помощью х64 бит компиляторов от все того-же K.D. ссылку на SDK c этими правками я тебе уже давал, но на всякий случай: X-Ray COP SDK 2015 Repack by mcbeat7 with & without gamedata
Но в обоих случаях всеравно придется подгонять терейны в 3DS Max-e.
Как увеличить стоимость ремонта?
Надо всего лишь увеличить циферки в файле stalkers_upgrade_info.ltx
“Полезные Функции” , правда они для ТЧ, но для CoC некоторые могут подойти
http://stalker-gamers.ru/forum/10-653-1
Кого очень интересуют апгрейды оружия , обратите внимание на этот пост http://www.amk-team.ru/forum. y914757
Перезагрузка сейва:
Подхватываются изменение скриптов
Перезагрузка игры(с выходом):
подхватываются изменения конфигов и кешируются новые файлы, так же реинициализируются диалоги(кстати диалоги инициализируются 1 раз за запуск игры- невозможно сделать динамические диалоги. Тот вариант диалога что раньше инициализировался в процессе игры- будет всё время пока не выйти из игры)
НИ(Новая Игра):
обязательна при изменении all.spawn, иначе изменений не будет
В СоС сделана фича, что можно подгрузить конфиги перезагрузкой сейва, передварительно нажав “0” на цифровой клавиатуре в главном меню.
П.С.: непомню при каких ещё случаях нужна НИ
[Mods] Сборник лучших модификации для STALKER Тени Чернобыля (STALKER Shadow of Chernobyl) [RUS]
GRiNDOS-18 · 07-Авг-10 14:23 (9 лет 8 месяцев назад, ред. 08-Авг-10 03:00)
незначительная корректировка
Обновления, внесенные апдейт пакетом 1:
—————————————–
* Поправлен вылет Can’t open wave file: sniper_holster.ogg
* Поправлено вращение неба в выброс
* Поправлено отображение веса ниже 60 кг в конфигураторе
Поправлены опечатки в описании АМК и броне монолита
* Поправлен вылет ogsm_hideout.script:423: bad argument #2 to ‘random’ (interval is empty)
На заставку и в благодарности внесен никнейм и имя автора картины, использованной для главной заставки – Ковалева Романа аka «Ronan»
В ридми мода добавлено описание вылета, иногда возникающего при установке на мод Фотозоны и метод его устранения.
= Напарника можно отпустить не менее чем через полчаса
+ С напарником можно связываться по рации. Связь с напарником работает в пределах алайфа
* Исправлена ошибка оригинальной игры с неправильным отображением иконки “химического ожога”
* Поправлена проблема с интервалом таймеров ожидания, приводившая в отдельных ситуациях к неработоспособности медикаментов, а так же к пропаданию ремкомплекта.
* Поправлен вылет Description : Invalid weather name Arguments : default при выходе во фриплее с ЧАЭС в Припять
* Поправлены мелкие недоработки, могущие при редком стечении обстоятельств привести к зависанию алайфа
Обработка смерти напарника сделана более безопасной и быстрой
Убраны точки из имён сталкеров
* Поправлена родная недоработка логики разрегистрации погибших NPC, приводившая к зависаниям алайфа.
Обновления, внесенные апдейт пакетом 2:
—————————————–
* Поправлены звуки перезарядки и их синхронизация у следующего оружия: MAC-10, СВД, Сайга-12К, Сайга-12С и Молотилка, MP-40, MP-5, UMP45, LR300, АКСУ, АК74, АК74 КобраКамуфляж, АК107/108, МП5С3, обреза ТОЗ34, Кольта, ДесертИгла, СИГ220 и ТТ
* Юрик занесен в квестовые неписи, теперь у него нет диалога компаньонов и связанных с этим проблем
* Укорочена стартовая строка диалога покупки машины у Сидора
= Снижена вероятность появления аптечек у неписей
= Гранаты теперь выдаются так же как аптечки, по вероятностям, которые достаточно невелики
* Поправлена схема лечения так, чтобы неписи не висли если вы успели раньше них вылечить раненого
* Поправлено появление больших количеств гранат и аптечек в трупах, а так же подствольных гранат
* Поправлено отсутствие реакции на убийство в Баре
* Поправлено пропадание “волос” на Янтаре после выбросов
* Поправлено непопадание оружия с электронными прицелами в список ремонта торговцев
= Снижена вероятность выпадения аптечек в лут
* Внесены поправки в дополнительный спавн
* Поправлена динамическая погода – доработаны конфиги погоды, исправлены глюки. Погода переменчивая, но не постоянно дождливая.
* Поправлено отсутствие диалогов при повторном зомбировании, теперь можно зомбироваться неограниченное число раз (эта поправка заработает если вы ни разу ещё не зомбировались или с началом новой игры)
* Убраны партиклы огня у ингрэма с глушителем
* Напарник больше не вскрикивает когда рядом стреляют или атакуют монстры
* Поправлен вылет в диалоге ремонта, происходящий когда нажата клавиша ремонта при отсутствующей вещи
* Поправлена точка партиклов огня UMP45
* Поправлен диалог с Максом про кактус
* Небольшая корректировка ватчдога, для исключения события когда худ противогаза или хит по актору срабатывал раньше чем обновлялся инвентарь – приводило в редких случаях при загрузке игры к появлению худа противогаза на лице или удару артефактами со смертельным исходом.
* Доработана функция вылета игры так, чтобы предотвратить “скрытые” вылеты, при которых игра не выпадает на рабочий стол, а продолжается. В обработку вылета так же добавлены осмысленные инструкции для игроков
= НАТОвский патрон 5.56 на 15% убойней 5.45
= Советский 5.45 немного бронебойней 5.56
* Исправлено отсутствие одной муз. композиции на базе Долга
* Убрана продублированая муз. композиции на базе Долга
* У дробовиков прописаны правильные патроны в описании
Поправлено описание 7.62*39
= Подправлены характеристики некоторых монстров (часть в соответвии с патчем 1.1):
контролёр быстрей бегает и должен атаковать в ближнем бою
контролёр должен научится таскать трупы
кабан получает больше повреждений при ранении в голову и шею
бюрер может левитировать 3 объекта за раз, а не 4
непись при ранении в голову получает больший хит (почти удвоенный)
зомбированые сталкеры больше не стреляют как снайперы
зомби реагирует на звук ГГ немного быстрей
ГГ спринтует немного медленней и быстрей становится голодным
изменена секторность поражения НПС. (т.е. вероятность нанесения смертельной раны зависти от наличия критически важных органов в месте попадания пули)
изменена секторность поражения ГГ. (т.е. вероятность нанесения смертельной раны зависти от наличия критически важных органов в месте попадания пули)
= Немного изменены характеристики отображеия прицела
= Поправлен УАЗ “буханка”
+ В описания машин добавлен “реальный” перевозимый вес, убраны строки о цене и вместительности как бессмысленные.
= Простые сталкеры теперь скупают почти всё, но цена закупки почти мизерная
= Чуть больше хабара, чем раньше, скупает Барыга
* Поправлена проблема с Оком – были повторные попытки заспавнить обработкой друзей или врагов монстров, так как исходный монстр помирал не сразу. Теперь они убираются мгновенно, плюс сделана проверка для предотвращения повторного запуска по уже отработанному монстру. Соответственно решилась проблема с большим числом бюреров/снорков в подземельях.
* Исправлены названия меток перехода на Агропром с Кордона и с Агропрома на Кордон
Теперь в руки нельзя взять арты или трансмуты, которые невозможно активировать
= Изменены приветсвенные диалоги торговцев
Поправлено описание SIG550
* Поправлена недоработка диалога с осведомителем на улаживание отношений со Свободой, приводившая к вылету, если ГГ сильно испортил отношения а денег на их исправление у него нет
Небольшие орфографические правки описаний оружия, боеприпасов, снаряжения
* Доработано обновление инвентаря и порча еды по ватчдогу. Задержка этого обновления приводила к скачкам вещей в окне торговли и возможно, несрабатыванию с первого раза строк диалогов. Соответственно теперь эта проблема устранена.
+ Сделана возможноть подрыва оружия в руках при его чрезмерном износе
* Сделаны партиклы гильз 12-го калибра для Сайги-12К
+ Добавлена имитация намокания динамическим глоссфактором – включение/выключение выведено в конфигуратор
+ На случай фотозоны в пакет включены подредактированные бампы для лиц, которые не бликуют в доджь – у Волка и других отфотозоненых неписей лица не будут выглядеть “блестящими”.
* Поправлена сценарная погода на ЧАЭС. Во фриплее ЧАЭС тоже переключится на динамическую погоду.
* Серьёзно снижена вероятность вылетов на Арене с логом вида Description : entity not found. id_parent=ххххх id_entity=ууууу frame=zzzzz
+ Сделаны партиклы гильз для пулемётов
Переходы постпроцессов хоррортайма станут менее противными и резкими
Чуть поправлены титры
Увеличены пределы одиночек и долговцев на Баре, чтобы вояки или наймы не занимали костры
* Все диалоги долговцев Мегадета заблокированы на фриплей+локацию Агропром
Для трактора сделан новый скелет, соотв. долна пропасть часть глюков с ним
+ Новые текстуры террейна для Агропрома, Янтаря, Армейских складов
* Поправлено выставление погоды после выброса
* Поправлен перезапуск хранилища данных в псторе, теперь он происходит в два этапа
* Расстояния всех переходов геймграфа сокращены до минимума – напарник должен переходить с локации на локацию почти мгновенно
+ В геймграф добавлены наши новые переходы между локациями, теперь напарник может ими пользоваться
* Поправлена опечатка в dialogs_military
* Поправлены награды за квесты на снорков у Сахарова
+ Добавлены вылетающие гильзы снайперским винтовкам
Новая игра НЕ требуется! Однако рекомендуется.