Уроки по модостроению от меня. Ну,некоторые конечно возьму из других статей, но проверенные мной.ТЕМА БУДЕТ ПОСТОЯННО ДОПОЛНЯТСЯ,поэтому если не нашли нужный урок,не спешите,останьтесь на сайте,и я добавлю новые уроки...
Раздел первый:файлы. Для работы над худом нам нужны следующие файлы(не обязательно все конешно) Текстуры: Папка - textures\ui Файлы + описание: 1- ui_hud.dds (собственно опорный файл содержащий почти все текстуры худа) 2 - cursor.dds (текстура причела без оружия в руках,попросту кругляшка) 3 - hud_map_arrow.dds (стрелка компаса) Конфиги: Папка - config\ui Файлы + описание: 1 - maingame.xml (содержит конфиги индикаторов здоровья и состояния брони,индикаторов состояния ГГ(радиация,поломка оружия и тп) , окно патронов и всё с ним связаное,пояс артефактов ,мигающая иконка ПДА и кол во контактов. Так же состояние машины) 2 - motion_icon.xml (содержит конфиги положения ГГ (сидит,стоит и тп) ,а так же полоски выносливости,уровня шума и заметности ГГ.) 3 - ui_custom_msgs.xml (часы + всякая лабуда типо укусов...вообщем худы повреждений) 4 - zone_map.xml (собственно миникарта + компас)
Собственно это стандартный набор...он естественно не полный...есть ещё пара конфигов .... типо координаты новостей на худе...но они редко правятся.
Раздел второй:правка конфигов.
Открываем файлик maingame.xml
Что там есть: <static_health - положение "колбы" здоровья <progress_bar_health - полоска здоовья
<static_armor - положение "колбы" состояния брони. <progress_bar_armor - полоска брони
<static_weapon - окно патронов + тип патронов <static_ammo - количество патронов <static_wpn_icon - иконка коробки от патронов <car_panel - состояние машины <static_pda_online - счётчик контактов <quick_info - задания и всякая лабуда типо обучения в начале игры. <icons_scroll_view - список индикаторов состояния ГГ (радиация,голод и тп.)Далее идёт сам список,НО он не поддаётся правке индивидуально. Правим только всё сразу строчкой упомянутой выше.
<hud_timer - часы <controller_fx - худ поареждения от контролёра <monster_claws - худ повреждения от мутанта(царапины) <main_task - "главное задание" <cs_psy_danger - предупреждение о сильном излучении <cs_radiation_danger - предупреждение о высоком уровне радиации <game_saved - "игра сохранена" <autosave - "автосохранение" <item_used - "использован .... " (аптечка и тп) <gun_jammed - "оружее заклинило" <cant_walk - "вы слишком истощены" <cant_walk_weight - "вы перегружены" <not_enough_money_mine - у ГГ не хватает денег <not_enough_money_other - у НПС не хватает денег
Далее идут строчки с координатами сообщений связаных с пингом.(разбирать МП не буду)
__________________________________
Файл zone_map.xml Тут всё просто:
<level_frame - сама карта <background - рамка карты <dist_text - расстояние до цели <compass - думаю понятно что это <center - хз что это..предполагаю что реч о точках на миникарте
__________________________________
Советы: Если вам нужно убрать текстуру - просто убираем в конфиге путь к текстуре. Если нужно убрать текст - либо убираем сам текст либо ставим а="0" Многие элементы передвигаются в связке.К примеру патроны - окно,количество и иконку можно двигать меняя координаты окна. Координаты остального подразумеваются в рамках размера окна(а не всего экрана) Если вы хотите задать текстуре определённый размер то - пишем нужный width и height а после пишем stretch="1"
Значение параметров погодных и относящихся к ним конфигов
Здесь указывается время смены типов погоды, каждый тип включает в себя свой скайбокс и индивидуальные параметры освещения, дождя, грозы, и звука окружения. Переход осуществляется не скачкообразно, а плавно, практически не заметно. [default_weather_01] ; имя типа погоды, описание которого ведется в этом блоке.
flares = flares_gradient1 ; здесь указывается имя заготовки блика от солнца (заготовки прописаны в файле flares.ltx).
sky_texture = skysky_14_cube ; это имя используемого скайбокса. cкайбокс - это куб, окружающий всю локацию, на 6 граней которого натянуты 6 текстур из файла, указанного в этой строке. нужно обратить внимание, что строка содержит еще и путь к файлу.
sky_rotation = 0 ; определяет положение (азимут) скайбокса на описываемый час.
sky_color = 1.0, 1.0, 1.0 ; это цвет неба, или, точнее, цвет рассеянного света, формат из 3 цифр, как и в параметрах ниже, подразумевает цветовую модель RGB, учитывая то, что здесь максимальная интенсивность цвета (255), здесь равна 1.0. например, цвет неба, равный [1.0, 0.0, 0.0] - зальет окрестность ярко красным светом. стоит учитывать, что здесь описывается не цвет, а свет, поэтому параметр, например, [0,0,0] - даст не черный цвет, а отсутствие вообще какого либо света. аналогично эффекту смешивания в фотошопе (screen).
clouds_texture = skysky_oblaka ; это - имя тектуры облаков. не путать со скайбоксом.
clouds_color = 0.333, 0.341, 0.431, 0.7, 1.7 ; это цвет облаков, первые 3 цифры - это RGB (см.выше), четвертая - это видимость (непрозрачность) текстуры облаков, т.е 0 - облаков не видно, а 1 - полная видимость. пятая цифра - скорость движения облаков.
far_plane = 350 ; это, судя по всему, дальность видимости (расстояние, на котором "обрезается" карта).
fog_distance = 350 ; в DX9 это расстояние, на котором туман фактически "прекращает" действовать. непосредственно дымка, интенсивность которой задаётся fog_density, "висит" в радиусе fog_distance. за пределами этого радиуса часть геометрии "съедается" и вместо неё отображается небо (скайбокс). правильно подобранная текстура неба имитирует вдали клубы тумана. а уже дальше снова проявляется геометрия уровня (холмы и т.д.). в DX8-режиме туман рудиментарен и обсуждать его нет особого смысла.
fog_color = 0.043, 0.043, 0.055 ; непосредственно сам цвет тумана.
fog_density = 0.9 ; это плотность тумана, выставив значение в 0, можно увидеть четкие края карты.
rain_density = 0.2 ; это плотность дождя, действует, видимо, как и туман.
thunderbolt = thunderbolt_collection_default ; это имя заготовки грозы, если грозы не предусмотрено, значение можно оставить пустым.
bolt_period = 4.5f ; это время между вспышками молний. значение прописано не в секундах. В принципе, эмпирически установлено, что в грозовую погоду желательно ставить значения около 20f, в дождливую - в районе 50f.
bolt_duration = 0.35f ; это собственно продолжительность фазы вспышки молнии. выставив высокое значение, можно вовсе получить не молнию, а некое плавно нарастающее свечение.
wind_velocity = 0.0 ; сила ветра.
wind_direction = 0.0 ; направление ветра.
ambient = 0.0425, 0.045, 0.0475 ; общее освещение локации, те тона, в которые она будет окрашена (цвет и интенсивность света фонового освещения там, где не светит солнце - выставив значения в [0,0,0] - получим кромешную тьму в зданиях и под навесами. работает только на R2.
lmap_color = 1.0, 1.0, 1.0 ; видимо, цвет лайтмапа.
hemi_color = 0.0425, 0.045, 0.0475, 0.1 ;по слухам, параметр, идентичный амбиенту, только предназначенный для статичного освещения. насчет четвертой цифры - не в курсе.
sun_color = 0.0, 0.0, 0.0 ; свет солнца, его интенсивность также влияет на тени, если солнце не светит, теней от него не будет.
sun_dir = -18.0, 291 ; положение солнца, первая цифра - это высота, знак минус означает, что солнце выше горизонта. от горизонта до горизонта солнце описывает полукруг, значения в игре соотносятся с градусами, то есть от -0 до -180, зенит -90, вторая цифра определяет положение солнца относительно сторон горизонта, нулевое значение вроде соответствует югу.
env_ambient = ambient_env_rain ; это набор звуков окружения.
Параметры бликов
Находятся в файле flares.ltx. [flares_sun_rise] ; название cекции, параметры которой описываются ниже
flare_opacity = 0.340, 0.260, 0.500, 0.420, 0.260, 0.260 ; непрозрачность каждого отражения, в порядке от дальнего к ближнему.
flare_position = 1.300, 1.000, 0.500, -0.300, -0.600, -1.000 ; позиция каждого отражения на оси, порядок соотв. верхнему.
flare_radius = 0.080, 0.120, 0.040, 0.080, 0.120, 0.300 ; радиус каждого отражения, порядок соотв. верхнему.
; имена текстур, использованных на каждое отражение, порядок аналогичен. можно заметить, что прописан формат *.tga, в действительности используются, как и везде, текстуры *.dds, а вообще - поддержка формата *.tga под вопросом.
flare_shader = effectsflare ; шейдер.
flares = on ; параметр включает или выключает блики, например, для луны - они не уместны.
gradient = on ; параметр, включающий/выключающий ореол вокруг светила, дающий эффект ослепления.
source_ignore_color = false ; игнорирование цвета источника.
Параметры фонарика
Файл находится по следующему пути: config\models\objects\light_night.ltx [torch_definition]
range = 30 ; дистанция в метрах.
range_r2 = 30 ; дистанция в метрах (для динамического освещения).
color = 0.22,0.22,0.22,0.2 ; цвет, из 4 компонентов <r,g,b,a> значением от 0 до 3.
color_r2 = 1.1,1.1,1.1,0.0 ; цвет, из 4 компонентов <r,g,b,a> значением от 0 до 3 (для динамического освещения).
omni_range = 3 ; дистанция освещения от фонариков неписей в метрах.
omni_range_r2 = 3 ; дистанция освещения от фонариков неписей в метрах (для динамического освещения).
omni_color = 1.0,1.0,1.0,0.1 ; цвет фонариков неписей, из 4 компонентов <r,g,b,a> значением от 0 до 3.
omni_color_r2 = 1.0,1.0,1.0,0.1 ; цвет фонариков неписей, из 4 компонентов <r,g,b,a> значением от 0 до 3 (для динамического освещения).
color_animator = empty ; цвет аниматора (empty - аниматор не используется).
spot_texture = internalinternal_light_torch_r2 ; текстура яркой точки (для динамического освещения).
spot_angle = 45 ; угол освещения в градусах.
glow_texture = glowglow_torch_r2 ; текстура свечения фонарика, когда он направлен в глаза (обязательный параметр).
glow_radius = 0.3 ; радиус свечения в метрах.
guide_bone = lights_bone ; кость, к направлению которой привязывается фонарик (изменять строго не рекомендуется).
Конфиги, отвечающие за эту особенность, в файле gamedata\configs\misc\effectors.ltx: [zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.01 speed_min = 0.00001 zoom_aim_disp_k = 1.0 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0025 ;и покачивания прицела delta_time = 3000 ;время через которое эффектор меняет направление движения (в милисекундах)
у меня лично стоит так:
[zoom_inertion_effector] camera_move_epsilon = 0.03 ;разница между двумя векторами направления камера, когда считается что камера двинулась disp_min = 0.02 speed_min = 0.0001 zoom_aim_disp_k = 1.18 ;коэффициенты соотношения полной дисперсии стрельбы zoom_aim_speed_k = 0.0015 ;и покачивания прицела delta_time = 1350 ;время через которое эффектор меняет направление движения (в милисекундах)
Конфиги лежат по адресу gamedata\configs\weapons в файлах w_f1.ltx для Ф1 и w_rgd5.ltx для РГД-5; важные параметры: destroy_time = 1800 ; Время детонации 1.8 секунды blast = 3.0 ; Урон наносимый фугасным воздействием blast_r = 8 ; радиус фугасного воздействия blast_impulse = 550 ; Сила удара от фугаса frags = 300 ; Количество осколков frags_r = 25 ; Радиус разлета осколков frag_hit = 3.50; Урон от осколка frag_hit_impulse = 300 ; Сила удара от осколков fragment_speed = 500 ; Скорость осколков
Рассмотрим костюм долга
;--------------------------------------------------------------------------------------------- ; ОБЫЧНЫЙ КОСТЮМ ДОЛГА ;--------------------------------------------------------------------------------------------- [dolg_outfit]:outfit_base ---Название костюма в документах(в скриптах и ltx файлах) GroupControlSection = spawn_group ---Этого я не знаю,и лучше не трогать,обычно вылет discovery_dependency = ---Тоже какая то функция $spawn = "outfit\dolg_outfit" ---Спаун,то есть,костюм лежащий на земле ;$prefetch = 32 ---ХЗ class = E_STLK ---класс cform = skeleton ---НЕ ТРОГАТЬ! visual = equipments\dolg_suit ---Визуал костюма лежащий на земле actor_visual = actors\hero\stalker_dolg.ogf ---Визуал НПС,В нашем случае ГГ
ef_equipment_type = 3 ---Опять же ХЗ
inv_name = dolg_outfit_name ---Название костюма inv_name_short = dolg_outfit_name ---Название костюма(короткое) description = dolg_outfit_description ---Описание(можно и не прописывать их в string_table,можно писать через кавычки.Ставьте "" и пишите описание костюма.Например: "Костюм долга,хорошая защита." Без кавычек пробелы не буду засчитыватся) inv_weight = 7.0 ---ВЕС inv_grid_width = 2 -=Эти четыре строки отвечают за иконку в инвентаре,не одетого костюма inv_grid_height = 3 -= inv_grid_x = 12 -= inv_grid_y = 16 -= full_icon_name = npc_icon_dolg_outfit ---Название иконки
cost = 15000 ---Цена slot = 6 ---Слот для костюма.НЕ ТРОГАТЬ! full_scale_icon = 8,11 ---иконка сталкера в костюме в полный рост nightvision_sect = effector_nightvision_good ---Прибор ночного видения
immunities_sect = sect_dolg_outfit_immunities ---Название иммунитета,для нового костюма введите свой вместо dolg_outfit
additional_inventory_weight = 13 ---Дополнительный переносимый вес additional_inventory_weight2 = 13 ---Дополнительный переносимый вес второй,но ставьте как на первом
bones_koeff_protection = kombez_antigas_damage ---ХЗ,но если делать костюм со средней защитой ставьте такой.Научу ниже
[sect_dolg_outfit_immunities] burn_immunity = 0.03 ---коэффициенты иммунитета самого костюма(чем меньше значение,тем медленнее костюм портиться.Если на все поставить 0.0 костюм не будет портиться никогда) strike_immunity = 0.01 shock_immunity = 0.03 wound_immunity = 0.015 radiation_immunity = 0.00 telepatic_immunity = 0.00 chemical_burn_immunity = 0.03 explosion_immunity = 0.03 fire_wound_immunity = 0.01
Обещал рассказать что такое Бонес коэфф протекшн bones_koeff_protection = kombez_antigas_damage Оно отвечает за то,как сильно будет защищать костюм.Если например поставить вместо: kombez_antigas_damage ,вот это: kurtka_mask_damage,то сколько бы ты не ставил защиту,она будет слабой.А если поставить exo_helmet_damage то будет высокая защита.Поставите очень много защиты,вы будете бессмертны,и костюм будет защищать вас очень хорошо(то есть,бывает например,оденешь экзоскелет,и иногда пули попадают и наносят совсем крохотный урон.Вот,если поставить экзо хелмет то такие маленьки уроны будут чаще,а если поставить куртка маск то такие случаи будут редкими.)
КСТАТИ:если вы хотите создать свой документ с костюмами,нужно будет в конфиге outfit в само конце написать #include "Название вашего документа.ltx"
Например я создал документ с названием nanosuit, я написал вот так. #include "nanosuit.ltx"
Все,можете приступать к созданию ваших костюмов,при это зная,в каком документе лежат новые костюмы.
;скорости увеличения (уменьшения) --- думаю обьяснять не нужно health_restore_speed = 0.0 radiation_restore_speed = 0.0007 satiety_restore_speed = 0.0 power_restore_speed = 0.0 bleeding_restore_speed = 0.0 hit_absorbation_sect = af_medusa_absorbation
artefact_activation_seq = af_activation_bold
[af_medusa_absorbation] - а вот здесь загвоздочка.Допустим вы поставили burn_immunity = 2.0. а в игре заметили что она уменьшает на 100 защиту от ожогов.Ставить нужно наоборот,то есть.хочешь чтобы медуза давала 30 пулестойкости из 100-30=70.Ставишь на fire_wound_immunity = 0.70 burn_immunity = 1.0 strike_immunity = 0.97 shock_immunity = 1.0 wound_immunity = 1.0 radiation_immunity = 1.0 telepatic_immunity = 1.0 chemical_burn_immunity = 1.0 explosion_immunity = 1.0 fire_wound_immunity = 1.0
Параметры стволов заданы в конфигурационных файлах по адресу gamedata\configs\weapons
Возьмем, для примера, конфиг 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 - увеличение износа при каждом выстреле
Пятый раздел Здесь хранится множество параметров, из которых наиболее интересны эти: PDM_disp_base = 3.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ (Главный Герой) стоит на месте в полный рост; PDM_disp_vel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ крутит оружием или бежит; PDM_disp_accel_factor = 1.3 - множитель, на который умножается базовая дисперсия оружия, когда ГГ бежит в спринте; PDM_crouch = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ идет пригнувшись; PDM_crouch_no_acc = 1.0 - множитель, на который умножается базовая дисперсия оружия, когда ГГ стоит на месте, пригнувшись; 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> [...]Меняя их содержимое, мы меняем описания/названия данного оружия.
Как изменить параметры конкретного боеприпаса?
Параметры амуниции заданы в файле по адресу gamedata\configs\weapons\weapons.ltx например: 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 - визуальный размер дырки на стене от пули
все настройки, связанные с ассортиментом торговцев в игре, находятся в файлах gamedata\configs\misc\trade_***.ltx для всех остальных сталкеров - gamedata\configs\misc\trade_generic.ltx Структура файла Секция [trader_generic_buy] Эта секция описывает какие товары торговец будет покупать. Название предмета = минимальная цена покупки, максимальная цена покупки Например: wpn_vintorez = 0.5, 0.7Это значит что торговец купит оружие от 50% полной его стоимости до 70%, т.е. если Винторез стоит 1000, то торговец купит его в диапазоне от 500 до 700 рублей. Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дороже купит
Секция [supplies_start] Эта секция описывает какие товары у торговца будут вначале. Название предмета = количество, вероятность появления Например: bandage = 5, 1Это значит что у торговеца всегда будут 5 бинтов, с 100 процентной вероятностью появления в магазине. bandage = 5, 0.6 А тут уже вероятность появления 60%. Т.е. бинты не всегда будут.
Секция [supplies_after_***] Тоже самое, что в секции [supplies_start], но после выполнения квестов торговца.
Секция [trader_start_sell] Эта секция описывает за какую цену торговец будет продавать. Название предмета = минимальная цена продажи, максимальная цена продажиНапример: wpn_vintorez = 1, 2Это значит что торговец продаст оружие от 100% полной его стоимости до 200%, т.е. если Винторез стоит 1000, то торговец продаст его в диапазоне от 1000 до 2000 рублей. Диапазон зависит от отношения торговца к Меченому - чем лучше, тем дешевле продаст
Секция [trader_after_***_sell] Тоже самое, что в секции [trader_start_sell], но после выполнения квестов торговца.
деньги торговцев правятся в character_desc_название локации.xml, например, в character_desc_escape.xml такая строка: <money min="100000" max="100000" infinitive="1"/> (если infinitive="1" - бесконечные деньги)
При обнаружении ошибок-недочётов писать в ЛС: Лектор777@ или =ЛуЧ=.
P.S. в самом начале «родного» конфига гранаты, в секции description написать el_grenade_desc вместо того, чтобыло изначально. Есть небольшой касяк сописанием… (по возможности выясню почему так)
ОПИСАНИЕ Добавляем описание в файл «st_items_weapons.xml» (путь: «gamedata\configs\text\rus\») Ниже тега <string_table> добавляем: <string id="el_grenade_ag1"> <text>АГ-1</text> </string> <string id="el_grenade_desc"> <text>Аномальная электрошоковая граната.</text> </string>
ДОБАВЛЕНИЕ В ИГРУ
Например бармену «Бороде» на «Скадовске» - в файле «trade_zat_a2_barmen.ltx» (путь: «gamedata\configs\misc\trade») После строчки [supplies_start] пишем: el_grenade = 10, 0.9 (el_grenade – конфигурационное название предмета, 10 - макс. кол-во, 0.9 - вероятность их появления (0.9 = 90%))
P.S.2если вникнуть в суть написанного и понять принципы работы кофигов, а также понять структуру, то можно сделать и гравитационную гранату)))
Для начала отредактируем уже существующий костюм, например комбинезон«Заря». Открываем файл «outfit.ltx» (путь: gamedata\configs\misc ). Находим ыот такуй строчку: ;--------------------------------------------------------------------------------------------- ; КОСТЮМ НЕЙТРАЛЬНОГО СТАЛКЕРА ;--------------------------------------------------------------------------------------------- После следуют параметры самого костюма: [stalker_outfit]:outfit_base ; название секции костюма. именно к нему игра будет обращаться. outfit_base - базовая (наследуемая) секция (изменять строго не рекомендуется).
visual = equipments\stalker_suit ; модель, используемая для сложенного костюма, лежащего на земле. actor_visual = actors\hero\stalker_hood.ogf ; модель, используемая для игрока, когда на нем надет костюм. inv_name = stalker_outfit_name ; название в инвентаре. inv_name_short = stalker_outfit_name ; название в инвентаре (в принципе, можно здесь продублировать значение предыдущего параметра - так чаще всего и делают). description = stalker_outfit_description ; ссылка на текстовую строку с описанием. inv_weight = 5.0 ; вес.
cost = 5000 ; базовая цена full_scale_icon = 14,11 ; иконка сталкера в костюме в полный рост (отображается в инвентаре справа). nightvision_sect = effector_nightvision_bad ; тип ПНВ ("плохой" - зеленый, "хороший" - синий).
; ниже идут параметры защиты владельца от различных типов воздействий, обеспечиваемые костюмом. burn_protection = 0.5 ; защита от воздействия огня (костры, аномалия "Жарка" и т.д.). strike_protection = 0.5 ; защита от ударов (наносятся мутантами, например, псевдогигантом). shock_protection = 0.5 ; защита от поражения электричеством. wound_protection = 0.4 ; защита от ранений (наносятся мутантами, например, собаками, кровососами и т.д.). radiation_protection = 0.5 ; защита от радиации. telepatic_protection = 0.0 ; защита от пси-воздействия (например, присутствие контроллера серьезно влияет на psy_health). chemical_burn_protection = 0.5 ; защита от химического воздействия. explosion_protection = 0.3 ; защита от взрывов/осколков. fire_wound_protection = 0.3 ; защита от огнестрельного оружия (наиболее важный параметр для большинства костюмов). power_loss = 0.87 bones_koeff_protection = gilet_antigas_damage
[sect_stalker_outfit_immunities] ; коэффициенты иммунитета самого костюма, то есть - то, насколько сильно он сам подвержен повреждениям от различных типов воздействий. по значениям каждого типа. burn_immunity = 0.03 strike_immunity = 0.01 shock_immunity = 0.03 wound_immunity = 0.015 radiation_immunity = 0.00 telepatic_immunity = 0.00 chemical_burn_immunity = 0.03 explosion_immunity = 0.03 fire_wound_immunity = 0.01 Начнём изменение костюма: radiation_protection = 1.0 означает, что защита от радиации = 100% (если поставить значение 0.5, то защита равна 50%) Принцип прост, чем больше значение, тем больше защита. Но имеется также иммунитет самого костюма: chemical_burn_immunity = 0.03, если поставить значение равное 1.0, то в местах химического заражения костюм будет очень быстро изнашиваться, а если установить значение 0.0, то можно часами стоять в химически заражённых местах и при этом костюм будет абсолютно цел!(касается экзоскелета и комбинезона со встроенным шлемом! Но также можно отредактировать шлем, об этом описано в конце статьи.) По такому принципу можно создать уникальный костюм что будет описано ниже… Создание новогокомбинезона. Открываем файл outfit.ltx и находим например тот же комбез «Заря». Начинаем редактирование… Например я сделаю его полностью неуязвимым к радиации и химикатам.(буду писать изменённые строчки т.к. весь конфиг велик и в нём легко запутаться! Найти определенный параметр, определённого костюма куда легче. ) radiation_protection = 1.0 chemical_burn_protection = 1.0 так выглядят уже изменённые параметры защиты, но не иммунитета самого костюма… После строчки [sect_stalker_outfit_immunities] находим следующее: radiation_immunity и chemical_burn_immunity присваиваем и м значение 0.0. должно получится так: radiation_immunity = 0.0 chemical_burn_immunity = 0.0 Теперь у нас абсолютная защита от радиации и химикатов, а также костюм не портится при их воздействии. Следующий этап: изменение текстуры. Открываем файл «act_stalker_neutral_2» (путь: gamedata\textures\act) и редактируем, как душе угодно)) А теперь настала пора назвать наш костюм и придумать ему описание. Открываем: «st_items_outfit» (путь: gamedata\configs\text\rus) Находим строчки <string id="stalker_outfit_name"> <text>Комбинезон «Заря»</text> Меняем слова: «Комбинезон «Заря»» на своё, например «Комбенизон «Закат»» Потом ищем строчки: <string id="stalker_outfit_description"> <text>Производимый народными умельцами комбинезон сталкера представляет собой сочетание двухслойной прорезиненной ткани с плексигласовой прокладкой и встроенного бронежилета. Несмотря на то, что бронежилет пробивается даже пистолетной пулей, костюм очень распространён из-за дешевизны и широких возможностей для улучшения. Оснащён встроенными контейнерами для артефактов.</text> Теперь пишем своё вместо то что выделено выше, например: <string id="stalker_outfit_description"> <text>Создан Карданом для своих друзей Баржи и Шутника перед последней их вылазкой. Из каких материалов сделан неизвестно, кроме того что за основу был взят комбинезон «Заря». Обладает отличным защитным свойством против радиации и химикатов. </text> Вот и готов наш костюм, можно тестировать. Создание новогошлема. Открываем файл outfit.ltx находится он "gamedata/configs/misc/"
И так для начала разберемся что и как,возмём к примеру стандартный шлем [helm_respirator] его код выглядит так:
[helm_respirator]:helmet - название секции шлема,именно к нему игра будет обращаться.helmet базовая (наследуемая) секция (изменять строго не рекомендуется). $spawn = "outfit\helm_respirator" - тут у нас спавн менять его не будем, оставим стандартный visual = dynamics\outfit\helm_respirator - тут у нас модель шлема control_inertion_factor = 1.0 - управление инертион фактором inv_name = st_helm_respirator - название шлема в инвентаре. inv_name_short = st_helm_respirator - название шлема в инвентаре. description = st_helm_respirator_descr - ссылка на описание шлема
inv_weight = 4.0 - Вес шлема
inv_grid_width = 2 - Ширина иконки в ui_icon_equipment.dds inv_grid_height = 2 - Высота иконки в ui_icon_equipment.dds inv_grid_x = 4 - Положение по Х в ui_icon_equipment.dds inv_grid_y = 18 - Положение по У в ui_icon_equipment.dds
upgr_icon_x = 20 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds upgr_icon_y = 619 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds upgr_icon_width = 106 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds upgr_icon_height = 149 - Тут всё тоже самое но только для иконки Апгрейда - ui_actor_armor.dds
cost = 1000 - Цена
immunities_sect = sect_helm_respirator_immunities - секции имунитета bones_koeff_protection = actor_helm_respirator - это помоему защита головы ГГ
telepatic_protection = 0.0200 - защита от телепатии radiation_protection = 0.0015 - защита от радиации chemical_burn_protection = 0.0500 - защита от химических ожогов
upgrades = up_gr_firstab_helm_respirator - это код на Апгрейд installed_upgrades = upgrade_scheme = upgrade_scheme_helm_respirator - это код на схему Апгрейд
[sect_helm_respirator_immunities] - коэффициенты иммунитета самого костюма, то есть - то, насколько сильно он сам подвержен повреждениям от различных типов воздействий. по значениям каждого типа
burn_immunity = 0.04 - защита от воздействия огня (костры,аномалия "Жарка" и т.д.) strike_immunity = 0.0 - защита от ударов (наносятся мутантами, например, псевдогигантом) shock_immunity = 0.04 - ащита от поражения электричеством. wound_immunity = 0.0 - защита от ранений (наносятся мутантами, например, собаками, кровососами и т.д.) wound_2_immunity = 0.0 - защита от ранений (наносятся мутантами, например, собаками, кровососами и т.д.) radiation_immunity = 0.0 - защита от радиации. telepatic_immunity = 0.0 - защита от пси-воздействия (например, присутствие контроллера серьезно влияет на psy_health) chemical_burn_immunity = 0.04 - защита от химического воздействия. explosion_immunity = 0.04 - защита от взрывов/осколков. fire_wound_immunity = 0.04 - защита от огнестрельного оружия.
PS - ПРИ СОЗДАНИИ НОВОГО ШЛЕМА НЕ ЗАБУДьТЕ ДОБАВИТЬ ИНКЛУД,ОНИ НАХОДЯТСЯ В САМОМ ВЕРХУ ФАЙЛА outfit.ltx #include "outfit_upgrades\helm_respirator_up.ltx" P.S. принцип тот же, что и с комбинезонами… Не хочу все расписывать. Удачи!
1) Создаем файл effect_blood.script и записываем туда следущее:
\\\Код\\\
function wounded_pp_update() if (chk_h_t or 0) < time_global() then chk_h_t = time_global()+1000 if prev_health > (db.actor.health + lite_treshold) then level.add_pp_effector("fire_hit.ppe", 2011, false) local effector_power = (prev_health - db.actor.health)*100*effector_power_coeff level.set_pp_effector_factor(2011, effector_power) if prev_health > db.actor.health + crit_treshold then level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") local snd_obj = xr_sound.get_safe_sound_object([[actor\pain_3]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) if math.random() < drop_item_on_crit_prob then local active_item = db.actor:active_item() if active_item and active_item:section() ~= "bolt" and active_item:section()~= "wpn_knife" then db.actor:drop_item(active_item) end end end end prev_health = db.actor.health end end
Пояснение:
lite_treshold = 0.05 -- насколько должно уменьшиться здоровье с предыдущего обновления чтоб экран окрасился в красный crit_treshold = 0.30 -- насколько должно уменьшиться здоровье с предыдущего обновления чтоб ГГ начало шатать drop_item_on_crit_prob = 0.20 -- вероятность того что ГГ выронит оружие effector_power_coeff = 0.7 -- временно неизвестно! prev_health = -1-- временно неизвестно! chk_h_t = 0-- временно неизвестно!
2) Далее открываем bind_stalker.script и после строчек:
function actor_binder:update(delta) object_binder.update(self, delta) local time = time_global() game_stats.update (delta, self.object)
пишем:
effect_blood.wounded_pp_update()
config>weathers>weather_default.ltx
вначале список-это время, потом характеристики для каждого часа
96523,1643) local params=amk.read_stalker_params(obj) params.custom="[logic]\ncfg = scripts\\test_npc_logic.ltx" amk.write_stalker_params(params,obj) end
Прописываем функцию в любой диалог и разговариваем в игре. В итоге наш НПС заспавнится в домике, где стоит Сумасшедший сталкер (на милитари).
Файлы:spawn_sections.ltx,devices.ltx,любой стандартный диалог. Для того, чтобы замерить координаты можно воспользоватся аддончиком Position Informer.
1.Создаём файл ваше_название_скрипта.script в папке gamedata/scripts и пишем в него:
Код function ваше_название_функции() $$$НАЗВАНИЕ ФУНКЦИИ$$$ alife():create(section,position,levelvertex,gamevertex) $$$ЭТО ТОЧКА ГДЕ СПАВНИТСЯ ПРЕДМЕТ$$$ end
2.В папке config/scripts создаём файл m_taynik.ltx и пишем в него: Код [spawn]$$$ Это то, что появится в тайнике $$$ предмет предмет предмет предмет предмет
3. Открываем файл spawn_sections.ltx из папки gamedata/config/creatures и пишем:
Код <action>ваше_название_скрипта.ваше_название_функция</action>
Например в dialogs_trading.xml в диалоге doctor_dialog_start после фразы doctor_dialog_start_13 Пишем <action>ваше_название_скрипта.ваше_название_функции</action>
Теперь после того как поговорите с Доктором (NLC5) по заданным координатам появится рюкзак.
Содержание 1 Небольшое вступление 2 Описание параметров 3 Небольшая наглядность 4 Авторы
Небольшое вступление
"Перемещающиеся" аномалии с самого момента релиза очень заинтересовали коммьюнити. Выдвигалось множество предположений о принципе их работы. На самом деле, всё сделано достаточно незамысловато. В свойствах аномалий прописываются параметры, в которых указывается в какой промежуток времени они будут активны. Таким образом создаются целые цепочки из аномалий, параметры которых взаимосвязаны. В оригинале всего две таких цепочки: в туннеле на Кордоне и в подземелье Агропрома.
Описание параметров
Всего используются три параметра: enabled_time - через какое время после начала отсчёта аномалия включится. disabled_time - через какое время после начала отсчёта аномалия отключится. start_time_shift - на сколько сдвинется момент начала отсчёта времени. (Использовать необязательно)
После отключения аномалии процесс повторяется. Следующее включение произойдёт через промежуток времени прописанный в disable_time.
В Level Editor'е эти параметры находятся в свойствах аномалии. При использовании ACDC параметры прописываются "в теле" нужной аномалии. Значения указываются в секундах.
Небольшая наглядность
Создадим "перемещающуюся" аномалию, которая будет менять своё местоположение каждые четыре секунды. Для этого создадим несколько аномалий (для примера взято 3 штуки).
Для первой аномалии пропишем: enabled_time = 4 disabled_time = 8 start_time_shift = 8
Таким образом, первой будет активироваться третья аномалия, работать четыре секунды и деактивироваться. Сразу после неё будет активироваться вторая аномалия, работать 4 секунды, ну и так далее... Вот так и создаётся ощущение того, что аномалия перемещается. Конечно, это только один из примеров использования этих параметров. Обладая должным желанием и терпением, можно делать целые аномальные поля, где каждая аномалия будет вести себя независимо от других, но вместе они будут образовывать смертельно опасное место.
Авторы
Статья создана: Xarvius
1. Для начала, в gamedata\sounds\characters_voice\scenario\ создать папку, например, esc_mafon. И в получившуюся директорию: gamedata\sounds\characters_voice\scenario\esc_mafon\ положить музыку с названием day_music_1.ogg, day_music_2.ogg и т.д. (будет играть днём). И в эту же папку добавляем night_music_1.ogg, night_music_2.ogg, ... (будет играть ночью). 2. В файл sound_theme.script (gamedata\scripts\) добавить: Код ph_snd_themes["day_music"] = {"characters_voice\\scenario\\esc_mafon\\day_music_1", "characters_voice\\scenario\\esc_mafon\\day_music_2", "characters_voice\\scenario\\esc_mafon\\day_music_3", "characters_voice\\scenario\\esc_mafon\\day_music_4", "characters_voice\\scenario\\esc_mafon\\day_music_5", "characters_voice\\scenario\\esc_mafon\\day_music_6", "characters_voice\\scenario\\esc_mafon\\day_music_7", "characters_voice\\scenario\\esc_mafon\\day_music_8", "characters_voice\\scenario\\esc_mafon\\day_music_9", "characters_voice\\scenario\\esc_mafon\\day_music_10" }
Я довёл счёт до 10-ти файлов. Можно продолжить - зависит от того, сколько песен планируется добавить. 3. Распаковать all.spawn и в в файл alife_l01_escape.ltx добавить в конце: Код [888] ; cse_abstract properties section_name = physic_object name = esc_mafon position = -212.976898193359,-22.2855587005615,-127.408164978027 direction = 0,2.40000009536743,0
В первом варианте, музыка с дневной на ночную, переключится сразу, как наступит ночь. Во втором варианте, музыка так же переключится с наступлением ночи, но песня не прервётся, а доиграется до конца. Второй вариант, так скажем, по красивее будет.
Actor.ltx
Параметры передвижения max_item_mass = ; необходимо изменить также параметр max_weight в system.ltx jump_speed = ;высота прыжка crouch_coef = ;скорость передвижения главного героя на корточках climb_coef = ;скорость перемещения гг по лестницам run_coef = ;скорость обычного бега sprint_koef = ;коеффициент, умножая на который, получаем скорость бега в спринте run_back_coef = ;коеффициент, умножая на который, получаем скорость бега спиной вперед walk_back_coef = ;коеффициент, умножая на который, получаем скорость движения спиной вперед air_control_param = walk_accel =
Параметры сложности hit_probability_gd_novice = 0.20 Пули, попадающие в цель и выпущенные NPC. Уровень игры "Новичок" - меткость NPC 20% hit_probability_gd_stalker = 0.30 - меткость NPC 30% hit_probability_gd_veteran = 0.40 - меткость NPC 40% hit_probability_gd_master = 0.50 - 50% пуль, выпущенные НПС, попадают в цель В частности, если прописать эти 4-ре параметра "hit_probability_gd_*" в каждый файл с оружием "wpn_*.ltx", то в результате npc из разного оружия будут стрелять с разной точностью, с той, которую вы укажете для разного уровня сложности игры.
Пример: В игре автомат Абакан точнее АК74, но из-за того что параметры hit_probability_gd_* едины для всех видов оружия, НПС будут стрелять из этих двух автоматов с одинаковой точностью. Чтобы исправить это, можно прописать эти параметры к Абакану и а АК74, но поменяв значения: Абакан (wpn_abakan.ltx) - hit_probability_gd_master = 0.55 AK74 (wpn_ak74.ltx) - hit_probability_gd_master = 0.50
Теперь НПС на уровне игры "Мастер" будут стрелять из Абакана чуть точнее (на 5%) чем из АК74.
Коэффициэнты иммунитета при повышении сложности в секциях [actor_immunities_gd_*]: 1 - новичок 2 - сталкер 3 - ветеран 4 - мастер Параметр 1 2 3 4 название burn_immunity = 0.5 0.65 0.8 1.0 огонь (костры, огненные аномалии и т.п.) strike_immunity = 0.5 0.65 0.8 1.0 удар (падение с большой высоты, столкновение, аномалии типа "трамплин" и т.п.) shock_immunity = 0.5 0.65 0.8 1.0 электрошок wound_immunity = 0.5 0.65 0.8 1.0 разрыв (порезы, атаки животных и т.п.) radiation_immunity = 0.5 0.65 0.8 1.0 радиация telepatic_immunity = 0.5 0.65 0.6 1.0 пси воздействие chemical_burn_immunity = 0.5 0.65 0.8 1.0 химческие вещества explosion_immunity = 0.1 0.3 0.6 1.0 стойкость к взрывам fire_wound_immunity = 0.5 0.65 0.8 1.0 пулестойкость
Значение "0.0" - абсолютная стойкость к воздействию Значение "1.0" - без иммунитета к воздействию
Alife.ltx
Содержание 1 Alife.ltx 2 Смена длительности дня и ночи 3 Время и дата старта игры 4 Период автосохранения 5 Радиус загрузки локации 6 Авторы
Alife.ltx
Я думаю каждый из вас натыкался на это файл? Сейчас я объясню, что в нём можно изменить.
Смена длительности дня и ночи За это отвечает строка #time_factor = 10; 1; ;396.0; если значение 10 поменять на 1, то время в игре начнёт тянуться как у нас с вами в настоящей жизни (при это будет иметь смысл спать, сидеть у костра, есть и т.п.)) Время и дата старта игры
отвечают за время и дату начала игры (пригодится для модификаций с новым сюжетом)
Период автосохранения
Строка autosave_interval = 01:05:00
отвечает за промежуток между автоматическим сохранением игры.
Радиус загрузки локации
Строка switch_distance = 150;0 ;150 ;75.0
(Внимание! Лучше не трогать!) отвечает за радиус загрузки локации, надеюсь для вас не секрет, что игра загружает не всё локацию сразу, так вот изменяя первое число, мы изменяем радиус загрузки локации.
Авторы
Статья создана: Хемуль
Inventory new.xml
Оформление инвентаря:
По пути gamedata.db0/config/ui/ лежит файл inventory_new.xml содержащий координаты объектов инвентаря.
Инвентарные слоты состоят из багграундных текстур, и слотовых сеток.
К примеру строки <belt_slots x="0" y="80" width="1024" height="172"> <texture>ui_slots_belt</texture> </belt_slots>
содержат координаты (x="0" y="80") и размер (width="1024" height="172") багграундной текстурки ui_slots_belt для двух оружейных слотов и слота ремня.
содержат координаты (x="645" y="136"), размер сетки(width="410" height="60"), размер одной ячейки сетки (cell_width = "60" cell_height="60"), число строк (rows_num="1") и столбцов (cols_num="5") слотовой сетки инвентаря.
Отсчет координат x y идет с левого верхнего угла.
Меняя значения приведенных значения можно изменять внешний вид инвентаря.
Примеры:
Изменив значения в строках <dragdrop_belt x="645" y="136" width="410" height="60" cell_width = "60" cell_height="60" rows_num="1" cols_num="5"/>
Эти параметры проверяются когда игрок обшаривает контейнер или начинает торговаться с кем-то.
Если стоит false то вещь находящаяся в слоте при обшаривании или торговле будет автоматически выложена из слота в рюкзак. Если стоит true то при обшаривании/торговле вещь останется в слоте.
При завершении торговли или обшаривании контейнера, слоты автоматом забирают в себя соответствующие вещи из рюкзака. (если конечно эти вещи остались в рюкзаке - не были проданы или выложены в контейнер)
вместо true выставить false при обшаривании или торговле в рюкзаке можно увидеть ПДА, фонарик, детектор, нож, болты, которые в обычном режиме в инвентаре не отображаются.
Со временем будут дополнения, исправления и т.п. В общем всё будет редактироваться и делаться на лучший лад)))Если нашли ошибку или недочёт, ну или просто у вас есть вопросы, пишите в ЛС!
Как изменить время респауна? В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\scripts\se_respawn.scripts убить строку idle_time:setHMSms( 0, 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) и исправить на idle_time:setHMSms( math.random(Первое число, Второе число), 0, 0, math.random(self.idle_spawn_min, self.idle_spawn_max)*1000) где первое и второе числа задают диапазон случайной переменной в часах отвечающей за респаун.
Как увеличить респаун у сталкеров/животных? В файле \gamedata\scripts\se_repawn.scripts достаточно увеличить цифры в списке: local simMaxCount = { stalker_novice = 43, stalker_regular = 48, stalker_veteran = 43, stalker_master = 20 ... Цифра - общее количество объектов данного вида.
Как поднять камеру? (увеличить рост персонажа?) В файле S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\creatures\actor.ltx найти переменную camera_height_factor и увеличить примерно до 0.95 (это нормальный рост глаза-в-глаза).
Как изменить силу оружия? В папке S.T.A.L.K.E.R. - Shadow of Chernobyl\gamedata\config\weapons\ лежат warez конфигурации – открываешь необходимый тебе и находишь hit_power – изменяешь как тебе заблагорассудится.
Как изменить цены? На оружие – в папке \gamedata\config\weapons\ находишь нужный тебе файл и в нем строку переменную cost (в самом конце), вместо указанной цены пишешь то, что тебе нужно. Патроны – в той же папаке файл weapons.ltx в нем строка cost для каждого вида патронов. Предметы – файл \gamedata\config\misc\items.ltx – аналогично. Броня – там же файл outfit.ltx как и что менять надеюсь теперь догадаетесь))?
Как изменить носимый вес? В файле \gamedata\config\creatures\actor.ltx находим переменную max_item_mass – это максимальный вес при достижении которго игрок перестает двигаться ***ADD max_walk_weight - максимальный вес, до достижения которого можно передвигаться. В файле \gamedata\config\ system.ltx изменяем переменную max_weight – это вес который игрок несет, не напрягаясь.
Как сделать невидимые аномалии? В папке \gamedata\config\misc\ находим файл, отвечающий за интересующую нас аномалию (например грави - zone_gravi.ltx), в файле находим строку idle_particles = anomaly2\gravity_idle и коментим ее символами «--« - все визуально ничего нет. Что бы отключить еще и звуковое оповещение (а так имхо намного интереснее) находим строку visible_by_detector и миняем значение on на off.
Как сделать, чтобы еда не лечила? Находим в файле \gamedata\config\misc\items.ltx нужный нам хавчик – например, Kolbasa, под ним переменную eat_health значение которой минэем на 0
Как изменить силу врагов? В файле \gamedata\config\creatures\actor.ltx найти строки: hit_probability_gd_novice = 0.20 hit_probability_gd_stalker = 0.30 hit_probability_gd_veteran = 0.40 hit_probability_gd_master = 0.50 они отвечают за вероятность попадания по вам при разных уровнях сложности. Повышаете значение до единицы и наслаждаетесь хардкором.
Как изменить разброс при стрельбе? В файле \gamedata\config\creatures\actor.ltx находим переменную disp_base и уменьшаем – разлет уменьшается соответсвенно
Как сделать много крови? В файле \gamedata\config\system.ltx находим переменную start_blood_size и уменьшаем ее – это минимальный размер раны при котором идет кровь (у меня 0.1 стоит) чуть ниже находим blood_drop_size и увеличиваем – как понятно это размер капли крови (у меня 0.3)
Как изменить музыку в приемнике у Сидоровича? В папке \gamedata\sounds\scripts\magnitofon\ лежит файл magnitofon_2.ogg. Берем любимую музыку сохраняем в формате ogg (моно, 44000) обзываем его magnitofon_2.ogg заменяем существующий файл и вуаля - хоть «Владимирский Централ» хоть «Районы Кварталы».
Как изменить артефакты? В файле \gamedata\config\misc\artefacts.ltx находим нужный артефакт, смотрим его характеристики и меняем health_restore_speed скорость восстановления здоровья 0.0001 = +100% radiation_restore_speed скорость накопления радиации 0.0004 = 4 если поставить отрицательное число будет ускорять выведение радиации иммунитеты например 0.7 = +30% 0.2 = +80% больше единицы пойдет наоборот в минус 1.3 это -30% strike_immunity - удар shock_immunity - электрошок chemical_burn_immunity - химический ожог telepatic_immunity - телепатия radiation_immunity - радиация wound_immunity - разрыв explosion_immunity - взрыв fire_wound_immunity - огнестрел
Играю в: 'Народная Солянка' от 19.04.10 + доп. от 14.08 + патч 3.09 + скрипты от 18.11 by sapsan + текстуры by Deadmoroz & Shadowman