Редактирование оружия
Материал из Mod Wiki.
Версия 08:25, 15 июня 2007 (править) BAC9-FLCL (Обсуждение | вклад) (→Седьмой раздел) ← К предыдущему изменению |
Текущая версия (21:49, 18 апреля 2010) (править) (отменить) EtMrak (Обсуждение | вклад) (→Первый раздел) |
||
(14 промежуточных версий не показаны.) | |||
Строка 4: | Строка 4: | ||
Характеристики оружия хранятся здесь: | Характеристики оружия хранятся здесь: | ||
- | ...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx | + | ''...\S.T.A.L.K.E.R\gamedata\config\weapons\w_[...].ltx'' |
==Разбор структуры конфига== | ==Разбор структуры конфига== | ||
Строка 15: | Строка 15: | ||
Нас интересуют следующие строки: | Нас интересуют следующие строки: | ||
- | * description = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия. | + | * '''description''' = enc_weapons1_wpn-g36 - ссылка на string_id, из которого игра подгружает описание этого оружия. |
- | * ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие | + | * '''ef_main_weapon_type''' = 2 - основной тип, к которому принадлежит оружие |
- | * ef_weapon_type = 6 - подтип, к которому принадлежит оружие | + | * '''ef_weapon_type''' = 6 - подтип, к которому принадлежит оружие |
+ | * '''sprint_allowed''' = true - возможность спринта с этим оружием(false-выкл, true-вкл) | ||
===Второй раздел=== | ===Второй раздел=== | ||
Строка 23: | Строка 24: | ||
Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках: | Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего это оружие в руках: | ||
- | * holder_range_modifier = 1.85 - во сколько раз увеличивается eye_range | + | * '''holder_range_modifier''' = 1.85 - во сколько раз увеличивается eye_range |
- | * holder_fov_modifier = 0.3 - во сколько раз увеличивается eye_fov | + | * '''holder_fov_modifier''' = 0.3 - во сколько раз увеличивается eye_fov |
===Третий раздел=== | ===Третий раздел=== | ||
Строка 30: | Строка 31: | ||
Содержит данные о самом оружии, его некоторых характеристиках: | Содержит данные о самом оружии, его некоторых характеристиках: | ||
- | * cost = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент) | + | * '''cost''' = 18000 - базовая цена (торговцы умножают её на некоторый коэффициент) |
- | * weapon_class = assault_rifle - класс оружия (здесь - штурмовая винтовка) | + | * '''weapon_class''' = assault_rifle - класс оружия (здесь - штурмовая винтовка) |
- | * ammo_mag_size = 30 - размер магазина | + | * '''ammo_mag_size''' = 30 - размер магазина |
- | * ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов | + | * '''ammo_class''' = ammo_5.56x45_ss190, ammo_5.56x45_ap - типы используемых патронов |
- | * grenade_class = ammo_m209 - тип используемых гранат | + | * '''grenade_class''' = ammo_m209 - тип используемых гранат |
- | * fire_modes = 1, -1 - режимы ведения огня | + | * '''fire_modes''' = 1, -1 - режимы ведения огня |
- | * hand_dependence = 1 - засивимость о рук (?) - возможно, речь идет о качании ствола | + | * '''hand_dependence''' = 1 - засивимость о рук (?) - возможно, речь идет о качании ствола |
- | * single_handed = 0 - держится ли только в одной руке | + | * '''single_handed''' = 0 - держится ли только в одной руке |
- | * slot = 2 - слот в инвентаре | + | * '''slot''' = 2 - слот в инвентаре |
- | * animation_slot = 2 - вид анимации (для пистолета/для винтовки) | + | * '''animation_slot''' = 2 - вид анимации (для пистолета/для винтовки) |
- | * inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание | + | * '''inv_name''' = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, как и описание |
- | * inv_name_short = wpn-g36 - короткое имя; в данном случае используется то же самое | + | * '''inv_name_short''' = wpn-g36 - короткое имя; в данном случае используется то же самое |
- | * inv_weight = 3.6 - вес | + | * '''inv_weight''' = 3.6 - вес |
- | * inv_grid_width = 5 - координаты первого угла иконки по x | + | * '''inv_grid_width''' = 5 - координаты первого угла иконки по x |
- | * inv_grid_height = 2 - координаты первого угла иконки по y | + | * '''inv_grid_height''' = 2 - координаты первого угла иконки по y |
- | * inv_grid_x = 0 - координаты второго угла иконки по x | + | * '''inv_grid_x''' = 0 - координаты второго угла иконки по x |
- | * inv_grid_y = 10 - координаты второго угла иконки по y | + | * '''inv_grid_y''' = 10 - координаты второго угла иконки по y |
===Четвертый раздел=== | ===Четвертый раздел=== | ||
Строка 58: | Строка 59: | ||
Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные: | Практически все параметры там снабжены комментариями, поэтому приведу лишь самые интересные: | ||
- | * cam_relax_speed = 5.7 | + | * '''cam_relax_speed''' = 5.7 - скорость возврата в исходное положение |
- | * cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом | + | * '''cam_dispersion''' = 0.2 - увеличения угла (в градусах) с каждым выстрелом |
- | * fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном износе | + | * '''fire_dispersion_condition_factor''' = 5 - увеличение дисперсии в процентах при максимальном износе |
- | * misfire_probability = 0.003 - вероятность осечки при максимальном износе | + | * '''misfire_probability''' = 0.003 - вероятность осечки при максимальном износе |
- | * misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать | + | * '''misfire_condition_k''' = 0.05 - порог (в данном случае - 5%), после которого оружие может заклинивать |
- | * condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле | + | * '''condition_shot_dec''' = 0.0002 - увеличение износа при каждом выстреле |
===Пятый раздел=== | ===Пятый раздел=== | ||
Строка 70: | Строка 71: | ||
Здесь хранится множество параметров, из которых наиболее интересны эти: | Здесь хранится множество параметров, из которых наиболее интересны эти: | ||
- | * hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела | + | * '''hit_power''' = 0.50, 0.54, 0.57, 0.60 - сила выстрела |
- | * hit_impulse = 105 - импульс пули ( | + | * '''hit_impulse''' = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на поведение ragdoll-тела) |
- | * hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет) | + | * '''hit_type''' = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения (параметр в синглплеере ни на что не влияет) |
- | * fire_distance = 600 - максимальная дистанция для выстрела | + | * '''fire_distance''' = 600 - максимальная дистанция для выстрела |
- | * bullet_speed = 925 - начальная скорость пули | + | * '''bullet_speed''' = 925 - начальная скорость пули |
- | * hud = wpn_g36_hud - внешний вид оружия | + | * '''hud''' = wpn_g36_hud - внешний вид оружия |
===Шестой раздел=== | ===Шестой раздел=== | ||
- | * position = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?) | + | * '''position''' = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?) |
- | * orientation = 0, 0, 0 - направление, в которое смотрит ствол (?) | + | * '''orientation''' = 0, 0, 0 - направление, в которое смотрит ствол (?) |
===Седьмой раздел=== | ===Седьмой раздел=== | ||
Строка 88: | Строка 89: | ||
Содержит описания визуальной стороны оружия и некоторые другие параметры: | Содержит описания визуальной стороны оружия и некоторые другие параметры: | ||
- | * startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет) | + | * '''startup_ammo''' = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере ни на что не влияет) |
- | *visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица | + | * '''visual''' = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при виде от третьего лица |
- | * ph_mass = 4 - физическая масса, используемая при расчетах | + | * '''ph_mass''' = 4 - физическая масса, используемая при расчетах |
- | * scope_status = 1 - ситуация со съемным прицелом | + | * '''scope_status''' = 1 - ситуация со съемным прицелом |
- | * silencer_status = 0 - ситуация со съемным глушителем | + | * '''silencer_status''' = 0 - ситуация со съемным глушителем |
- | * grenade_launcher_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 - направление | |
- | * fire_point2 = 0.30, 0.00, 0.05 - точка выстрела (2) | + | * '''position''' = 0, 0, 0 - позиция |
- | * fire_bone = wpn_body | + | * '''visual''' = weapons\g36\wpn_g36_hud.ogf - модель, отображаемая у нас в руках |
- | * 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 | + | ''...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml'' |
- | В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же G36 ссылается сюда: | + | В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. Например, тот же '''G36''' ссылается сюда: |
<pre>[...] | <pre>[...] | ||
<string id="enc_weapons1_wpn-g36"> | <string id="enc_weapons1_wpn-g36"> | ||
- | <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец современного оружия - | + | <text>Штурмовая винтовка немецкого производства, представляющая собой первоклассный образец |
- | лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм SS109,\n бронебойный 5,56x45 мм АР.</text> | + | современного оружия - лёгкого, надёжного и эргономичного.\n Боеприпасы:\n обычный 5,56x45 мм |
+ | SS109,\n бронебойный 5,56x45 мм АР.</text> | ||
[...] | [...] | ||
<string id="wpn-g36"> | <string id="wpn-g36"> | ||
Строка 134: | Строка 135: | ||
Меняя их содержимое, мы меняем описания/названия данного оружия. | Меняя их содержимое, мы меняем описания/названия данного оружия. | ||
+ | |||
+ | ==Изменение патронов== | ||
+ | |||
+ | Параметры патронов хранятся в файле: | ||
+ | |||
+ | ''...\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 - визуальный размер дырки на стене от пули | ||
+ | |||
+ | ==Авторы== | ||
+ | |||
+ | Статья создана: | ||
+ | |||
+ | * [[Участник:BAC9-FLCL|BAC9-FLCL]] | ||
[[Категория:Статьи участников]] | [[Категория:Статьи участников]] |
Текущая версия
Содержание |
Общие положения
Сегодня мы разберем то, каким образом можно редактировать оружие в игре - от характеристик до описания. Характеристики оружия хранятся здесь:
...\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 - подтип, к которому принадлежит оружие
- sprint_allowed = true - возможность спринта с этим оружием(false-выкл, true-вкл)
Второй раздел
Содержит модификаторы, которые даются к углу зрения/дальности обзора 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 - визуальный размер дырки на стене от пули
Авторы
Статья создана: