Четверг, 25.04.2024, 11:16
Приветствую Вас Гость | RSS
МОДБИЛДИНГ
Главная
Регистрация
Вход
Меню сайта

Категории каталога
Статьи [8]

Мини-чат

Главная » Статьи » Статьи

Редактиравание характеристик оружия ( S.T.A.L.K.E.R.: Shadow of Chernobyl).
Разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь: 

...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx 
Разбор структуры конфига

Возьмем, для примера, конфиг w_g36.ltx. Он делится на разделы: 
Первый раздел

Здесь хранится общая информация о оружии - его класс, тип, ссылки на спавн и т.д. Нас интересуют следующие строки: 
description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия. 
ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие 
ef_weapon_type = 6 - подтип, к которому принадлежит оружие 
Второй раздел

Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках: 
holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range 
holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov 
Третий раздел

Содержит данные о самом оружии, его некоторых характеристиках: 
cost = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент) 
weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка) 
ammo_mag_size = 30 - размер магазина 
ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов 
grenade_class = ammo_m209 - тип используемых гранат 
fire_modes = 1, -1 - режимы ведения огня 
hand_dependence = 1 - засивимость о рук (?) - возможно, речь идет о качании ствола 
single_handed = 0 - держится ли только в одной руке 
slot = 2 - слот в инвентаре 
animation_slot = 2 - вид анимации (для пистолета/для винтовки) 
inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание 
inv_name_short = wpn-g36 - короткое имя; в данном случае используется то же самое 
inv_weight = 3.6 - вес 
inv_grid_width = 5 - координаты первого угла иконки по x 
inv_grid_height = 2 - координаты первого угла иконки по y 
inv_grid_x = 0 - координаты второго угла иконки по x 
inv_grid_y = 10 - координаты второго угла иконки по y 
Четвертый раздел

В четвертом разделе хранится информация о износе/отдаче оружия. Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные: 
cam_relax_speed = 5.7 - скорость возврата в исходное положение 
cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом 
fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном износе 
misfire_probability = 0.003 - вероятность осечки при максимальном износе 
misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать 
condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле 
Пятый раздел

Здесь хранится множество параметров, из которых наиболее интересны эти: 
hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела 
hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела) 
hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет) 
fire_distance = 600 - максимальная дистанция для выстрела 
bullet_speed = 925 - начальная скорость пули 
hud = wpn_g36_hud - внешний вид оружия 
Шестой раздел
position = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?) 
orientation = 0, 0, 0 - направление, в которое смотрит ствол (?) 
Седьмой раздел

Содержит описания визуальной стороны оружия и некоторые другие параметры: 
startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет) 
visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица 
ph_mass = 4 - физическая масса, используемая при расчетах 
scope_status = 1 - ситуация со съемным прицелом 
silencer_status = 0 - ситуация со съемным глушителем 
grenade_launcher_status = 0 - ситуация с подствольным гранатометом 
Параметры: 
0 - нет, новый прикрепить нельзя 
1 - уже есть, несъемный 
2 - нет, но можно установить новый 
zoom_enabled = true - есть ли зум (прицеливание) 
scope_zoom_factor = 33.3 - какой зум дает прицеливание (здесь - 1.8х) 
scope_texture = wpn\wpn_crosshair_g36 - текстура прицельной сетки 
shell_point = 0.15, 0.0, -0.05 - точка вылета гильз 
shell_dir = 0.0, 1.0, 0.0 
fire_point = -0.000000,0.062000,0.134000 - точка выстрела 
fire_point2 = 0.30, 0.00, 0.05 - точка выстрела (2) 
fire_bone = wpn_body 
orientation = 0, 0, 0 - направление 
position = 0, 0, 0 - позиция 
visual = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках 
Изменение описаний

Описания оружия хранятся в файле: ...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml 

В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда: 
[...]
 <string id="enc_weapons1_wpn-g36">
  <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец 
современного оружия - лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм 
SS109,\n бронебойный 5,56x45 мм АР.</text>
[...]
 <string id="wpn-g36">
  <text>ГП37</text>
[...]

Меняя их содержимое, мы меняем описания/названия данного оружия. 
Изменение патронов

Параметры патронов хранятся в файле: 

...\S.T.A.L.K.E.R\gamedata\config\weapons\weapons.ltx 

Найдем, например, раздел, отвечающий за патроны к тому же G36 (о них мы узнали из параметра ammo_class), и разберем, что означает каждый параметр: 


visual = weapons\ammo\ammo_556x45_ss190.ogf - модель коробки с патронами 
description = enc_weapons1_ammo_ammo-5.56x45-ss190 - ссылка на string_id, из которого игра подгружает описание этого типа патронов 
cost = 320 - стоимость одной коробки 
box_size = 30 - количество патронов в одной коробке 
inv_name = ammo-5.56x45-ss190 - ссылка на string_id, содержащий имя для инвентаря 
inv_name_short = ammo-5.56x45-ss190_s - ссылка на string_id, содержащий краткое имя для инвентаря 
inv_weight = 0.33 - вес 
inv_grid_width = 2 - координаты первого угла иконки по x 
inv_grid_height = 1 - координаты первого угла иконки по y 
inv_grid_x = 14 - координаты второго угла иконки по x 
inv_grid_y = 11 - координаты второго угла иконки по y 


k_dist = 1 - коэффициент дальности, сама дальность - в стволе, тупо расстояние. 
k_disp = 2.5 - кучность, завязана с кучностью в стволе 
k_hit = 1 - убойность, завязана с убойностью в стволе 
k_impulse = 1 - чисто наскока эффектно ногами непись дрыгнет во время кердыка 
k_pierce = 1 - коэффициент наскока испорится броня при попадании 


impair = 1 - коэффициент износа ствола от пули 
buck_shot = 1 - кол-во составляющих в пуле (напр картечь - 4, пуля - 1) 
tracer = on - является ли патрон трассирующим (on/off) 
wm_size = 0.05 - визуальный размер дырки на стене от пули

Категория: Статьи | Добавил: САШКО (05.11.2008)
Просмотров: 1525 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Поиск

Друзья сайта


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


Copyright MyCorp © 2024
Используются технологии uCoz