Как вы наверно заметили, в папке с игрой содержатся несколько файлов типа
gamedata.dbN , где
N – это число или буква. Это игровые архивы, в которые запакованы все файлы конфигураций, видеоролики, музыка, звуки, скрипты и прочее. Можно их править
HEX-editor’ом, но лучше скачать
специальную утилитку и распаковать в отдельную папку(с именем gamedata, позже поймёте почему) их содержимое. Вот после этого можно начать разгребать весь тот мусор, который вы извлекли.
Все конфиги редактировать можно с помощью Блокнота или Нотепада.•
Структура файлов и папок Рассмотрим, что-же содержится в папке gamedata:
Папка ai – в ней содержатся файлы типа *.efd, через которые очевидно управляется искусственный интеллект тех же npc например.
Папка anims – здесь и так всё понятно, игровая анимация, а также эффекты камеры.
Папка config содержит в себе многие игровые параметры, к ней мы ещё вернёмся.
Папка levels – это игровые уровни, ака локации, на которые поделена игра (как карты в CS)
Папка meshes – игровые модели, в формате .ogf
Папка scripts – скрипты
Папка shaders – шейдеры, для двух рендеров(DX8 и 9)
Папка sounds – звуки и музыка, кот. используются в игре. Формат .ogg*
Папка spawns – отвечает за самую ужасную вещь в игре – респаун противников и др. людей, животных.
Папка textures – в ней содержаться текстуры домов, оружия, монстров и др. Формат - .dds(DirectDraw Surface Image)
Файлы:
game.graph, gamemtl.xr, lanims.xr, particles.xr, resource.h, senvironment.xr, shaders.xr, shaders_xrlc.xr, stalkergame.inf.
•
Введение в моддинг Именно с папкой config придётся работать для редактирования
многих параметров игры.
•
Как изменить переносимый вес Начнем. Для того чтобы изменить переносимый вес нам необходимо 2 файла это:
gamedata\config\creatures\actor.ltx
gamedata\config\system.ltx
Займемся файлом actor.ltx открываем файл блокнотом, ну или как вам удобно. Ищем строку max_walk_weight
Изменяем max_walk_weight = 500
С этим файлом все.
Открываем system.ltx также ищем строку max_weight = 50 и меняем на max_weight = 500
•
Как сделать бессмертие Нужен лишь один файл gamedata\config\creatures\actor.ltx
В нем находишь вот это: actor_immunities_gd_xxxxx (xxxxx - это уровень сложности на каком ты играешь, например master) и меняешь цифры на 0 - ГГ будет бессмертным.
Пример:
[actor_immunities_gd_xxxxx]
burn_immunity = 0.0 ;коэффициенты иммунитета
strike_immunity = 0.0
shock_immunity = 0.0
wound_immunity = 0.0
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.0
explosion_immunity = 0.0
fire_wound_immunity = 0.0
•
Изменяем высоту прыжка ГГ В файле actor.ltx в папке gamedata\config\creatures, найди параметр jump_speed и задай ему нужную тебе величину, чем больше тем выше ГГ будет прыгать.
•
config/creatures actor.ltx – параметры главного героя. В этой же папке находятся файлы с параметрами npc, монстров и пр.
Рассмотрим некоторые переменные на примере actor.ltx
visual – модель персонажа.
max_walk_weight - максимальный вес, при достижении которого игрок перестает двигаться.
pickup_info_radius – радиус от ГГ, в котором над предметами выводятся их названия.
camera_height_factor – высота ГГ. По умолчанию стоит 0.85, но можно увеличить рост ГГ до 0.95 например.
disp_base – разброс. Если уменьшать, то и разлёт уменьшается соответственно.
wound_incarnation_v - скорость заживления раны.
cant_sprint_power_begin - порог силы меньше которого актер не может бежать в спринте.
hit_probability_gd_novice
hit_probability_gd_stalker
hit_probability_gd_veteran
hit_probability_gd_master
Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте значения.
Также в файле присутствуют комментарии на русском языке, так что разобраться в остальных переменных не составит труда.
•
config/system.ltx start_blood_size - размер раны чтоб начала капать кровь.
stop_blood_size - размер раны чтоб кровь остановилась.
max_weight – вес, с которым ГГ может бежать.
•
Изменяем время голодания В actor.ltx поменял:
satiety_v = 0.000005 на 0.000025
теперь есть нужно почаще, раз в 4-6 часов, соответственно батоны не лишний вес в рюкзаке, порой и за кусок хлеба драться придется
satiety_health_v = 0.0001 на 0.00001
•
Длина "палочки" прицела в файле system.ltx есть строка
cross_length = 0.005 ;длина "палочки" прицела (0.6 - 0.015)
файл находится gamedata\config
•
Параметры бега max_item_mass = ; необходимо изменить также параметр max_weight в system.ltx
jump_speed = ;высота прыжка
crouch_coef = ;скорость передвижения главного героя на корточках
climb_coef = ;скорость перемещения гг по лестницам
run_coef = ;скорость обычного бега
sprint_koef = ;коеффициент, умножая на который, получаем скорость бега в спринте
run_back_coef = ;коеффициент, умножая на который, получаем скорость бега спиной вперед
walk_back_coef = ;коеффициент, умножая на который, получаем скорость движения спиной вперед
air_control_param = ;
walk_accel = ;
•
Параметры сложности hit_probability_gd_novice = 0.20 Пули, попадающие в цель и выпущенные NPC. Уровень игры "Новичок" - меткость NPC 20%
hit_probability_gd_stalker = 0.30 - меткость NPC 30%
hit_probability_gd_veteran = 0.40 - меткость NPC 40%
hit_probability_gd_master = 0.50 - 50% пуль, выпущенные НПС, попадают в цель
В частности, если прописать эти 4-ре параметра "hit_probability_gd_*" в каждый файл с оружием "wpn_*.ltx", то в результате npc из разного оружия будут стрелять с разной точностью, с той, которую вы укажете для разного уровня сложности игры.
•
Редактирование тайников Частота выпадения:
treasure_manager.sсript - редактируешь его получаешь частоту выпадание тайников - 65 меняй на что-нить допустим на 10...
Редактирование содержимого:
treasure_manager.ltx в «миске» и во 4 строчке прописываешь, что ты хочешь, получится должно получится примерно так :
[esc_secret_bridge_vagon]
target = 5000
name = esc_secret_0000_name
desсription = esc_secret_0000_descr
items = ammo_5.45x39_ap,190,medkit_army,6, wpn_addon_scope,wpn_ak74u_m1,stalker_m1,outfit_specnaz_m1, wpn_groza_m1,wpn_spas12_m1,wpn_lr300_m1,wpn_svd_m1,wpn_sig_m1,wpn_colt_m1,wpn_val_m1,wpn_rg6_m1,outf it_dolg_m1
•
Как поменять плату за проход под мостом на Кордоне В файле gamedata\sсripts\escape_dialog.sсript
Почти в самом конце функции has_soldiers_bribe и give_soldiers_bribe, увеличил 500 до 5000.
•
Как включить функцию "лечение едой" В папке gamedata\config\misc находишь файл items.ltx в нем находиш секции [bread], [kolbasa], [conserva] и для каждой из них там есть параметр eat_health который нужно увеличить до нужных тебе значений. По дефолту для bread, eat_health = 0.05, для kolbasa 0.1 и для conserva 0.15
•
Как вернуть свечение артефактов как в оригинальной игре? В файле artefacts.ltx во всех строках, начинающихся с ;particles убрать ;
•
Броня В файле outfits.ltx находишь нужную броню и вписываешь эту строку.
sprint_allowed = false
sprint_allowed = true - чтобы нельзя было бегать
•
Где находятся конфиги уникального оружия? файл
unique.ltx - там прописаны отличия от оригиналов. Там и правь.
Например береш Грозу 5.45
[wpn_groza_m1]:wpn_groza ;Гроза генерала Воронина
$spawn = "weaponsuniqwpn_groza_m1"
desсription = enc_weapons1_wpn-groza_m1
inv_name = wpn-groza_m1
inv_name_short = wpn-groza_m1
ammo_class = ammo_5.45x39_fmj, ammo_5.45x39_ap
condition_shot_dec = 0.00005
inv_grid_x = 5
inv_grid_y = 29
тебе надо изменить например емкость магазина тепер идешь в оригинал файл Грозы (не модификации) и копируешь оттуда параметр:
ammo_mag_size = ххтеперь меняеш параметр как надо и копируеш его под параметры которые стоят для модификата Грозы все выглядит так:
[wpn_groza_m1]:wpn_groza ;Гроза генерала Воронина
$spawn = "weaponsuniqwpn_groza_m1"
desсription = enc_weapons1_wpn-groza_m1
inv_name = wpn-groza_m1
inv_name_short = wpn-groza_m1
ammo_class = ammo_5.45x39_fmj, ammo_5.45x39_ap
condition_shot_dec = 0.00005
inv_grid_x = 5
inv_grid_y = 29
ammo_mag_size = хх
•
Файлы тайников Файл отвечающий за тайники называется treasure_manager.ltx
Второй называется treasure_manager.sсript - отвечает за выдачу.
•
Ячейки под артефакты Делается просто - два файла менять всего надо, файл system.ltx, секция inventory, в АМК моде она вообще в отдельный файл вынесена -
inventory_sect.ltx называется. Там всего пять строчек:
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 6 //16
slots = 11
Надо на вот что изменить: (заметьте, за двойным слешем стоит 16 - это количество слотов под атрефакты хотели сделать сами разработчики игры, потом переделали на 5, а команда АМК - на шесть):
[inventory]
take_dist = 2
max_weight = 80
max_ruck = 56
max_belt = 16
slots = 11
Дальше надо изменить рисунок ячеек в инвентаре, чтобы ячеек рисовалось не 6, а 16, по восемь в два ряда, типа как в АМК рисуется по три в два ряда. Делаем так: Берём файл
inventory_new.xml, из папки
gamedata\config\ui, открываем его, находим секцию:
cell_width = "52" cell_height="52" rows_num="2" cols_num="3"/>Это так в моде АМК. Красным выделил ряды и колонки. То есть у нас есть два ряда по три колонки. Делаем маленько по-другому:
cell_width = "52" cell_height="52" rows_num="2" cols_num="8"/>Теперь рисоваться будет 16 ячеек, и в каждую можно артефакт засунуть.
•
Респаун se_respawn.script – файл, отвечающий за респаун. Время респауна можно уменьшить, путём небольших изменений в этом файле. Он открывается обычным блокнотом(notepad). Ищем в нём строку:
idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
и меняем её на это:
idle_time:setHMSms( math.random(X, Y), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000)
где X и Y - числа, задают диапазон случайной переменной в часах отвечающей за респаун.
•
Звуки и музыка Любой файл в папке
sounds можно заменить на другой, но при этом нужно сохранить все параметры звукового файла, который был использован в игре. Например, чтобы заменить музыку в приёмнике у Сидоровича, нужно файл
sounds\sсripts\magnitofon\magnitofon_2.ogg, заменить на любой другой.(У оригинального файла винамп мне выдал свойства:
Average bitrate : 60 kbps
Nominal bitrate : 80 kbps
Channels : 1
Sampling rate: 44100 Hz
•
config/weapons Параметры оружия вы можете найти в папке config\weapons, файлы типа w_ak74.ltx открываются тоже блокнотом. Разберём содержимое файла например w_groza.ltx
Во первых стоит обратить внимание на значение пременной(буду их так называть) cost, это цена оружия, т.е. сколько гроза будет стоить у продавца.
Переменная weapon_class означает, к какому классу относится оружие, в данном случае - assault_rifle.
ammo_limit – лимит боеприпасов(в игре по-моему не используется)
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 - поддерживается ли оптика.
В дополнение к конфигам оружия:
свойство патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.ltx.
•
config/misc.ltx Свойства артефактов находятся в файле artefacts.ltx и файлах zone_ART.ltx, предметов – items. ltx,
где ART – название артефакта(например zone_gravi.ltx).
Параметры артефактов:
health_restore_speed - скорость восстановления здоровья (0.0001 = +100%)
radiation_restore_speed - скорость накопления радиации (0.0004 = 4). Если поставить отрицательное число, то артефакт будет ускорять выведение радиации.
idle_particles – если закоментить её символами «--« -, то аномалия исчезнет. Чтобы отключить звуковое оповещение, то находим строку visible_by_detector и меняем on на off.
Иммунитеты:
strike_immunity - удар.
shock_immunity - электрошок.
chemical_burn_immunity - химический ожог.
telepatic_immunity - телепатия.
radiation_immunity - радиация.
wound_immunity - разрыв.
explosion_immunity - взрыв.
fire_wound_immunity - огнестрел.
•
items.ltx Параметры предметов:
В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities.
Параметры на примере колбасы:
class – к какому классу принадлежит предмет.
visual – модель.
cost – цена.
eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.)
eat_power - сколько восстанавливает силы.
eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.)
inv_weight – вес предмета.
•
оutfit.ltx Параметры костюмов:actor_visual – модель костюма.
inv_weight – вес костюма.
cost – цена костюма.
Коэффициенты иммунитета самого костюма:; NO RESISTANCE
burn_protection - коэффициент защиты от огня
strike_protection - коэффициент защиты от пуль
shock_protection - коэффициент защиты от молний
wound_protection - коэффициент защиты от кровотечений (?)
radiation_protection - коэффициент защиты от радиации
telepatic_protection - коэффициент защиты от телепатии
chemical_burn_protection - коэффициент защиты от хим. ожогов.
explosion_protection - коэффициент защиты от взрыва
fire_wound_protection - коэффициент защиты от кровотечений(от огня)
nightvision_sect – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).
•
Где находятся имена НПС для генерации? Для тех кто хочет слегка покопаться ручками.
Секции:
string id="lname_bandit_хх - бандиты
string id="lname_captain_хх - капитаны
string id="lname_lieutenant_хх - лейтенанты
string id="lname_private_хх - рядовые
string id="lname_science_хх - учёные
string id="lname_sergeant_хх - сержанты
string id="lname_stalker_хх - сталкеры
string id="Osoznanie" - О-сознание
•
Как сделать возможность, чтоб к примеру ногу кабана можно было съесть? Открываем файл
gamedata\config\misc\monster_items.ltxНаходим секцию
[mutant_boar_leg]И меняем параметр
class = II_ATTCH на class = II_FOODНога съедается на раз, но эффект 0, поэтому добавляем:
eat_health = 1.0
eat_satiety = 0
eat_power = 0
eat_radiation = 0.3
wounds_heal_perc = 0
eat_alcohol = 0
eat_portions_num = -1
Теперь нога лечит как аптечка ученых, но из-за нее повышаться радиация
•
Реализуем стрельбу трассерами В файле weapons ltx найди строку time_step =1; 33 и убери единицу с точкой запятой и будет тебе счастье.
Больше ничего менять не надо.
•
Как присобачить к оружию оптику, глушитель, подствольник? Находим в файле оружия строку ;addons и пишем после(без комментариев естественно(или перед ними ставьте + значения после знака = можно менять):
;addons
scope_status = 2 0- нет,1 - несъемный, 2 - можно ставить прицел
silencer_status = 0 - 0 - нет,1 - несъемный, 2 - можно ставить глушитель
grenade_launcher_status= 0 - 0 - нет,1 - несъемный, 2 - можно ставить подствольник
zoom_enabled = true Вкл/выкл возможность зума
scope_zoom_factor = 50 значение зума
scope_name = wpn_addon_scope название прицепляемого прицела
scope_x = 47 положение прицела на картинке, x
scope_y = 0 положение прицела на картинке, y
silencer_name = wpn_addon_silencer название глушителя
silencer_x = 218 положение глушителя на картинке, x
silencer_y = 9 положение глушителя на картинке, y
grenade_launcher_name= wpn_addon_grenade_launcher название подствольника
grenade_launcher_x = 126 положение подствольника на картинке, x
grenade_launcher_y = 24 положение подствольника на картинке, y
•
Как сделать так, чтоб не убиралось из рук оружие в некоторых локациях? В файле gamedata\sсripts\sr_no_weapon.script найти и закомментировать (поставить перед ними --) строки
bind_stalker.hide_weapon()
bind_stalker.restore_weapon()
и в файле zone_no_weapon.script ищем строки hide_weapon() и заменяем их на restore_weapon()
•
Объекты, которые можно перемещать В файле
system.ltx в конце есть строка
[ph_capture_visuals], после неё идёт список перетаскиваемых вещей. Например чтобы можно было таскать монстров, в конец добавляем:
//Monsters
monsters\mutant_boar\mutant_boar
monsters\krovosos\krovosos
monsters\kontroler\kontroler
monsters\dog\dog
monsters\flesh\flesh
monsters\dog\dog_cmn_1
monsters\flesh\flesh
monsters\poltergeist\poltergeist
monsters\pseudodog\pseudodog
monsters\snork\snork
monsters\burer\burer
monsters\chimera\chimera
monsters\cat\cat
monsters\zombi\zombi_1
monsters\rat\rat_1
monsters\tushkano\tushkano
•
Создание рандомного выбора муз. заставки главного меню При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.
1. В директорию
gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например:
my_music_l.ogg (левый канал) и
my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл
gamedata\config\ui\ui_mm_main.xml, найти в нем строку:
music\wasteland2и ниже нее выставить следующую строку:
music\my_music3. Сохранить файл.
4. Если требуется вставить больше муз. заставок, то в параметре
random укажите их количество.
!!! Возьмите на заметку !!!в строке
<menu_sound random="0" >вместо 0 указывайте не количество композиций, а количество композиций - 1, то есть, если вы добавили скажем еще одну мелодию, к той, что была по дефаулту у вас получится примерно так:
<menu_sound random="1" >
<menu_music>music\wasteland2</menu_music>
<menu_music>music\my_music</menu_music>