Наверное многие знают как делать моды на сталкера. Для тех кто не знает- эта тема.
Так вот, в каталоге игры есть несколько вайлов типа gamedata.dbN, где N это число. Эти файлы можно разархивировать специальной утилитой STALKER_Data_Unpacker.
Что же находится в папках, которые мы распаковали:

Папка 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.

Config/Weapons:

Строчка ammo_class – можно перепрошить патроны для ствола на любые по желанию, главное правильно их прописать (именно так сделано для уникальных пушек).
Строчка grenade_class – можно перепрошить гранаты для подстволки. Гранат для натовского оружия дефицит, поэтому можно прописать натовским стволам гранаты от советских пушек.
Строчка inv_weight – если вам совесть не позволяет увеличить максимальный носимый вес, но вы любите таскать много стволов, то можно уменьшить параметр этой строчки, ибо он означает вес оружия.
Строчка cam_dispersion - содержит параметр показывающий так называемую вертикальную отдачу. Какая там стоит цифра, на такое кол-во градусов увеличивается угол при каждом вылете пули. Можно понизить этот параметр путем добавления нулей после точки. Тогда ствол будет меньше скакать в руках.
Строчка condition_shot_dec - содержит параметр, указывающий на сколько единиц будет ваше оружие портиться при каждом выстреле. Лучше понизить путем добавления нулей после точки.
Строчка hit_power содержит параметр, указывающий какой размер дырки от пули будет в том в кого вы стреляли из этого ствола. Это один из тех важных параметров, повышающих мощность оружия, но в косвенном смысле: чем больше дыра тем быстрее дохнет жертва.
Строчка bullet_speed содержит начальную скорость, с которой пуля покидает ствол оружия. Изменять её надо с осторожностью и в комплексе с другими параметрами, ибо вместо желаемого можно добиться обратного эффекта.
Эти строчки больше к выпендрежу относятся:
light_color - цвета пламени при выстреле
light_range - радиус пламени
light_var_color - цвет варьирующий среди представленных
light_var_range - радиус варьирующего цвета
light_time - время
Впринципе, этого хватит чтобы улучшить ствол, хотя есть ещё параметры.

Config/Сreatures:
actor.ltx – параметры главного героя. В этой же папке находятся файлы с параметрами npc, монстров и пр.

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
Эти строчки отвечают за вероятность попадания по вам, при разных уровнях сложности. Хотите чтобы враги стреляли не очень метко, уменьшайте значения.
max_item_mass = 50.0 ; максимальный вес, который переносит
jump_speed = 6. ; скорость прыжка
crouch_coef = 0.45 ; коэффициент приседания
climb_coef = 0.7 ; коэффициент полу-приседания
run_coef = 2.1 ; ускорение при беге
sprint_koef = 2.6 ; ускорение при спринте
run_back_coef = 1.8 ; ускорение при беге назад
walk_back_coef = 0.8 ; идти назад
air_control_param = 0.1 ; возможность отклонятся при падении в любую сторону) 0.1 (очень плохо)

Config/System.ltx:
start_blood_size - размер раны чтоб начала капать кровь.
stop_blood_size - размер раны чтоб кровь остановилась.
max_weight – вес, с которым ГГ может бежать.

Пока что все. Больше половины материала не из моей головы, так что не ругайте.

Продолжаем:

items.ltx:
Параметры предметов:
В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за квадр. скобками. Например: [kolbasa]:identity_immunities.
Параметры на примере колбасы:
class – к какому классу принадлежит предмет.
visual – модель.
cost – цена.
eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.)
eat_power - сколько восстанавливает силы.
eat_radiation - сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.)
inv_weight – вес предмета.

Outfit.ltx:
Параметры костюмов:
actor_visual – модель костюма.
inv_weight – вес костюма.
cost – цена костюма.
коэффициенты иммунитета самого костюма:
burn_immunity см. коэффиц.
...
fire_wound_immunity
; NO RESISTANCE
burn_protection - коэффициент защиты от огня
strike_protection - коэффициент защиты от пуль
shock_protection - коэффициент защиты от молний
wound_protection - коэффициент защиты от кровотечений (?)
radiation_protection - коэффициент защиты от радиации
telepatic_protection - коэффициент защиты от телепатии
chemical_burn_protection - коэффициент защиты от хим. ожогов.
explosion_protection - коэффициент защиты от взрыва
fire_wound_protection - коэффициент защиты от кровотечений(от огня)
nightvision_sect – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).

Как сделать так, чтоб не убиралось из рук оружие в некоторых локациях?:
В файле gamedata\scripts\sr_no_weapon*****ipt найти и закомментировать (поставить перед ними --) строки
bind_stalker.hide_weapon()
bind_stalker.restore_weapon()
и в файле zone_no_weapon*****ipt ищем строки hide_weapon() и заменяем их на restore_weapon()

Гармошка:
Для возврата в игру губной гармошки, ищем в папке gamedata\scripts файл xr_kamp*****ipt и открываем его блокнотом. Далее ищем строку -- играть на гармошке . Сам скрипт выглядит так:
-- играть на гармошке
-- if npc bject("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 npc bject("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
Всё, теперь можете запускать игру и наслаждаться.*

Давайте для начала из простого.Добавим статьи в PDA.

Предворительно надо скачать утилиту для роспаковки файловых архивов *.db?.

Теперь откроем файл encyclopedia_zone.xml , который лежит в директории config\gameplay\ И добавим вот что:

Цитата:
<!-------------------------------- Activation - Basic ----------------------------->

<article id="zone_anomalies_activation_basic" name="zone_anomalies_activation-basic" group="Anomalies">
<texture x="500" y="150" width="100" height="100">ui_icon_photo</texture>
<text>enc_zone_anomalies_activation_basic</text>
</article>
Расмотрим поподробней,за что отвечает каждый параметр:

- article id - внутреннее имя статьи, какраз на него ссылаются в файлах игры

- name - имя статьи, которое будет показоватся в игре, подгружается из строкового массива

- texture - картинка также ее позицыя в игре,мы же использовали для примера обычный шум

- text - и естественно текс который будет в игре

Так основу я вроде росказал,теперь поучимся напримере.

Добавим в, например, config\gameplay\info_l01escape.xml (инфопорции уровня "Кордон") ссылку на получение статьи - скажем, к трупу у туннеля, при обыске которого выдается информация о аномалиях в туннеле (вы его обнаруживаете, проходя второе спецзадание от Сидоровича). Найдем эти строки и дополним их:

Цитата:
<!-- труп у аномалии -->
<info_portion id="esc_tutorial_dead_novice">
<article>tutorial_moving_anomaly</article>
'''<article>zone_anomalies_activation_basic</article>'''
</info_portion>
Главное - никогда не путайте article id, name и text статьи. Я в данном примере это сделать легко. Лучше называйте их непохожими друг на друга названиями.

-Если хрошо присмотрется то можно обнаружить вот это:

Цитата:
<text>enc_zone_anomalies_activation_basic</text>
Да и название тоже не написано прямо, а ссылается на определенную строку, то добавим этот самый text в config\text\rus\string_table_enc_zone.xml, в нашем случае:

Цитата:
<string id="enc_zone_anomalies_activation-basic">
<text>Это типа названи вроде как.</text>
</string>
<string id="enc_zone_anomalies_activation_basic">
<text>Лепите сюда все что душе угодно....</text>
</string>
На этом я заканчиваю эту статью и говорю всего хорошего и до новых встречь.