ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 27.11.2019

Просмотров: 2753

Скачиваний: 36

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Страница 26

weapon_min_queue_interval_close = 300
weapon_max_queue_interval_close = 500

Для Сайга-12С и остальных гладкостволок себе просписал:
Угу, перед секцией отвечающей за HUD всунул.
weapon_min_queue_size_far = 1
weapon_max_queue_size_far = 2
weapon_min_queue_interval_far = 500
weapon_max_queue_interval_far = 700
weapon_min_queue_size_medium = 2
weapon_max_queue_size_medium = 4
weapon_min_queue_interval_medium = 400
weapon_max_queue_interval_medium = 600
weapon_min_queue_size_close = 4
weapon_max_queue_size_close = 8
weapon_min_queue_interval_close = 300
weapon_max_queue_interval_close = 500 

bullet_hit_power_k = 0.8
bullet_speed_k = 0.8
fire_dispersion_base_k = 1.25
cam_dispersion_k = 0.8
Так же в конфигурации оружия (абакан), есть такие строки:
silencer_hit_power = 0.42
silencer_hit_impulse = 120
silencer_fire_distance = 600
silencer_bullet_speed = 310
Как разобраться какой параметр, когда применяются?
Мои предположения:
при silencer_status = 0 (глушитель поставить нельзя)
ни один параметр не учитывается
при silencer_status = 1 (глушитель интегрирован)

при silencer_status = 2 (глушителя нет, но поставить можно)

Опа! Военные стали из ПКМ шмалять именно с такими настройками - на дальних дистанциях 
очередями по 15, на средних - по 30, а на близких весь цинк в 100 патронов расстреливать за 
раз. При этом на других сталкеров этот параметр не влияет - они стреляют так как прописано 
в m_stalker.ltx
Так что таким способом можно задавать логику использования каждого оружия на разных ди-
станциях.

В игре есть такой аддон к оружию как "глушитель". В его конфигурации есть следующие стро-
ки:

(все данные беруться из распакованых ресурсов оригинальной игры без каких-либо модифи-
каций)

берутся данные из конфига оружия (silencer_hit_power, silencer_hit_impulse, 
silencer_fire_distance, silencer_bullet_speed)

беруться данные из конфига аддон "глушитель" (bullet_hit_power_k, bullet_speed_k, 
fire_dispersion_base_k, cam_dispersion_k)
В случае silencer_status = 1, данные представлены сразу в готовом виде и тупо заменяют со-
ответствующие данные оружия
В случае silencer_status = 2, данные оружия нужно множить на коэффициент указанный в ад-
доне "глушитель".

Как сделать что-бы у мертвых NPC с новым оружием в инвентаре были и новые па-
троны. Подскажи пожалуйста где ковырять?

В папке 

misc

, такие файлы:


background image

Страница 27

Новые боеприпасы

Обязательно ли новые боеприпасы нужно прописывать в:

Используется в двух местах.
function object_type(obj) - функция не рабочая, там кривые clsid.

Для оригинала. Для задания зависимости типа выпадающих патрон от оружия в слотах.

Для оригинала. Возможность появления вещи в инвентаре npc в зависимости от местности.

Для оригинала. Колличество патрон в инвентаре npc в зависимости от уровня сложности.
Есть ещё файлы ph_box_xxx.ltx
Там тоже фигурируют патроны. Это лут для разбиваемых ящиков.

[hud_cursor]
;все размеры в процентах от длины экрана
cross_length = 0.01 ;длина "палочки" прицела
min_radius = 0.0 ;минимальный радиус прицела (при нулевой дисперсии)
max_radius = 1.0 ;максимальный радиус
radius_lerp_speed = 0.08 ;скорость интерполяции положений прицела
cross_color = 240,217,182,255 ;цвет прицела
disp_scale = 0.08 ;масштаб прицела (относительно радиан) 

;---FIRE QUEUE PARAMETERS

death_generic.ltx

 - привязывается оружие к патронам (разобраться не сложно);

death_items_by_communities.ltx

 - вероятность заспаунить предметы или нет (можно расписать 

у каждой группировки). В секции [stalker] указываются дефолтные значения;

death_items_by_levels.ltx 

- указывается возможность появления в инвентаре предметов в за-

висимости от локации (т.е. можно запретить появление определённых предметов на кон-
кретной локации вне зависимости от группировки;

death_items_count.ltx

 - указывается количество (от и до) предметов в зависимости от уровня 

сложности.
Все файлы для игры на чистом АМК надо извлекать из db архива либо смотреть самую пер-
вую версия Weapons Pack, а в NLC часть из них уже есть.

1. _

g.script

 (и для чего это делается?)

2. 

death_generic.ltx 

(и для чего это делается?)

3. 

death_items_by_levels.ltx

 (и для чего это делается?)

4. 

death_items_count.ltx

 (и для чего это делается?)

1. _

g.script

ammo_section = {} - объявляет глобальный массив, который может использоваться из раз-
личных скриптов (например, treasure_manager)
2. 

death_generic.ltx

3. 

death_items_by_levels.ltx

4. 

death_items_count.ltx

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

В файле

 \gamedata\config\system.ltx

 ищещь такие строки:

Изменение использование оружия НПСами. Для этого добавляем в конфиг оружия эти 
строки:

weapon_min_queue_size_far   = 1; минимальная очередь на дальние дистанции. Одиночные. 
Логично?
weapon_max_queue_size_far   = 6; Максимум - 6 патронов в очереди. В принципе, здесь мож-
но и поменьше, но практика показывает, что такой огонь довольно эффективен.
weapon_min_queue_interval_far = 500; Периодичность выстрелов. Как я понял, в миллисекун-
дах. Без изменений: пусть успевают прицелиться перед выстрелом :)
weapon_max_queue_interval_far = 1000; Секунда на прицеливание их же устроит? Но дальше 
уж надо жать на курок.


background image

Страница 28

weapon_min_queue_size_medium  = 6; тут ничего не менял... вроде.
weapon_max_queue_size_medium  = 10
weapon_min_queue_interval_medium= 500; также без изменений
weapon_max_queue_interval_medium= 750

weapon_max_queue_size_close   = 30; при удаче они даже всадят всю обойму :)

weapon_max_queue_interval_close = 300

А какие значения должны быть, для стрельбы трассерами, хотя бы через один

найди строку time_step =1; 33 и убери единицу с точкой запятой и будет тебе счастье.

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

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

ef_main_weapon_type = 2 - основной тип, к которому принадлежит оружие 
ef_weapon_type = 6 - подтип, к которому принадлежит оружие 
Второй раздел

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_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 

weapon_min_queue_size_close   = 10; вблизи (почти в упор) им надо шмалять не щадя обой-
мы. Пока сталкер Меченый не опомнился.

weapon_min_queue_interval_close = 100; интервал на ближних дистанциях также минималь-
ный: с такого расстояния нужно стрелять не думая.

Папка 

weapons\weapons ltx.

Каким образом можно редактировать оружие в игре

 - от характеристик до описания. Ха-

рактеристики оружия хранятся здесь: 

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

Содержит модификаторы, которые даются к углу зрения/дальности обзора NPC, держащего 
это оружие в руках: 

inv_name = wpn-g36 - ссылка на имя, отображаемое в инвентаре, тоже берется из string table, 
как и описание 


background image

Страница 29

Четвертый раздел

cam_relax_speed = 5.7 - скорость возврата в исходное положение 
cam_dispersion = 0.2 - увеличения угла (в градусах) с каждым выстрелом 

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

condition_shot_dec = 0.0002 - увеличение износа при каждом выстреле 
Пятый раздел:
Здесь хранится множество параметров, из которых наиболее интересны эти: 
hit_power = 0.50, 0.54, 0.57, 0.60 - сила выстрела 

fire_distance = 600 - максимальная дистанция для выстрела 
bullet_speed = 925 - начальная скорость пули 
hud = wpn_g36_hud - внешний вид оружия 
Шестой раздел:
position = -0.026, -0.132, 0.0 - позиция по отношению к игроку (?) 
orientation = 0, 0, 0 - направление, в которое смотрит ствол (?) 
Седьмой раздел:
Содержит описания визуальной стороны оружия и некоторые другие параметры: 

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 - модель, отображаемая у нас в руках 

Изменение описаний:

В четвертом разделе хранится информация о износе/отдаче оружия. Практически все пара-
метры там снабжены комментариями, поэтому приведу лишь самые интересные: 

fire_dispersion_condition_factor = 5 - увеличение дисперсии в процентах при максимальном 
износе 

misfire_condition_k = 0.05 - порог (в данном случае - 5%), после которого оружие может закли-
нивать 

hit_impulse = 105 - импульс пули (сила, которую летящая пуля передает жертве, влияет на 
поведение ragdoll-тела) 
hit_type = fire_wound - тип причиняемых повреждений, в данном случае - пулевые ранения 
(параметр в синглплеере ни на что не влияет) 

startup_ammo = 90 - как нетрудно догадаться, стартовое количество патронов (в синглплеере 
ни на что не влияет) 
visual = weapons\g36\wpn_g36.ogf - модель оружия, используемая NPC, а также игроком при 
виде от третьего лица 

Описания оружия хранятся в файле: 

...\S.T.A.L.K.E.R\gamedata\config\text\rus\string_table_enc_weapons.xml 

В нем хранятся строки с названиями и описаниями, на которые ссылаются конфиги оружия. 
Например, тот же G36 ссылается сюда: 


background image

Страница 30

[...]
                    <string id="enc_weapons1_wpn-g36">

SS109,\n бронебойный 5,56x45 мм АР.</text>
[...]
                  <string id="wpn-g36">
                        <text>ГП37</text>
[...]
Меняя их содержимое, мы меняем описания/названия данного оружия.

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

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

visual = weapons\ammo\ammo_556x45_ss190.ogf - модель коробки с патронами 

cost = 320 - стоимость одной коробки 
box_size = 30 - количество патронов в одной коробке 
inv_name = ammo-5.56x45-ss190 - ссылка на 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 - передоваемый импульс

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

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

bind_stalker.hide_weapon()
bind_stalker.restore_weapon()

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

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

;addons 
scope_status = 2 0 - нет,1 - несъемный, 2 - можно ставить прицел

                        <text>Штурмовая винтовка немецкого производства, представляющая собой 
первоклассный образец современного оружия - лёгкого, надёжного и эргономичного.\n Бое-
припасы:\n обычный 5,56x45 мм 

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

description = enc_weapons1_ammo_ammo-5.56x45-ss190 - ссылка на string_id, из которого 
игра подгружает описание этого типа патронов 

inv_name_short = ammo-5.56x45-ss190_s - ссылка на string_id, содержащий краткое имя для 
инвентаря 

k_pierce = 1 - бронебойный эффект влияет на пробивание предметов и на пробивание имму-
нитетов брони НПС.

В файле 

gamedata\scripts\sr_no_weapon*****ipt

 найти и закомментировать (поставить перед 

ними --) строки

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

Находим в файле оружия строку ;addons и пишем после(без комментарие естественно(или 
перед ними ставьте  + значения после знака = можно менять):