Меню сайта

 


Форма входа

Логин:
Пароль:

 


Поиск

 


Наш опрос

Лучшая игра серии?
Всего ответов: 336

 


Мини-чат

 


На правах рекламы


Статистика


У костра: 1
Чужаков: 1
Сталкеров: 0

 


 

Как создать мод для S.T.A.L.K.E.R

 Если вы не знаете, как сделать невидимые аномалии, как изменить силу
оружия, как изменить носимый вес и пр., то вы пришли по адресу. В этой
статье мы рассмотрим структуру файлов и папок Сталкера, а также вы
сможете научиться создавать свои собственные модификации.



Вступление:

Как вы наверно заметили, в папке с игрой содержатся несколько файлов
типа gamedata.dbN , где N – это число или буква. Это игровые архивы, в
которые запакованы все файлы конфигураций, видеоролики, музыка, звуки,
скрипты и прочее. Можно их править HEX-editor’ом, но лучше скачать
специальную утилитку STALKER_Data_Unpacker
и распаковать в отдельную папку(с именем 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 придётся работать для редактирования многих параметров игры.

Но начнём сначала:

Перед тем, как начать редактирование файлов игры, нужно в каталог Сталкера поместить ту самую папку gamedata, в которую были извлечены игровые файлы.

*Все файлы нам не понадобятся, поэтому можно оставить только папки config, scripts(а конкретно файл se_respawn*****ipt), textures, sounds, а всё остальное удалить(а можно и не удалять)

Также хочу заметить, что если распаковать все архивы .dbN в папку с игрой, то это может дать несколько дополнительных FPS.



Текстуры:

В папке textures лежат файлы формата .dds, которые можно открыть программой Adobe Photoshop с установленным DDS-плагином.

Плагин.

Скрин с корректными настройками.



Скрипты:

se_respawn.sсript – файл, отвечающий за респаун. Время респауна
можно уменьшить, путём небольших изменений в этом файле. Он открывается
обычным блокнотом(notepad). Ищем в нём строку

idle_time:setHMSms( 0, 0, 0, math.random(self.idl
e_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\scripts\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 – класс патронов, используемых оружием. Здесь [/b]ammo_9x39_pab9[/b], ammo_9x39_sp5, ammo_9x39_ap.

hit_power – сила оружия. Чем больше, тем лучше

silencer_hit_power - сила оружия, когда на него одет глушитель.

misfire_probability - вероятность осечки при максимальном износе.

condition_shot_dec - увеличение износа при каждом выстреле.

visual – модель оружия.

zoom_enabled - поддерживается ли оптика.



Config/Сreatures:

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 – вес, с которым ГГ может бежать.



Config/Misc:

В дополнение к конфигам оружия:

cвойства патронов находятся в файле weapons.ltx, а бронежилетов – в outfit.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 – вес предмета.



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 – тип ночного видения(плохой/хороший). Если ПНВ нету, то строку добавить, если его нужно убрать, строку закомментируйте(--).



Торговцы:

Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с именем [b]trade_YYY.ltx[.B], где [b]YYY[.B] – это имя торговца(например [b]trade_barman.ltx[.B])

Итак, поехали:

Структура файла на самом деле очень проста, под зачком ; прописаны сами предметы, а после него – комментарий(чтоб понятно было). Например ;Аммуниция.

В квадратные скобки заключены([barman_generic_buy]), как бы сказать, "условия". Лучше показать на примере:

В самом начале(практически) файла trade_barman.ltx идёт строка содержания [barman_generic_buy], т.е. она означает, что ниже прописанные предметы торговец может купить.

Сами предметы например:

;Артефакты

af_medusa= 1,0.3

af_cristall_flower= 1,0.3

af_night_star= 1,0.3

af_vyvert= 1,0.3

af_gravi= 1,0.3

af_gold_fish= 1,0.3

af_blood= 1,0.3

af_mincer_meat= 1,0.3

или

;ADDONS

wpn_addon_scope= 0.7,0.2

wpn_addon_scope_susat= 0.7,0.2

Посмотрим какие ещё "условия" содержит этот файл и их значение:

[supplies_start]- начальный ассортимент

[supplies_after_darkvalley]- ассортимент, после выполнения квеста в тёмной долине

[supplies_after_brain]- ассортимент, после "выжигателя мозгов"

[barman_start_sell]- цены по которым торговец(бармен в данн. сл.) продает в начале

[barman_after_darkvalley_sell]- аналогично

[barman_after_brain_sell]

Итак: чтобы добавить предмет к торговцу, после строки [supplies_start],
находим интересующую нас категорию(а это может быть:
;Аммуниция/;Оружие/;Броники/;Медикаменты/;Еда и др.) и после всех
прописанных в данной категории предметов добавляем ещё одну строчку для
своего предмета(а именно название модели(т.к. оно совпадает с названием самого предмета) и после знака = параметры(о них чуть ниже)). Ну я так и знал что вы ничего не поймёте, поэтому пример:

Чтобы добавить бармену винтовку Гаусса, находим строки после условия [supplies_start] -

;Оружие

wpn_pb= 3,0.6

wpn_walther= 3,0.6

wpn_mp5= 3,0.6

wpn_ak74u= 3,0.5

и внизу прописываем wpn_gauss= N,n.n

*о значениях после знака = см. ниже.

Все имена оружия, амуниции, снаряжения и т.п. можно найти в папках gamedata\meshes\equipments,

gamedata\meshes\weapons, gamedata\meshes\food.

Заметьте, что wpn_gauss нужно писать без расширения .ogf

Значения:

После знака = у вальтера например стоит цифра 3, а после запятой – 0,6.

Первое, для гаусса у нас стоит N, это количество(в штуках) предметов. Т.е. если поставить значение 999, то у бармена будет 999 гауссов.

А второе:

1. В разделах supplies вторая цифра это вероятность появления данного предмета (от 0.1 до 1).

2. В разделе buy
- первая цифра максимальная цена покупки, вторая минимальная (зависит
от отношения торговца к Меченному - рейтинг,
репутация)[Предположительно. – прим.]

3. Соответственно в разделах sell - первая цифра минимальная цена продажи, вторая - максимальная (точнее множитель на "истинную цену" предмета).

В итоге должно получиться:

[supplies_start]

;Оружие

wpn_pb= 3,0.6

wpn_walther= 3,0.6

wpn_mp5= 3,0.6

wpn_ak74u= 3,0.5

wpn_gauss= 6,1

И тогда у торговца мы получим ровно 6 винтовок Гаусса.



Создание рандомного выбора муз. заставки главного меню:

При заходе на экран главного меня муз. заставка будет выбираться случайно из добавленных вами.

1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой, например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)

2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем строку:



и заменить на:



3. В этом же файле найти строку:

music\wasteland2

и ниже нее выставить следующую строку:

music\my_music

4. Сохранить файл.

5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.

Автор идеи - VM



NPC покупают оружие:

Чтобы обычные сталкеры и др. npc могли покупать у ГГ оружие, нужно править файл gamedata\config\misc\trade_generic.ltx. Его структура точно такая же, как и у любого другого торговца.

После строки [generic_buy] находим строку ;Оружие и после неё у каждого вида ставим зачения N и n.n.

Можно например так:

;Оружие

wpn_pm= 0.08,0.12

wpn_pb;NO TRADE

wpn_fort= 0.08,0.12

wpn_hpsa= 0.08,0.12

wpn_beretta= 0.08,0.12

wpn_walther= 0.08,0.12

wpn_sig220;NO TRADE





А чтобы у npc продавалось оружие, нужно проделать тоже самое, только после строки [generic_sell]

Метод я проверял, вроде как работает.

Чтобы после покупки персонаж не выкидывал купленное оружие(а также чтобы подбирал его с земли), в файле gamedata\config\creatures\m_stalker.ltx строку can_select_items = off меняем на can_select_items = on

и строку use_single_item_rule = on меняем на use_single_item_rule = off .



Объекты, которые можно перемещать:

В файле 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



Как сделать так, чтоб не убиралось из рук оружие в некоторых локациях?:

В файле gamedata\scripts\sr_no_weapon*****ipt найти и закомментировать (поставить перед ними --) строки

bind_stalker.hide_weapon()

bind_stalker.restore_weapon()


и в файле zone_no_weapon*****ipt ищем строки hide_weapon() и заменяем их на restore_weapon()

Способ подходит и для предыдущего файла.



Как приделать к оружию оптику, глушитель, подствольник?:

Находим в файле оружия строку ;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\config\creatures\actor.ltx
находим переменную max_item_mass – это максимальный вес при достижении
которго игрок перестает двигаться

max_walk_weight - максимальный вес, до достижения которого можно передвигаться

В файле \gamedata\config\ system.ltx изменяем переменную max_weight – это вес который игрок несет не напрягаясь. 
 

Хостинг от uCoz :: Портал "Чернобыль-4" :: 2009 — 2024 год

Дизайн полностью разработан Администрацией сайта с использованием игровых текстур.