bones_koeff_protection

Вопрос: bones_koeff_protection = gilet_antigas_damage -как работает эта строка в конфиге
костюма (принцип или действие оной)?

Каждый костюм ГГ (и визуал непися) помимо иммунитетов имеет защиту различных участков
тела. Защита задаётся в виде различных коэффициентов повреждения для различных костей
модели. Если повреждение наносится в конкретную кость, то производится учёт соответствующих
коэффициентов. Приведённая вами строка указывает на секцию в damages.ltx,
в которой и заданы такие коэффициенты.


Описание user.ltx

Дайте плиз файл user.ltx с дефолтовыми настройками графики (всмысле без ковыряние
в этом разделе файла) или подскажите какие параметры меняются вообще для
улучшения визуальной составляющей.

Это самое подробное описание которое я пока видел:
bind [action, key] -Назначение клавиш управления. ( В игре -через настройки управления ).

Чтобы увидеть полный список, необходимо выполнить команду bind_list. Назначая клавиши,
нужно иметь ввиду, что любая назначаемая клавиша должна иметь префикс k.
cam_inert [0.0 -1.0] -Управление инерцией камеры. Проще говоря, насколько камера при движении будет раскачиваться. Для нормальной игры необходимо ставить 0.0, иначе будете
чувствовать дискомфорт.
g_always_run [on,off] -Включение/Выключение опции "Бег" по умолчанию.
Параметры настройки с r1_ или r2_ приставками воспринимаются движком игры при определённых
настройках игры.
Начинающиеся с r1_ работают только при 'Статическом Освещении' (DX8 ).
Начинающиеся с r2_ работают только при 'Динамическом Освещении Объектов'или' Полном
Динамическом Освещении' (DX9).
r1_dlights [on,off] -Включение/Выключение поддержки динамического освещения в режиме
'Статическое Освещение' (DX8 ). Так как в этом режиме единственный источник динамического
освещения -ваш фонарик, то отключение этой функции его отключит. Соответственно и наоборот.
r1_dlights_clip [10.000 -150.000] -Проще говоря, это выбор дальности свечения фонарика.
r1_glows_per_frame [2 -32] -Количество источников света для эффекта отражения от поверхностей. Визуальное изменение качества невелико.
r1_lmodel_lerp [0.000 -0.333] -Управление линейной интерполяцией модели освещения.
Увеличение немного украшает текстуры, например, вид оружия.
r1_ssa_lod_a [16.000 -96.000] -Управляет общим уровнем детализации (LOD) для мира игры.
Чем выше значение, тем больше видимость деталей объектов на расстоянии, но за счёт
снижения FPS.
r1_ssa_lod_b [16.000 -64.000] -То же, что и предыдущий параметр, но для определённых типов
объектов.
r1_tf_mipbias [-3.000 -3.000] -Управляет чёткостью удалённых текстур. При уменьшении параметра
-выше чёткость и ниже производительность. При увеличении -выше размытость
текстур и выше производительность. Учитывая, что ползунок АФ в настройках игры атрофирован,
получается, это главный способ управления фильтрацией текстур, и, следовательно,
чёткостью и ясностью удалённых текстур.
r2_gi [on,off] -Включение/Выключение режима Глобальное Освещение. Это режим более реалистичного
освещения, где отражение от поверхностей объектов освещает другие объекты.
Включение -сильно просаживает FPS, но для сильных машин это небольшая проблема.
r2_gi_clip [0.000,0.100] -Расстояние эффекта Глобального Освещения.
r2_gi_depth [1,5] -Управляет глубиной тени Глобального Освещения.
r2_gi_photons [8 256] -Количество источников света Глобального Освещения.
r2_gi_refl [0.001,0.990] -Рефлекция Глобального Освещения.
r2_gloss_factor [0.000,10.000] -определяет "глянцевитость" поверхностей (пример: при увеличении до 10 -ярко выраженный эффект "мокрого асфальта" под ногами ).
r2_aa [on,off] -Единственная форма AA, возможная для игры. Это не то же самое, что ползунок
Сглаживания в игре, и не реальная форма Сглаживания. Это не уменьшает фактическую
зубчатость контуров; это маскирует их, замыливая экран за счет некоторого FPS -вы можете
получить почти такой же эффект (без снижения FPS), управляя монитором ЖИДКОКРИСТАЛЛИЧЕСКОГО
МОНИТОРА в неродном разрешении, например.
r2_aa_kernel [0.300 -0.700] -Качество сглаживания. (Выше значение -качественнее сглаживание).
Хотя, значение 0.300 -наиболее разумное сочетание эффекта АА с ненапрягающим
блуром.
r2_aa_break [0.000000 -1.000000,0.000000 -1.000000,0.000000 -1.000000] -Расстояние, на
котором работает эффект АА. Чем больше -тем дальше. Но, так как изменения на векторной
основе, то установка их всех на иаксимум -не обязательно гарантирует лучший результат.
(Например r2_aa_break 0.000000,1.000000,0.000000 дает острые близкие образы и стертые образы на расстоянии).
r2_aa_weight [0.000000 -1.000000,0.000000 -1.000000,0.000000 -1.000000] -Обеспечивает
более точный контроль над силой эффекта размывания изображения. Чем выше значение,
тем большее размывание изображения будет осуществлено, но, опять же, изменения -на
основе вектора.
r2_allow_r1_lights [on,off] -Включение/Выключение дублирующих динамических источников
света, т.е. увеличивает существующее освещение с освещением DX8. (Включение приводит
к значительному понижению fps вблизи костров, фонарей, но значительно увеличивает bloom
эфеект и освещенность в целом).
r2_ls_bloom_fast [on,off] -Включение/Выключение эффекта легкой размытости и дополнительного
отраженного свечения объектов (bloom).
r2_ls_bloom_kernel_b [0.010 -1.000] -Качество эффекта bloom. Чем выше, тем больше.
r2_ls_bloom_kernel_g [1.000 -7.000]
r2_ls_bloom_kernel_scale [0.500 -2.000]
r2_ls_bloom_speed [0.000 -100.000]
Три вышеуказанные настройки относятся к качеству эффекта bloom. Но визуально -никак.
Может быть, на топовом видео что-нибудь и будет видно.
r2_ls_bloom_threshold [0.000 -1.000] -Управляет уровнем эффекта освещения при включен
ном bloom. Чем выше значение, тем меньше яркость эффекта. И наоборот.
r2_mblur [0.000 -1.000] -Эффект смазанности при быстром движении. Чем выше значение,
тем больше размытость изображения, например, при повороте.
r2_parallax_h [0.000 -0.500] -Является настройкой parallax mapping, отвечающего за псевдорельефность
некоторых поверхностей в игре (таких, как каменистая земля, кирпичная стена
и т.п.). Чем выше, тем эффект глубины рельефа больше.
r2_slight_fade [0.020 -2.000] -корректировка освещенности от динамических источников света (увеличение повышает освещенность).
r2_ssa_lod_a [16.000 -96.000] -Управляет общим уровнем детализации (LOD) для мира игры,
чем выше значение, тем больше видимость деталей объектов на расстоянии, но за счёт
снижения FPS.
r2_ssa_lod_b [32.000 -64.000] -То же, что и предыдущий параметр, но для определённых типов
объектов.
r2_sun [on,off] -Включение/Выключение солнца как источника света.
r2_sun_details [on/off] -Включение/Выключение теней от травы (как, возможно, и от др. мелких
объектов).
r2_sun_lumscale [-1.000 -3.000] -Коэффициент освещенности от солнечного света. (Яркость света солнца).
r2_sun_lumscale_amb [0.000 -3.000] -Коэффициент солнечной ambient-освещенности (фоновой
освещенности). Увеличение улучшает качество картинки, не увеличивая прямой свет от
солнца.
r2_sun_depth_far_bias [-0.500 -0.500]
r2_sun_depth_far_scale [0.500 -1.500]
r2_sun_depth_near_bias [-0.500 -0.500]
r2_sun_depth_near_scale [0.500 -1.500]
Эти параметры настройки, по существу, управляют уровнем деталей теней, брошенных от солнца, и границами световых и теневых областей.
r2_tf_mipbias [-3.000 -3.000] -Управляет чёткостью удалённых текстур. При уменьшении параметра
-выше чёткость и ниже производительность. При увеличении -выше размытость
текстур и выше производительность. Учитывая, что ползунок АФ в настройках игры атрофирован,
получается, что это главный способ управления фильтрацией текстур, и, следовательно,
чёткостью и ясностью удалённых текстур.
r2_tonemap [on,off] -Включение/Выключение Tone Mapping. Это поможет улучшать HDR, используемого
в игре, уменьшая контрасты и выдвигая на первый план детали по мере необходимости,
чтобы держать изображение более реалистичным.
r2_tonemap_lowlum [0.000 -1.000] -Управляет эффектом Tone Mapping на более темных областях. Чем выше это значение, тем темнее эффект HDR.
r2_tonemap_middlegray [0.000 -2.000] -Имеет самое значимое воздействие на эффект HDR.
Например, при значении 1.200 -HDR в СТАЛКЕРЕ больше походит на HDR Обливиона.
r2_sun_near_border "1" можно "0.9" -Убирает теневые артефакты (треугольники по краям
экрана)
r2_sun_focus "on" или "1" -тени будут нормально отображаться в дали.
rs_stats [on,off] -Включение/Выключение диапазона статистики игры, включая FPS.
snd_cache_size [4 -32] -Управление размером звукового кэша. Лучше выставить максимум поможет избежать возможных "заиканий".
vid_mode [WxH] -Управляет разрешением монитора.


9 советов

1.Максимально увеличить файл подкачки оперативной помяти (панель
управления\система\дополнительно\быстродействие\дополнительно).
2.Занизить качество видео в настройках игры.

3. Каждый час-два перезапускать игру (очищается файл подкачки).
4.Отключать все посторонние запущенные процессы\программы перед началом игры.
5.Переодически чистить реестр и дифрагментировать жесткий(кие) диск(и).
6.Оптимизация файла user.ltx весьма помогает.
7.Отключение дождя очень помогает.
/config/weathers
В каждом файле этой папки, название которого начинается с “weather” изменить значение
параметра “rain_density” на 0.0.
8.Вопрос: Как мне посмотреть FPS в игре?
Ответ: Через консоль,командой rs_stats on (верхняя строка).
9.Что-бы виндуфс был устойчив рекомендуеться чекиндиск делать.
Мой компьютер => ликальный диск С: => свойства => сервис => выполнить проверку =>
(флажки "Автоматически исправлять системные ошибки" и "Проверять и востанавливать повреждённые
сектора".) => запуск.
Процедура именно для С: требует перезагрузки и часовой работы.
Препятствует перезагрузке и вылету в "мёртвый экран".


"лечение едой"

Как включить функцию "лечение едой":

В папке gamedata/config/misc находиш файл items.ltx в нем находиш секции [bread], [kolbasa],
[conserva] и для каждой из них там есть параметр eat_health который нужно увеличить до
нужных дебе значений. По дефолту для bread, eat_health = 0.05, для kolbasa 0.1 и для
conserva 0.15

В этой статье я расскажу как создавать новые предметы:

Для начал находим файл items.ltx, находящийся в папке config/misc/, и копируем какой-нибудь
предмет, я, например, взял:
[bread]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =

$spawn = "food and drugs\bread"

;$prefetch = 32

class = II_FOOD

cform = skeleton

visual = weapons\bred\bred.ogf

description = enc_equipment_food_bread1

inv_name = Bread

inv_name_short = Bread

inv_weight = 0.3 ;0.2

inv_grid_width = 1

inv_grid_height = 1

inv_grid_x = 11

inv_grid_y = 9

cost = 20

attach_angle_offset = -0.287979, 1.560923, 1.544060

attach_position_offset = 0.096910, -0.013594, 0.107925

attach_bone_name = bip01_r_hand

auto_attach = false

// should be deleted after update

bone_name = bip01_r_hand

position_offset = 0.0,0.0,0.0

angle_offset = 1.570790,1.570790,3.92699

; eatable item

eat_health = 0.05

eat_satiety = 0.2

eat_power = 0

eat_radiation = 0

wounds_heal_perc = 0

eat_portions_num = -1

; food item

slot = 4

animation_slot = 4

;hud item

hud = wpn_vodka_hud

Вставляем его копию в конец, меняем название:

[bread]

На:

[test]

А также:

inv_name = Bread

inv_name_short = Bread

На:

inv_name = test

inv_name_short = test

И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test

И, также, "по желанию":

eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0

eat_portions_num = -1
Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем

string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия пропи

саны по тегам:

<string id="название из inv_name"> <text>Название в игре</text> </string>

И:

<string id="описание из description"> <text>Описание в игре</text> </string>

Пишем:

<string id="test"> <text>Тестовый предмет</text> </string>

И:

<string id="enc_equipment_food_bread1_test">

<text>Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)</text>

</string>

Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.

Открываем trader_trader из папки config/misc (работа с ним подробно описана в этой статье),

прописываем:

test = 0.3, 0.5

В секции:

[trader_generic_buy]

И далее в:

[supplies_start]

test = 10, 1

В [supplies_after_fabric]

test = 10, 1

В [trader_start_sell]

И в:

[trader_after_fabric_sell]

test = 1. 3

Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них -наш :)


"новости Зоны"

Как добавлять свои "новости Зоны"? Я хочу их побольше сделать... Да и под дух Зоны
приспособить.
PS Но и без того -они оживляют игру...

в папке с игрой, в gamedata scripts лежат:
amk_death_lists.script (от чего умер и где)
amk_names_lists.script (кто -имя)
amk_news_lists.script (место, время события, тело сообщения, добавочный мат)
amk_uniq_news_lists.script (уникальные новости)
любой из файлов открываешь блокнотом, правишь, сохраняешь.


"переодеть" НПС

Вопросы: что бы "переодеть" НПС редактируем эту строку в его конфиге:

<visual>actors\novice\green_stalker_8</visual> ?

И что-бы изменить иконку ОДЕТОГО костюма в инвентаре -какую строку надо исправить в

конфиге костюма?

1. Да.
2. Иконка меняется здесь: <icon>ui_npc_u_stalker_neytral_balon_1</icon>


id метка на миникарте

Как на существо с определённым ID повесить метку на миникарте? Задолбали
контролёры с их вылетом...

с определенным ID или определенные классы монстров?

вот какая функция есть в se_monster.script -но она отмечает ВСЕХ монстров? если же поставить
условие на определенный класс -то можно видеть только тех кого нужно.
function se_monster:on_register()
cse_alife_monster_base.on_register( self )
--'self:fill_exclusives()
--' Нарисовать мапспот с собой
if self:alive() and sim_statistic.show_monster_spot == true then
local community, rank = sim_statistic.getNpcType(self)
level.map_add_object_spot_ser(self.id, "alife_presentation_monstr", self:name().." "..community)
end
end

function se_monster:on_unregister()
cse_alife_monster_base.on_unregister( self )

--' Убрать мапспот с собой
if sim_statistic.show_monster_spot == true then
local community, rank = sim_statistic.getNpcType(self)
level.map_remove_object_spot(self.id, "alife_presentation_monstr")
end

smart_terrain.unregister_npc(self)

end

function se_monster:on_death(killer)
cse_alife_monster_base.on_death(self, killer)

--' Убрать мапспот с собой
if sim_statistic.show_monster_spot == true then
local community, rank = sim_statistic.getNpcType(self)
level.map_remove_object_spot(self.id, "alife_presentation_monstr")
end
end


user.ltx от СтальКрыса.

Шаманство с видеокартой от СтальКрыса:

Берем правленый user.ltx (его смотрим ниже), копируем его вместо своего.

Запускаем игру. Заходим в консоль (нажать '~') и набираем:
renderer renderer_r1 ENTER
vid_restart ENTER
quit ENTER

Опять запустить игру и теперь в консоли сделать:
renderer renderer_r2 ENTER
vid_restart ENTER
quit ENTER

Запускаем игру и больше не лезем в настройки графики. Играем. Можно только клавиши поменять,
а то у меня немного по другому назначены.

правленый user.ltx

_preset Default
ai_use_torch_dynamic_lights on
cam_inert 0.
cam_slide_inert 0.25
cl_cod_pickup_mode 1
cl_dynamiccrosshair on
g_always_run on
g_autopickup on
g_backrun on
g_corpsenum 10
g_eventdelay 0
g_game_difficulty gd_veteran
hud_crosshair on
hud_crosshair_dist off
hud_info on
hud_weapon on
load_last_save bar
mm_mm_net_srv_dedicated off
mm_net_con_publicserver off
mm_net_con_spectator 20
mm_net_con_spectator_on off
mm_net_filter_empty on
mm_net_filter_full on
mm_net_filter_listen on
mm_net_filter_pass on
mm_net_filter_wo_ff on
mm_net_filter_wo_pass on
mm_net_srv_gamemode st_deathmatch
mm_net_srv_maxplayers 32
mm_net_srv_name BLACKBOX
mm_net_srv_reinforcement_type 1
mm_net_weather_rateofchange 1.
mouse_invert off
mouse_sens 0.32
net_cl_icurvesize 0
net_cl_icurvetype 0
net_cl_interpolation 0.
net_cl_log_data off
net_dbg_dump_export_obj 0
net_dbg_dump_import_obj 0
net_dbg_dump_update_read 0
net_dbg_dump_update_write 0
net_dedicated_sleep 5
net_sv_gpmode 0
net_sv_log_data off
net_sv_pending_lim 3
net_sv_update_rate 30
ph_frequency 75.00000
ph_iterations 24
r1_dlights on
r1_dlights_clip 10.
r1_glows_per_frame 16
r1_lmodel_lerp 0.1
r1_pps_u -1.
r1_pps_v 0.
r1_ssa_lod_a 64.
r1_ssa_lod_b 48.
r1_tf_mipbias 0.
r2_aa off
r2_aa_break 0.800000,0.500000,0.000000
r2_aa_kernel 0.5
r2_aa_weight 0.250000,0.250000,0.000000
r2_allow_r1_lights off
r2_gi off
r2_gi_clip 0.001
r2_gi_depth 1
r2_gi_photons 16
r2_gi_refl 0.9
r2_gloss_factor 1.4
r2_ls_bloom_fast off
r2_ls_bloom_kernel_b 0.7
r2_ls_bloom_kernel_g 3.
r2_ls_bloom_kernel_scale 0.7
r2_ls_bloom_speed 100.
r2_ls_bloom_threshold 0.001
r2_ls_depth_bias -0.0003
r2_ls_depth_scale 1.00001
r2_ls_dsm_kernel 0.7
r2_ls_psm_kernel 0.7
r2_ls_squality 0.5
r2_ls_ssm_kernel 0.7
r2_mblur 0.
r2_parallax_h 0.04
r2_slight_fade 0.05
r2_ssa_lod_a 96.
r2_ssa_lod_b 64.
r2_sun on
r2_sun_depth_far_bias -0.00001
r2_sun_depth_far_scale 1.
r2_sun_depth_near_bias 0.00001
r2_sun_depth_near_scale 1.
r2_sun_details off
r2_sun_focus on
r2_sun_lumscale 1.
r2_sun_lumscale_amb 0.5
r2_sun_lumscale_hemi 1.
r2_sun_near 12.
r2_sun_near_border 1.
r2_sun_tsm on
r2_sun_tsm_bias -0.01
r2_sun_tsm_proj 0.3
r2_tf_mipbias 0.
r2_tonemap on
r2_tonemap_adaptation 1.
r2_tonemap_amount 0.7
r2_tonemap_lowlum 0.0001
r2_tonemap_middlegray 0.6
r2_wait_sleep 0
r2_zfill off
r2_zfill_depth 0.5
r2em 2.
r__detail_density 0.44
r__geometry_lod 1.2
r__supersample 4
r__tf_aniso 12
renderer renderer_r2
rs_c_brightness 1.
rs_c_contrast 1.
rs_c_gamma 1.
rs_fullscreen on
rs_refresh_60hz off
rs_stats off
rs_v_sync off
rs_vis_distance 1.
snd_acceleration on
snd_cache_size 32
snd_efx off
snd_targets 24
snd_volume_eff 1.
snd_volume_music 0.8
sv_anomalies_enabled 1
sv_anomalies_length 3
sv_artefact_respawn_delta 30
sv_artefact_spawn_force 0
sv_artefact_stay_time 3
sv_artefacts_count 10
sv_auto_team_balance 0
sv_auto_team_swap 1
sv_bearercantsprint 1
sv_client_reconnect_time 60
sv_console_update_rate 1
sv_dedicated_server_update_rate 100
sv_dmgblockindicator 1
sv_dmgblocktime 0
sv_forcerespawn 0
sv_fraglimit 10
sv_friendly_indicators 0
sv_friendly_names 0
sv_friendlyfire 1.
sv_hail_to_winner_time 7
sv_max_ping_limit 2000
sv_pda_hunt 1
sv_reinforcement_time 20
sv_remove_corpse 1
sv_remove_weapon 1
sv_returnplayers 1
sv_rpoint_freeze_time 0
sv_shieldedbases 1
sv_spectr_firsteye 1
sv_spectr_freefly 0
sv_spectr_freelook 1
sv_spectr_lookat 1
sv_spectr_teamcamera 1
sv_statistic_collect 1
sv_statistic_save_auto 0
sv_teamkill_limit 3
sv_teamkill_punish 1
sv_timelimit 0
sv_vote_enabled 255
sv_vote_participants 0
sv_vote_quota 0.51
sv_vote_time 1.
sv_warm_up 0
texture_lod 2
vid_mode 1024x768


user.ltx под слабые машины

Оптимизация сталкера под слабые машины.

Сначала найдите у себя файл user.ltx, расположенный по адресу C:\Documents and Settings\
All Users\Документы\STALKER-SHOC\user.ltx и замените все содержимое в нем на нижеследующее:

_preset Default
ai_use_torch_dynamic_lights on
unbindall
bind left kLEFT
bind right kRIGHT
bind up kUP
bind down kDOWN
bind jump kSPACE
bind crouch kLCONTROL
bind crouch_toggle kSLASH
bind accel kLSHIFT
bind sprint_toggle kX
bind forward kW
bind back kS
bind lstrafe kD
bind rstrafe kA
bind llookout kQ
bind rlookout kE
bind cam_zoom_in kADD
bind cam_zoom_out kSUBTRACT
bind torch kL
bind night_vision kN
bind wpn_1 k1
bind wpn_2 k2
bind wpn_3 k3
bind wpn_4 k4
bind wpn_5 k5
bind wpn_6 k6
bind artefact k7
bind wpn_next kY
bind wpn_fire mouse1
bind wpn_zoom mouse2
bind wpn_reload kR
bind wpn_func kV
bind wpn_firemode_prev k9
bind wpn_firemode_next k0
bind pause kPAUSE
bind drop kG
bind use kF
bind scores kTAB
bind chat kCOMMA
bind chat_team kPERIOD
bind screenshot kF12
bind quit kESCAPE
bind console kGRAVE
bind inventory kI
bind buy_menu kB
bind skin_menu kO
bind team_menu kU
bind active_jobs kP
bind map kM
bind contacts kH
bind vote_begin kF5
bind vote kF6
bind vote_yes kF7
bind vote_no kF8
bind speech_menu_0 kC
bind speech_menu_1 kZ
bind use_bandage kRBRACKET
bind use_medkit kLBRACKET
cam_inert 0.
cam_slide_inert 0.25
cl_cod_pickup_mode 1
cl_dynamiccrosshair on
g_always_run on
g_autopickup on
g_backrun on
g_corpsenum 10
g_eventdelay 0
g_game_difficulty gd_stalker
hud_crosshair on
hud_crosshair_dist off
mm_mm_net_srv_dedicated off
mm_net_con_publicserver off
mm_net_con_spectator 20
mm_net_con_spectator_on off
mm_net_srv_gamemode st_deathmatch
mm_net_srv_maxplayers 32
mm_net_srv_name BLACKBOX
mm_net_srv_reinforcement_type 1
mm_net_weather_rateofchange 1.
mouse_invert off
mouse_sens 0.32
net_cl_icurvesize 0
net_cl_icurvetype 0
net_cl_interpolation 0.
net_cl_log_data off
net_cl_pending_lim 3
net_cl_update_rate 30
net_dedicated_sleep 5
net_sv_log_data off
net_sv_pending_lim 3
net_sv_update_rate 30
ph_frequency 75.00000
ph_iterations 24
r1_dlights on
r1_dlights_clip 10.
r1_glows_per_frame 16
r1_lmodel_lerp 0.1
r1_pps_u -1.
r1_pps_v 0.
r1_ssa_lod_a 64.
r1_ssa_lod_b 48.
r1_tf_mipbias 0.
r2_aa off
r2_aa_break 0.800000,0.500000,0.000000
r2_aa_kernel 0.5
r2_aa_weight 0.250000,0.250000,0.000000
r2_allow_r1_lights off
r2_gi off
r2_gi_clip 0.001
r2_gi_depth 1
r2_gi_photons 16
r2_gi_refl 0.9
r2_gloss_factor 1.4
r2_ls_bloom_fast off
r2_ls_bloom_kernel_b 0.7
r2_ls_bloom_kernel_g 3.
r2_ls_bloom_kernel_scale 0.7
r2_ls_bloom_speed 100.
r2_ls_bloom_threshold 0.001
r2_ls_depth_bias -0.0003
r2_ls_depth_scale 1.00001
r2_ls_dsm_kernel 0.7
r2_ls_psm_kernel 0.7
r2_ls_squality 0.5
r2_ls_ssm_kernel 0.7
r2_mblur 0.
r2_parallax_h 0.04
r2_slight_fade 0.05
r2_ssa_lod_a 96.
r2_ssa_lod_b 64.
r2_sun on
r2_sun_depth_far_bias -0.00001
r2_sun_depth_far_scale 1.
r2_sun_depth_near_bias 0.00001
r2_sun_depth_near_scale 1.
r2_sun_details off
r2_sun_focus on
r2_sun_lumscale 1.
r2_sun_lumscale_amb 0.5
r2_sun_lumscale_hemi 1.
r2_sun_near 12.
r2_sun_near_border 0.75
r2_sun_tsm on
r2_sun_tsm_bias -0.01
r2_sun_tsm_proj 0.3
r2_tf_mipbias -3.
r2_tonemap on
r2_tonemap_adaptation 1.
r2_tonemap_amount 0.7
r2_tonemap_lowlum 0.0001
r2_tonemap_middlegray 0.6
r2_wait_sleep 0
r2_zfill off
r2_zfill_depth 0.5
r2em 2.
r__detail_density 0.44
r__geometry_lod 1.2
r__supersample 4
r__tf_aniso 12
renderer renderer_r2
rs_c_brightness 1.
rs_c_contrast 1.
rs_c_gamma 1.2
rs_fullscreen on
rs_refresh_60hz off
rs_stats off
rs_v_sync off
rs_vis_distance 1.
snd_acceleration on
snd_cache_size 32
snd_efx on
snd_targets 24
snd_volume_eff 0.8
snd_volume_music 1.
sv_anomalies_enabled 1
sv_anomalies_length 3
sv_artefact_respawn_delta 30
sv_artefact_stay_time 3
sv_artefacts_count 10
sv_auto_team_balance 0
sv_auto_team_swap 1
sv_bearercantsprint 1
sv_client_reconnect_time 60
sv_console_update_rate 1
sv_dedicated_server_update_rate 100
sv_dmgblockindicator 1
sv_dmgblocktime 0
sv_forcerespawn 0
sv_fraglimit 10
sv_friendly_indicators 0
sv_friendly_names 0
sv_friendlyfire 1.
sv_hail_to_winner_time 7000
sv_pda_hunt 1
sv_pending_wait_time 10000
sv_reinforcement_time 0
sv_remove_corpse 1
sv_remove_weapon 1
sv_returnplayers 1
sv_rpoint_freeze_time 0
sv_shieldedbases 1
sv_spectr_firsteye 1
sv_spectr_freefly 0
sv_spectr_freelook 1
sv_spectr_lookat 1
sv_spectr_teamcamera 1
sv_statistic_collect 1
sv_statistic_save_auto 0
sv_timelimit 0
sv_vote_enabled 1
sv_vote_participants 0
sv_vote_quota 0.51
sv_vote_time 1.
sv_warm_up 0
texture_lod 2
vid_mode 1280x1024

Эта оптимизации позволит даже на низких и минимальных настройках улучшить графику.
Она идеально подходит для слабых, на "сталкеровский" взгляд, машин с расширением
монитора 1280x1024.


аддон к оружию "глушитель"

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

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

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_hit_power, silencer_hit_impulse,

silencer_fire_distance, silencer_bullet_speed)

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

беруться данные из конфига аддон "глушитель" (bullet_hit_power_k, bullet_speed_k,

fire_dispersion_base_k, cam_dispersion_k)

В случае silencer_status = 1, данные представлены сразу в готовом виде и тупо заменяют соответствующие данные оружия

В случае silencer_status = 2, данные оружия нужно множить на коэффициент указанный в аддоне "глушитель".


Активация артефакта

Активация артефактами аномалии:

Распишу по пунктам как добавить например к "огненому шару" аномалию Жарка...
Открываете файл: gamedata/config/misc/artefacts.ltx
И там в самом начале файла такая секция:
;Артефакты, которые при активизации создают аномальные зоны
;формат: {секция_артефакта} = {секция_зоны},Radius,Power
[artefact_spawn_zones]
af_medusa = zone_mosquito_bald_weak, 2.0, 30.0
Обозначает что артефакт af_medusa при активации создаст аномальную зону

zone_mosquito_bald_weak с радиусом 2 метра и мощностью 30 (возможно влияет и на время
жизни аномалии)
Кончается этот список по идее строчкой: mp_af_electra_flash = zone_witches_galantine, 3, 50.0
и сразу после неё пишете: af_fireball = zone_zharka_static, 3, 30.0
В принципе можно прописать там не статик а zone_zharka_weak незнаю что из них правильнее
использовать... статик работает тоже.В той-же папке есть файл zone_zharka, где описаны
свойства зон _weak, _average, _strong( слабая, средняя, сильная), а также зона
zone_zharka_static.

После этого у вас игра станет вылетать с ошибкой про невозможность обнаружить последовательность описывающую анимацию активации аномалии.
А это всё там же в начале файла чуть ниже того где вы добавили новый артефакт в список
есть такие строчки:

[af_activation_gravi]

;-----------------------------------------------------------------------------------------------------------------------------------

;format: time(sec), sound_name, light_R,G,B, light_range,
particle_name, af_animation_name

;-----------------------------------------------------------------------------------------------------------------------------------

--starting
= 5.0,
"anomaly2artefact_gravi_blasanomalygravi_idle00,
t_start", "idle"
0.5, 1.0, 1.5, 5.0,
flying = 2.0,
"anomaly2artefactartefact_gravi",
anomalygravi_idle01,
"idle"
0.8, 1.0, 1.2, 3.0,
idle_before_spawning =
"anomaly2artefact_gravi_blas5.0, anomalygravi_bt_finished", "idle"
lowout5, 1.0, 1.0, 1, 0.0,
spawning
"idle"
= 1, anomalygravity_entrance, 0.9, 1.1, 1.01, 0.0, "",

Что как раз и описывает анимацию..

По-хорошему надо написать свою анимацию к жарке но это честно говоря не обязательно...

потому что нам сейчас важна не красота а работоспособность.... Так вот... из заголовка

"[af_activation_gravi]" берем название последовательности af_activation_gravi и ищем сам ар

тефакт af_fireball (кто уже забыл зачем, мы на него собирались вешать новую активацию)

Найдете что-то вроде:

[af_fireball]:af_base

GroupControlSection = spawn_group

$spawn = "artifactszharka fireball"

$npc = on ; option for Level Editor

;$prefetch = 3

cform = skeleton

class = ARTEFACT

visual = physicsanomalyartefact_fire.ogf

description = enc_zone_artifact_af-fireball

inv_name = af-fireball

И где-нибудь тут добавляете строчку: artefact_activation_seq = af_activation_gravi

И на этом всё. Прописываем в artefacts.ltx в блоке [af_base]:identity_immunities вместо ;slot=10
вот это: slot=1. Насколько я знаю, знак ; зоначает, что строка закомментирована(неактивна) У
себя я прописывал slot=1 между строчками inv_name = af-electra-moonlight inv_name_short =
inv_weight = 0.05 slot = 1 inv_grid_x = 10 inv_grid_y = 10 для того артефакта, который хочу активировать.

В игре берем артефакт в первый слот и активируем длительным нажатием на ЛКМ.


Аптечки вызывающие сон.

Скажите а какой файл нужно редактировать дабы изменить свойства аптечек , а конкретнее,
их влияние на желание меченного спать?

во-первых, в файле amk_mod.script надо раскомментировать строки:

Код

--'elseif (section=="medkit" or section=="medkit_army" or section=="medkit_scientic") then

--' stype="med"

то есть сделать так:

Код

elseif (section=="medkit" or section=="medkit_army" or section=="medkit_scientic") then
stype="med"

затем в этом же файле раскомметировать функцию:

Код

--[[

function test_for_need_sleep_med(oid)
if alife():object(oid)==nil then
amk.save_variable("gg_need_sleep",amk.load_variable("gg_need_sleep",0)+5)
test_sleep_pp()
end

end

]]-

то есть сделать так:

Код

function test_for_need_sleep_med(oid)
if alife():object(oid)==nil then
amk.save_variable("gg_need_sleep",amk.load_variable("gg_need_sleep",0)+5)
test_sleep_pp()
end

end

наконец, в файле amk.script раскомментировать следующее:

Код

--[[
if select_string=="sleep_med" then
mod_call("test_for_need_sleep_med",params_string)
end
]]-

то есть сделать так:

Код

if select_string=="sleep_med" then
mod_call("test_for_need_sleep_med",params_string)
end New Topic (Press Shift-Enter to insert a line break. Press Enter to add a paragraph return.)


Артефакты

Параметры артефактов:

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 -огнестрел.


бегать в экзе

Как сделать что-бы можно было бегать в экзе

в файле outfits.ltx находишь нужную броню и вписываешь эту строку.
sprint_allowed = false
sprint_allowed = true -чтобы низя было бегать


больше "раненных" сталкеров

Есть вопрос: в каких файлах и какие параметры (и на какие) надо менять, чтобы стало
больше "раненных" сталкеров (те к-ые орут дай аптечку). И раз уж на то пошло расскажите
про damage.ltx

Попробуй в файле xr_wounded.script изменить это:

Код:
def.hp_state = "10|"..state.."@help_heavy"
def.hp_state_see = "10|"..state.."@help_heavy"

на это:

Код:
def.hp_state = "50|"..state.."@help_heavy"
def.hp_state_see = "50|"..state.."@help_heavy


Броня

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

Рассмотрим:Комбинезон призрачного сталкера

[outfit_stalker_m1]:stalker_outfit ;Комбинезон призрачного сталкера -название костюма
$spawn = "outfit\uniq\outfit_stalker_m1
inv_name = stalker_outfit_name_m1
inv_name_short = stalker_outfit_name_m1
description = stalker_outfit_description_m1
health_restore_speed = 0.0 -скорость востановления здоровья ( при значении "-"

будет убывать)
radiation_restore_speed = -0.001 -Скорость убывания радиации
satiety_restore_speed = 0.0 -Голод ( значение "-" увеличит время

между приемами пищи)
power_restore_speed = 0.0009 -Скорость востановления бодрости
bleeding_restore_speed = 0.0 -Скорость остановки кровотечения (при

значении "-" будет останавливать)
inv_grid_x = 16
inv_grid_y = 24
additional_inventory_weight = 60 -+ к переносимому весу ГГ

additional_inventory_weight2 = 60 -максимальное значение переносимого
веса

nightvision_sect = effector_nightvision_good -тип
ПНВ ( гоод -синий.
burn_protection = 0.1 -защита от Ожога
strike_protection = 0.2 -Удара
shock_protection = 0.3 -Электрошока
wound_protection = 0.4 -Разрыва
radiation_protection = 0.5 -Радиации
telepatic_protection = 0.6 -Телепатии
chemical_burn_protection = 0.7
-Химического ожога
explosion_protection = 0.8 -Взрыва
fire_wound_protection = 0.9 -Пулестойкость
burn_immunity = 0.001
-Износостойкость к выше перечисленному

(значение "0" -вечный костюм)
strike_immunity
= 0.001
shock_immunity = 0.001
wound_immunity = 0.001
radiation_immunity = 0.00
telepatic_immunity =0.00
chemical_burn_immunity = 0.001
explosion_immunity = 0.001


В каком файле правиться стартовый набор Меченого? который Сидорович выдает?

\gamedata\scripts\escape_dialog.script надеюсь ты найдёшь где там что кому отдаёт.
функция transfer_deneg выдаёт после квеста ночная звезда... Когда отдал, ему.
функция give_weapon_from_trader это когда перед выдачой квеста дает.


Введение

Шпаргалка № 6
по "ковырянию" сталкера с модом АМК

Сей документ составлен из вопросов и ответов пользователей форума.

Составил: N6260.
Оформил: Виталий Зверь.


Ввод оружия

Какие файлы и как надо изменить что бы можно было не ставить NLS мне он не нравится и ставите его не собираюсь но нужна сайга ак-47 и миниган.... Подскажите пожалуйста как этого достич

Значит так. У тебя есть отдельно аддон АК-47, отдельно Сайга, так?
- Самое сложное тут совместить файл textures\ui\ui_icons_equipment.dds, его можно редактировать Photoshop'ом, с установленным плагином DDS. Твоя задача сделать такую версию этого файла, чтобы иконки всех трех стволов присутствовали.
- Второй шаг, положить файлы оружия типа w_m_134.ltx в папку config\weapons, и прописать ссылки на них в файл config\weapons\weapons.ltx (не забыть что АК-47 добавляет новые патроны, их надо добавить в этот файл)
- В файлах оружия прописаны координаты иконки в ui_icons_equipment, начинаются вроде на inv_, надо их учесть если передвигал иконки в том файле
- Затем нужно открыть config\mp\mp_ranks.ltx, найти там чтото типа [rank1], [rank2], несколько таких секций, в каждой есть длинная строка-список оружия, нужно туда добавить названия секций трех стволов.
- Обязательно надо совместить магазины (в примочке к аддону Сяка есть спец. квестовые события для получения этих стволов), для этого надо прописывать новые стволы в файлах config\misc\shop_*\*_supply.ltx и \*_trade.ltx
- Наконец засунуть по своим папкам все ресурсные файлы оружия (звуки в sounds\weapons, текстуры в textures\wpn\, модели в meshes\)


вероятность выпадения брони на телах НПС

Как изменить вероятность выпадения брони на телах НПС

death_manager.script
Найти:
В функции create_release_item() есть пять строчек вида:

otf_5 = create_items(self.npc, sect, 1, 250)

Вот эта цифра 250 - это 25 % вероятности выпадения


Вооружение НПС

Кто-рибудь ответьте пожалуйста на вопрос: если перевооружить NPC на всей локации,
при респавне новые NPC тоже будут с новым оружием или нет?

Нет. Для этого надо править

...\S.T.A.L.K.E.R\gamedata\config\gameplay\character_desc_simulation.xml

Из него берутся респаунившиеся неписи.
В АМК этот файл не используется, надо брать из .db архива.


Выброс

как выброс во фриплее отключить?

STALKER-gamedata-config-blowout.ltx

прописать в файле blowout.ltx :
[blowout_period]
enabled = 0
time = 1800.0
shift = 180.0

Кстати, а есть возможность поставить рандомный интервал между Выбросами? А то
по часам элементарно засекается, за недельку привыкаешь smile.gif

Код
[blowout_period]
enabled = 1.0
time = 1440.0;время между выбросами

shift = 180.0;максимальное отклонение выброса от времени
Просто шифт ставишь больше -и у тебя фактически рандомный выброс будет.

Где изменяется время продолжительности выброса?

в amk_mod вот эти строчки
amk.g_start_timer("blowout",0,0,3,1)
amk.g_start_timer("blowout",0,0,3,2)
amk.g_start_timer("blowout",0,0,3,3)
amk.g_start_timer("blowout",0,0,3,4)

Как отключить выброс на ЧАЭС?

В принципе, можно сделать так, как в NLC сделал Мастер Сяк. Функция, которая переписывает
кастом_дата рестриктора выглядит так:
Код:
function switch_timer_stancia_cheat()
for a=2000,2100,1 do
local obj=alife():object(a)
if (obj and obj.name and obj:name() == "aes_space_restrictor_timer") then
local params=get_restrictor_data(obj)
params.custom="[logic]\ncfg = scripts\\aes\\aes_space_timer_cheat.ltx"
set_restrictor_data(params,obj)
end
end
end

В файле логики (scripts\aes\aes_space_timer_cheat.ltx) написать:

Код:
[logic]
active = sr_idle

[sr_idle]
on_info = {+aes_actor_road} nil
теперь надо как-то вызвать эту функцию (switch_timer_stancia_cheat()). Это можно сделать или в диалоге или вообще сделать вызов через главное меню -уж читить, так читить smile.gif
ps: если будете все это ставить на NLC, то надо будет делать чуточку по-другому -отключить
сяковский таймер вообще, или просто подменить его нашим.


Вылеты и баги.

Игра сильно тормозит в одной части локации.

Скорее всего где-то поблизости есть растяннутая текстура животного\НПС -надо ее найти и полоснуть
ножом или выстрелить по ней...

Не открываается дверь в ....., как открыть?

Можно так открыть:
1.Подойди к двери вплотную со стороны петель под углом где-то 45 градусов.
2.Берёшь в руки ствол подлиннее,желательно СВД и пихаешь между петлями.
3.Нажимаешь в инвентаре "выбросить оружие".
Попыток этак с 10 дверь открывается настолько,что можно протиснуться вовнутрь,а винтовочку
забираем уже с той стороны.Таким методом я открывал без кода эту дверь и закрытый сейф на базе
монолита в Припяти (в оригинальной игре и в моде 1.3.1, но думаю,ничего не изменилось). Но хочу
предупредить -может и зашибить дверью, иногда наглухо (поэтому больше не пользуюсь, в случае смерти ГГя
теперь всегда начинаю игру заново).

Expression : assertion failed
Function : CSafeFixedRotationState::create
File : e:\stalker\patch_1_0004\xr_3da\xrgame\phvalidevalues.h
Line : 81
Description : dBodyStateValide(b)

Лечится это или нет?
это из-за контролера -рецепт лечения:

gamedata\config\creatures\m_controller.ltx

строка:
Max_Controlled_Count = 10;4
сделай:
Max_Controlled_Count = 0

И вот -переход на АС и вылет. Неизлечимый. (object 'khutor_zone2': section 'sr_idle1': field
'on_npc_in_zone': there is no object with story_id '719'). Эта же ошибка была, когда после отключения выжигателя
хотел вернуться на АС, поэтому тогда сразу на Припять пошёл. Так накрылся фриплей. Чего же
делать?

[/i
Я боролся с этой напастью так:

В логовском файле (та папка, где сейвы к игре) в самом низу прописывается fatal error. В последней строке
ссылка на файл g_script. И указывается строка с командой, которая вызывает вылет. Заходишь через
блокнот в этот файл в корневой папке script (сохранив данную версию куда-нибудь) и вырезаешь все
несколько строк с командой про крэш. Сохранился. Запустил игру с автосейва. Вылет. Опять открываешь
лог. Там будет ссылка (скорее всего ) на файл xr_logic. Повторяешь аналогичную операцию, как и с предыдущим.
Запускаешь игру с автосейва. У меня загрузились склады. Я все сделал на них. Потом перешел
на бар. Сохранился. вышел. Сохранил измененные скриптовые файлы и вернул сохраненные начальные
версии. Опять загрузился и пошел дальше. Ну а каждый раз заходя на склады менял скриповые файлы.
Это так по-слесарски. Хотя наверное есть и другие способы бороться с этой ошибкой.

Надоели вылеты из-за указанной выше строки (проблемы с вылетом 1121), а так как уже не раз говорилось,
что она сделана для диагностики, то я плюнул и отключил эту функцию -пусть что-то там не работает,
а игра не вылетает -всё равно оно не работает, а грузить игру опять надо.
В результате всю субботу пробегал в игру, не раз заходил на Припять, вот в воскресенья с обеда и до вечера
бегаю опять же по Припяти (выполняю задания Болотного Доктора и Сяка) и... ни одного вылета, ни
одной испорченной записи. Все записи сделанные на Припяти, после Припяти, переходы с Припяти работают.
Есть только вылеты без лога после непрерывной игры 1-2 часа, но после загрузки с последнего
сделанного сохранения -ручного или быстрого -неважно, игра спокойно продолжается. Скорее это косячит
мой NoDVD.

По-этому рассказываю, что я сделал -пробуйте, может и вам поможет:

1. находим файл _g.script
2. делаем его копию, на всякий случай, копируем его с именем _g.script.BAK
3. открываем его на редактирование и находим строку "function abort(fmt, ...)"
4. Видим пере собой строки:
function abort(fmt, ...)
local reason = (...==nil and fmt) or string.format(fmt, ...)
--assert("ERROR: " .. reason)
get_console():execute("load ~~~ " .. reason) get_console():execute("flush")
string.format("%s")
end
5. изменяем их следующим образом:
function abort(fmt, ...)
--local reason = (...==nil and fmt) or string.format(fmt, ...)
--assert("ERROR: " .. reason)
--get_console():execute("load ~~~ " .. reason)
--get_console():execute("flush")
--string.format("%s")
end
6. сохраняем и пробуем играть.
Если кому интересно, нашел решение проблемы с вылетом 1121 на милитари, где парой строчек выше
стояло

! Cannot find saved game ~~~ object 'khutor_zone': section 'sr_idle1': field 'on_npc_in_zone': there is no object
with story_id '710'

Вылет происходит, если на милитари уничтожено тело (например, в аномалии) Павлика (предателя свободы).

Чтоб не вылетало, надо подредактировать файл сохранения (обычно *_autosave.sav) в любом hex-редакторе.

Ищем там текст 710, затем из всех найденных смотрим тот, рядом с которым стоит sr_idle1 , on_npc_d или
нечто подобное, и это 710 заменяем на 500.
Пробуем играть. Если снова вылет, но уже с 709, то делаем то же самое, но уже для 709.
У меня пошло, вроде без глюков.

Постоянно без причины растет радиация.

Если при этом постоянно растет уровень радиации (особенно когда снят костюм) и остаются кровоподтеки
на стенах, когда стоишь возле них, после смерти ГГ камера периодически подёргивается --то это остаточная
радиация.

Проявляется при нахождении в "блокирующих" зонах повышенной радиации (на границах уровней и т.п.) и
переходе после этого на другой уровень (и, возможно, еще какого-то "удачного" стечения обстоятельств).
Такое было у меня с АМК 1.3.1.

По утверждениям знающих людей -баг оригинала. Очень часто проявлялся на "чистой" игре при переходе
со Свалки на Агропром и со Свалки на Кордон.
На оф. форуме много по этому поводу написано, большинство предложений -начать игру заново.

По памяти могу описать где-то почерпнутое решение, которое мне помогло:
1) извлечь из архивов gamedata.*** файл xr_detector.script (он не использовался в АМК 1.3.1, поэтому в
папке gamedata с модом его нет) -в данном файле в том числе описаны процедуры сохранения и загрузки
уровня радиации, полученной при нахождении в этих "блокирующих" зонах;

2) изменить процедуру загрузки ранее сохраненного уровня радиации так, чтобы этот уровень заражения
не загружался (закомментить несколько строк);

3) измененный файл поместить в нужное место папки gamedata;
4) загрузить сохраненную игру -при этом уровень радиации не загружается, далее всё должно быть нормально.

При этом уровень обычной радиации нормально сохраняется-загружается. Если теперь сохранить игру и
вернуть оригинальное содержимое файла xr_detector.script, то остаточной радиации уже не будет. По
крайней мере, до следующего "удачного" стечения обстоятельств.

Лечение вылетов с неправильным именем текстуры (пример):

Can't find texture -игра не может найти текстуру с указанным именем.
В данном случае у тебя нет текстуры сетки прицела с именем "l-85-amk-t"
Идешь по пути: ...S.T.A.L.K.E.R\gamedata\textures\wpn
Ищешь файлик с похожим именем, там обычно последняя буква отличается, и копируешь с в ту же папку с требуемым именем "l-85-amk-t".


Выпадение частей

Как сделать что бы хвосты\копыта попадались чаще?

1. Заходим в папку gamedata/config/creatures
2. Открываем конфиг монстра, например m_pseudodog.ltx
3. Находим строку Spawn_Inventory_Item_Probability
4. Ставим значение = 1
Все! Теперь у измененного монстра всегда будут появляться запчасти.
Запчасти будут появляться только у вновь заспавненых монстров, а у тех которые были до
изменения значения вероятность останется старой. Если хотите чтобы 100% вероятность
была сразу, начните новую игру.


Высота прыжка

В файле actor.ltx в папке gamedataconfigcreatures, найди параметр jump_speed и задай ему нужную тебе величину, чем больше тем выше ГГ будет прыгать.


Графические

Команда Параметры Описание
r1_dlights on,off Включить\выключить динамические источники света, влияет только на
фонарики.
r1_dlights_clip 10.000,150.000 Устанавливает радиус отображения(дальность видимости)
динамических источников света.
r1_glows_per_frame2,32Контролирует максимальное число источников света.
r1_lmodel_lerp0.000,0.333Управляет Линейной Интерполяцией освещения.
r1_pps_u-1.000,1.000Контролирует Per Pixel Shader значение.
r1_pps_v-1.000,1.000Контролирует Per Pixel Shader значение.
r1_ssa_lod_a16.000,96.000Контролирует уровень детализации(LOD) в игровом мире.
r1_ssa_lod_b16.000,64.000Контролирует уровень детализации(LOD) в игровом мире.
r1_tf_mipbias-3.000,3.000 Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней),
которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)
r2_aaon,offВключает фейковый эффект Сглаживания.
r2_aa_breakКонтролирует степень фейкового АА.
r2_aa_kernel0.300,0.700Контролирует общую заблюренность фейкового АА.
r2_aa_weightБолее точно контролирует заблюренность фейкового АА.
r2_allow_r1_light on,off Позволяет DX8 освещению работать под моделью освещения DX9
(Вкл/выкл дублирующих динамических источников света).
r2_gi on,off Включает Глобальное Освещение (на свой страх и риск, опция экспериментальная).
r2_gi_clip 0.000,0.100 Контролирует дальность видимости(clip distance) Глобального освещения.
r2_gi_depth1,5Контролирует глубину теней Глобального Освещения.
r2_gi_photons8,256Контролирует эффект Глобального Освещения.
r2_gi_refl 0.001,0.990 – Контролирует reflectivity(коэффициент отражения) Глобального Освещения.
r2_gloss_factor0.000,10.000Устанавливает уровень Отражений/глянца на объектах.
r2_ls_bloom_faston,offВключает расширенный эффект Блума.
r2_ls_bloom_kernel_b 0.010,1.000 – Определяет уровень затененности(дымки) от эффектов
HDR и Блума.
r2_ls_bloom_kernel_g1.000,7.000Четкость бликов
r2_ls_bloom_kernel_scale0.500,2.000Общая сила HDR
r2_ls_bloom_speed0.000,100.000
r2_ls_bloom_threshold0.000,1.000 Контролирует общий уровень используемых световых эффектов (Блум).
r2_ls_depth_bias-0.500,0.500Контролирует дальность освещения источников света.
r2_ls_depth_scale0.500,1.500Контролирует влияние освещения на тени.
r2_ls_dsm_kernel0.100,3.000
r2_ls_psm_kernel0.100,3.000
r2_ls_squality0.500,1.000Тоже, что и опция в меню Качество Теней.
r2_ls_ssm_kernel0.500,1.000
r2_mblur0.000,1.000Работает только если при запуске к .exe приписан параметр –mblur.
r2_parallax_h0.000,0.500 Контролирует Параллакс Маппинг, который влияет на глубину поверхности текстур.
r2_slight_fade0.020,2.000Дальность освещения(есть в меню)
r2_ssa_lod_a16.000,96.000Контролирует уровень детализации(LOD) в игровом мире.
r2_ssa_lod_b32.000,64.000Контролирует уровень детализации(LOD) в игровом мире.
r2_sunon,off– Опция из меню -Тень от Солнца.
r2_sun_depth_far_bias-0.500,0.500
r2_sun_depth_far_scale0.500,1.500
r2_sun_depth_near_bias-0.500,0.500
r2_sun_depth_near_scale0.500,1.500
r2_sun_detailson,offТоже, что опция в меню Тени от Травы.
r2_sun_focuson,offФокус солнечных теней
r2_sun_lumscale-1.000,3.000Яркость света от Солнца.
r2_sun_lumscale_amb0.000,3.000 Яркость ambient освещения (равномерное освещение) от Солнца.
r2_sun_lumscale_hemi0.000,3.000
r2_sun_near1.000,50.000Местоположение солнца от земли
r2_sun_near_border0.500,1.000
r2_sun_tsmon,offЧеткость солнечных теней
r2_sun_tsm_bias-0.500,0.500
r2_sun_tsm_proj0.001,0.800
r2_tf_mipbias-3.000,3.000 Контролирует mipmap LOD bias (детализация (LOD) для мип-уровней), которая влияет на чистоту текстур. (четкость и чистота текстур на расстоянии)
r2_tonemap on,off – Включает эффект Tone Mapping(разметка уровня цвета) для HDR
освещения.
r2_tonemap_adaptation0.010,10.000
r2_tonemap_amount0.000,1.000
r2_tonemap_lowlum0.000,1.000– Контролирует эффект tone mapping на темных локациях.
r2_tonemap_middlegray0.000,2.000Контролирует общий вид эффекта HDR.
r2_wait_sleep0,1
r2_zfillon,off
r2_zfill_depth0.001,0.500
r2em0.000,4.000
r__detail_density0.200,0.600– Опция, по типу в меню -Плотность Травы.
r__geometry_lod0.100,1.200– Тоже, что и опция из меню Детализация объектов(геометрии).
r__supersample1,4Тоже, что и опция в меню – Сглаживание.
r__tf_aniso1,16–Опция из меню, анизотропная фильтрация(Фильтрация текстур).
rendererrenderer_r1, renderer_r2a, renderer_r2Тоже, что и опция в меню Тип рендера.
rs_c_brightness0.500,1.500– Опция из меню – Яркость.
rs_c_contrast0.500,1.500Опция по типу в меню, Контраст.
rs_c_gamma0.500,1.500Тоже, что и менюшная опция Гамма.
rs_fullscreenon,offТоже, что и опция в главном меню Полноэкранный режим.
rs_refresh_60hzon,off– Тоже, что и опция в меню Частота 60Гц.
rs_statson,offВключает статистику движка на экране, включая FPS.
rs_v_syncon,offТоже, что и менюшная опция Вертикальная Синхронизация.
rs_vis_distance0.400,1.500Тоже, что и опция в меню Дальность Видимости.
texture_lod 0,4 Тоже, что и менюшная опция Качество текстур. Значения инвертны(0 -высокое качество)
vid_modeWxHТоже, что и опция в меню Разрешение.
vid_restart Перезапускает графический движок; может быть использовано после изменения каких-либо графических настроек таких как texture_lod и vid_mode.


добавить в "новости" новые тексты

Возможно ли добавить в "новости" новые тексты, или только переделать те что есть?

Ответ:
Вот навскидочку файлы:

amk_news_lists.script
amk_uniq_news_lists.script
amk_modders.script

но в каком-то(каких-то?) файлах новости не для оффлайн -A-Life, а чисто для атмосферы.
Может быть вспомнил не все файлы.


добавить нового торговца

В каких файлах, что нужно прописать, чтобы добавить нового торговца, например на
Кордон?

Совсем нового? Или существующему НПС добавить функцию торговли? Первое через спавн
и всем, что с этим связано. Второе, через файл гулага, к которому прописан НПС. Вот, для
примера как прописать торговлю повару на базе свободы. Берем файл
gulag_mil_freedom1.ltx, находим секцию повара и пишем:

[logic@mil_freedom_cook]
active = walker1@mil_freedom_cook
actor_dialogs = dialogs@mil_freedom_cook
trade = misc\trade_povar.ltx
on_death = on_death@mil_freedom_cook
Дальше создаешь файл trade_povar.ltx похожий на trade_generic.ltx


Ещё правки

Извиняюсь, совсем забыл спросить, как восстановить отметки врагов и пр. в бинокле?
gamedata\config\weapons\w_binoc.ltx, находим строку vision_present = false, меняем на vision_present = true. Все

Как включить функцию "лечение едой":
В папке gamedata/config/misc находиш файл items.ltx в нем находиш секции [bread], [kolbasa], [conserva] и для каждой из них там есть параметр eat_health который нужно увеличить до нужных дебе значений. По дефолту для bread, eat_health = 0.05, для kolbasa 0.1 и для conserva 0.15

Как убрать фонарик?
Что-бы убрать фонарик, открываем файл gamedata\config\misc\items.ltx
Находим секцию [device_torch]:identity_immunities

Меняем строчку
slot = 9
на
slot = 1

Тепер фонарик располагается в слоте пистолета, убираем его в рюкзак и все.

health_restore_speed - прирост к скорости восстановления здоровья
radiation_restore_speed - прирост скорость вывода радиации
satiety_restore_speed - прирост к голоду
power_restore_speed - прирост к выносливости
bleeding_restore_speed - прирост к скорости остановки кровотечений

Как увеличить радиус загрузки локации?

stalker\gamedata\config\alife.ltx
switch_distance = 650;
Можно и больше поставить...

Правка кол-ва денег в лут-монеу

По поводу денег, кому не нравится меняем
gamedata\scripts\lootmoney.script строки типа
 if npc_rank == "novice" and deadmoney >=70 then deadmoney=math.random(25,70)
 для всех рангов на if npc_rank == "novice" and deadmoney >=0 then deadmoney=math.random(0,money)
 - получаем рандом от 0 до полной суммы, if npc_rank == "novice" and deadmoney >=0 then deadmoney=money
- получаем полную сумму, ну эт уже явный чит ))


заменить текстуру прицела

Как заменить текстуру прицела?

1. Качаем нужный архив
2. Распаковываем.
3. Открываем его проводником (winexplorer, Far, Total commander etc.) видим файлы текстур
формата *.DDS.
4. Допустим хотим заменить оригинальный (АМК) прицел винтовки H&K G36 на свежескачанный:
a) открываем папку с игрой, и идем следующим путем /gamedata/textures/wpn
б) находим файл под названием G-36-AMK_1680-w.DDS у меня он называется так ибо разрешение
1680 х 1050, у вас название сего файла будет меняться в зависимости от того, какое
разрешение вы выбрали при установке АМК это может быть G-36-AMK_1280-N и т.д., нажимаем правлй кнопкой на файл в меню выбираем переименовать, копируем название
файла можно через контекстное меню правого клика мыши можно нажатием клавиш Ctrl + C.
в)Заходим в папку распакованного архива с новыми текстурами.
г)Находим нужный а именно в данном случае H&K G36 N.dds или H&K G36 W.dds (если wide монитор), и повторяем нереальную процедуру с правым кликом мыши и кнопкой переименовать,
нажимаем Ctrl + V или же правая кнопка => Вставить, и жмем Enter или кликаем левой
кнопкой мимо файла.

5. Берем свежепереименованный файл и кладем его в папку игры откуда мы копировали для
него название /gamedata/textures/wpn, выскочит матюк с вопросом Заменить? нуно тыкнуть
ДА!
6. Ищем на рабочем столе ярлык STALKER тыкаем на него пару раз а дальше по обстоятельствам...
ПРЕЖДЕ ЧЕМ ПРОВОДИТЬ ЭТИ ПРОЦЕДУРЫ СДЕЛАЙТЕ BACKUP ПАПКИ
/gamedata/textures/wpn -так на случай ядерной войны или если не понравится то что увидите.


Замки на тайники

Замки на тайники от кражи НПС
(автор Ferrari314)

Играл помнится в АМК НЛЦ и НС и мод на минирование-обыскивание тайников. Накопилась
большая куча оружия, ложить в тайник, от осознания того, что через часок все покоммуниздят
и спионерят было тошно, а выкидыватьт, как водится -жалко. Решил сделать кодовый
замок -такую штучку, которую можно приобрести только за большущие деньги, но уж точно
быть увереным, что твой тайник никто не тронет. И вот оно чудо!

Для удобности адаптации к любой сборке сделал все кусочками, что бы не адаптировать к
каждой солянке отдельно (не пугайтесь, установка совсем, не сложная, если делать все правильно).

PS. Мод приемущественно для солянщиков ny_thumbsup.gif или для тех кто собирает солянки
"под себя".
Собственно установка:

1. Для начала находим в S.T.A.L.K.E.R./gamedata/scripts/bind_stalker.script
2. ищем в нем функцию actor_binder:on_item_drop (obj)
3. пишем перед последним end в этой функции
Цитата
if obj:section() == "zamok" then
local box = obj:parent()
if box ~= nil then
get_console():execute("load ~~~ protect box")
table.insert(amk_offline_alife.protected, box:id())
end
end
4. затем находим в той-же папке amk_offline_alife.script и открываем его
5. ищем, почти в начале строчку
Цитата
local protected = {
и удаляем local, что бы получилось:
Цитата
protected = {

6. Теперь находим файл gamedata/config/misc/devises.ltx
7. Добавляем вконце файла секцию:
Цитата
[zamok]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "food and drugs\bread_a"
cform = skeleton
class = II_ATTCH
visual = ferrari314\zamok.ogf
cost = 30000
inv_name = zamok
inv_name_short = zamok
description = zamok_desc
inv_weight = .2
inv_grid_width = 1
inv_grid_height = 1
inv_grid_x = 2
inv_grid_y = 36

attach_angle_offset = -0.287979, 1.560923, 1.544060
attach_position_offset = 0.096910, -0.013594, 0.107925
attach_bone_name = bip01_r_hand
auto_attach = false

// should be deleted after update
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699

8. качаем архив по одной из ссылок и распаковываем его:
http://slil.ru/26501775
http://depositfiles.com/files/jlq1jeift

9. положите файл prop_hanglock3.dds в папку textures/prop/, а файл zamok.ogf в дирректорию
meshes/ferrari314/
10. теперь фотошопом суем себе в солянку иконку и не забываем прописать её координаты в
devises.ltx
11. заходим gamedata\config\text\rus\string_table_enc_equipment.xml и вставляем в конце,
перед </string_table> вот это:
Цитата
<string id="zamok">
<text>Замок</text>
</string>
<string id="zamoc_desc">
<text>Кодовый замок из титанового сплава, сломать его невозможно, равно как и подобрать
код. Этот дорогой гаджет 100% защитит ваш тайник от всяких посягательств.</text>

</string>
Все, замок готов, можете прописать его впродажу или в награду за квест.


Звуки и музыка

Любой файл в папке sounds можно заменить на другой, но при этом нужно сохранить все параметры
звукового файла, который был использован в игре. Например, чтобы заменить музыку
в приёмнике у Сидоровича, нужно файл sounds\scripts\magnitofon\magnitofon_2.ogg, заменить
на любой другой.(У оригинального файла винамп мне выдал свойства:

Average bitrate : 60 kbps
Nominal bitrate : 80 kbps
Channels : 1
Sampling rate: 44100 Hz.

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

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

1. В директорию gamedata\sounds\music\ положить два канальных ogg-файла с нужной музыкой,
например: my_music_l.ogg (левый канал) и my_music_r.ogg (правый канал)
2. В текстовом редакторе открыть файл gamedata\config\ui\ui_mm_main.xml, найти в нем
строку:
<menu_sound random="0" >
и заменить на:
<menu_sound random="1" >

3. В этом же файле найти строку:
<menu_music>music\wasteland2</menu_music>
и ниже нее выставить следующую строку:
<menu_music>music\my_music</menu_music>
4. Сохранить файл.
5. Если требуется вставить больше муз. заставок, то в параметре random укажите их количество.
Автор идеи -VM


Звуковые

Команда Параметры Описание
snd_accelerationon,offВключает аппаратную акселерацию звука.
snd_cache_size4,32Установить размер кэша для звука.
snd_efxon,offВключает\выключает Звуковые Эффекты.
snd_restart Перезапускает звуковой движок; может быть использовано после изменений каких-либо переменных snd_.
snd_targets4,32Устанавливает количество используемых каналов для аудио.
snd_volume_eff0.000,1.000Тоже, что и опция в меню Громкость(звука).
snd_volume_music0.000,1.000Тоже, что и опция в меню Громкость Музыки.


Изменение время голодания

В actor.ltx поменял:
satiety_v = 0.000005 на 0.000025
теперь есть нужно почаще, раз в 4-6 часов, соответственно батоны не лишний вес в рюкзаке,

порой и за кусок хлеба дратся прийдется:)
satiety_health_v = 0.0001 на 0.00001


Изменение иконок

Изменение иконок предметов

Внимание! Данный урок предполагает наличие у вас базовых навыков работы в Photoshop.
Детальный пошаговый разбор работы в Photoshop в данном уроке производится не будет.

Разберем изменение файла:

...\gamedata\textures\ui\ui_icon_equipment.dds

Он содержит иконки предметов, отображаемые в инвентаре. Допустим, вы сделали новый
вид оружия, и хотите присвоить ему новую иконку.
Нам понадобится следующее:

* Adobe Photoshop (я использовал CS2, CS и 7.0 различаются незначительно)
* плагин для работы с .dds-изображениями (скачать)
Итак, мы установили плагин и запустили Photoshop. Откройте в нем наш файл.
Иконки расположены по сетке 50х50 пикселей.
Чтобы включить её отображение, зайдите в меню:
Редактирование -> Установки -> Направляющие, сетка и фрагменты
И установите в нем следующие значения:
* Линия через каждые: 50
* Единицы измерения: пиксели
* Внутреннее деление на: 1
После чего выберите пункт:
Просмотр -> Показать -> Сетку ( Ctrl+' )
Всё, сетка теперь правильно настроена и отображается. Выберем место для иконки.
Иконка будет размером 4х2, то есть 200х100 пикселей -это обычный размер иконки для автоматических
винтовок. Нарисуем её:
Иконка АК47У была нарисована следующим образом: я нашел качественную фотографию с
однородным фоном (благо, фотографий АК в интернете немерено), открыл её в Photoshop,
выделил с помощью второго вида инструмента "Лассо", нажал Ctrl+C, открыл файл с иконками, нажал Ctrl+V, нажал Ctrl+T, зажал Shift ("Сохранение пропорций") и потянул за край выделения,
сжимая изображение до нужного размера.
После чего применил трансформацию, перетащил изображение на нужное место и нажал Shift+Ctrl+E ("Слить слои").
Теперь соответственно иконке изменим и альфа-канал.
Выделим иконку оружия, и перейдем в окне со слоями на закладку:
Каналы -> Alpha
После чего залейте выделение белым. Всё, мы сделали иконке альфа-канал.
Теперь нужно сохранить файл в правильном формате. Выберите:
Файл -> Сохранить
И выставьте в появившемся окне окне следующие настройки:
Крайне важно выставить следующие параметры:

* Save Format: DXT5 (Interpolated Alpha)
* MIP maps: No MIP maps
Нажмите Save. Вот всё, мы добавили новую иконку.
Теперь присвоим её предмету.
Допустим, у вы создали некий wpn_ak47u, которому и нарисовали иконку. Зайдем в его конфиг:

gamedata\config\weapons\w_ak47u.ltx

И найдем такие строки:
inv_grid_width 4
inv_grid_height = 2
inv_grid_x …
inv_grid_y …
Где:

* inv_grid_width -ширина в сетке 50х50
* inv_grid_height -высота в сетке 50х50
* inv_grid_x -местонахождение по х
* inv_grid_y -местонахождение по y


Изменение патронов

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

...\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 - визуальный размер дырки на стене от пу


Изменение текстур моделей

Заменим, например, текстуру банки с энергетиком. Для этого откроем файл

item_drink_nonstop.dds:

И отредактируем его по своему усмотрению:
Банка была перерисована через выделение элементов с помощью "Лассо" (в варианте с проставлением углов, а не непрерывного выделения -кажется, это называется "Геометрическое
лассо", если не так -поправьте), с последующим их закрашиванием зеленой кистью.
Выделяем элементы синего цвета, закрашиваем выделение зеленым, идем дальше.
В конце инструментом "Текст" (иконка в виде буквы "Т") и шрифтом Space Age (не суть важно) была сделана надпись. После чего я нажал Ctrl+T ("Свободная трансформация"), повернул текст набок, и применил трансформацию, выбрав любой другой инструмент.
Не забываем на всякий случай сохранить резервную копию текстуры. Делаем Save со следующими параметрами:

* Save Format: DXT5 (Interpolated Alpha)
* MIP maps: Generate MIP maps
Создание новых visual для использования с новыми объектами
К чему изменять текстуры обычных предметов, лучше сделать свои -с собственной внешностью.
Сделаем новый visual (модель+текстура), который можно будет указать в свойствах нового предмета.
Возьмем модель банки энергетика drink_nonstop.ogf, сделаем её копию и назовем, скажем,
drink_green.ogf, после чего откроем в Hex-редакторе (в принципе, можно и Блокнотом). Метод кустарный, но работающий.

В начале файла вы увидите имя текстуры:
item\item_drink_nonstop
Изменим эту строку на:
item\item_drink_green_1
Внимание! Очень важно, чтобы длина строки с текстурой осталась той же, иначе файл не будет работать.
Всё, теперь вы можете указать в конфиге своего нового предмета новый visual:
[energy_drink_green]:vodka
$spawn = "food and drugs\energy_drink"
inv_name = energy_drink_green_name
inv_name_short = energy_drink_green_short_name
visual = '''equipments\drink_green.ogf''' ;equipments\drink_stalker.ogf
description = enc_equipment_energy_drink_green
Cost = 75 [...]


Изменить время трансмутаций

В файле amk_mod.script ищи строчки вида(там есть такие для каждого модификата):

af_start_transform_timer(af_start_transform(70,25,af_sect,"af_spirit_1"), pos ,0,4,0,"Душа")

70 - вероятность удачной трансмутации;
25 - вероятность вырождения (правь по желанию).

0,4,0 - время трансмутации дней, часов, минут


Имена НПС

Где прописаны имена НПС?

Секции:
string id="lname_bandit_хх -бандиты
string id="lname_captain_хх -капитаны
string id="lname_lieutenant_хх
-лейтенанты
string id="lname_private_хх -рядовые
string
id="lname_science_хх -учёные
string id="lname_sergeant_хх -сержанты
string id="lname_stalker_хх -сталкеры
string id="Osoznanie" -О-сознание


использование оружия НПС

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

;---FIRE QUEUE PARAMETERS

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; Секунда на прицеливание их же устроит? Но дальше уж надо жать на курок.

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_min_queue_size_close = 10; вблизи (почти в упор) им надо шмалять не щадя обоймы. Пока сталкер Меченый не опомнился.
weapon_max_queue_size_close = 30; при удаче они даже всадят всю обойму :)
weapon_min_queue_interval_close = 100; интервал на ближних дистанциях также минимальный: с такого расстояния нужно стрелять не думая.
weapon_max_queue_interval_close = 300


к оружию оптику, глушитель

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

Находим в файле оружия строку ;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\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 - огнестрел


Как изменить степень "изношености"

Как изменить степень "изношености" брони выпадающей в трофеях

а в amk.script есть пять конструкций вида:

    if select_string=="outfit_cond_5" then
        a = level.object_by_id(tonumber(params_string))
        a:set_condition((math.random(45)+15)/100)
    end
вот в них строка :
a:set_condition((math.random(45)+15)/100)
определяет степень износа
каждая секция для определённой категории костюмов. Эта, которую я для примера привел, для экзоскелетов. Износ расчитывается по формуле:
((math.random(45)+15)/100)
где:
((math.random(45) - это случайное число от 0 до 45%


Как найти лог вылета?

Сразу после вылета открыть любой текстовый редактор и выбрать в меню "правка" или в контекстном меню по правой кнопке мышки.
Полученный текст и будет логом вылета. Или же смотрим последние строки в текстовом документе по пути:
C:\Documents and Settings\All Users\Документы\STALKER-SHOC\logs (т.е. общие документы\папка Сталкер)

ВНИМАНИЕ! Перед всеми издевательствами и добавлении новых модов\аддонов в игру советую делать бэкап папки "геймдата".


как отключить дрожание оптики в АМК 1.4?

gamedata\config\misc\effectors.ltx

[zoom_inertion_effector]
camera_move_epsilon
= 0.03
disp_min = 0.0
speed_min = 0.001
zoom_aim_disp_k = 0.18
zoom_aim_speed_k = 0.00
delta_time = 1350
заменить на:
[zoom_inertion_effector]
camera_move_epsilon = 0.03
disp_min = 0.00
speed_min = 0.000
zoom_aim_disp_k = 0.0
zoom_aim_speed_k = 0.00
delta_time = 2000


Объём рюкзака

Отключение объёма

Если у тебя АМК+два патча открываешь тот же amk_utils.script, в начале находишь вот это:
RestrictionStock = 1
и меняешь на это:
RestrictionStock = nil

Как вернуть ограничение инвентаря по кол-ву?

1. Взять файл restriction_stock.script из первого патча для АМК и заменить им существующий.
2. В файле amk_utils.script заменить
это:
--Callback на взятия предмета в инвентарь гг из ящика
function actor_item_from_box(box, item)
end

--Callback на взятие предмета в инвентарь гг
function actor_item_take(obj)
if obj ~= nil and RestrictionStock ~= nil then
restriction_stock.restriction_of_stock(obj,0)
end
end

--Callback на потерю предмета из инвенаря гг
function actor_item_drop(obj)
if obj ~= nil and RestrictionStock ~= nil then
restriction_stock.restriction_of_stock(obj,1)
end
end

на это:

--Callback на взятия предмета в инвентарь гг из ящика
function actor_item_from_box(box, item)
if item ~= nil then
restriction_stock.restriction_of_stock(item)
end
end

--Callback на взятие предмета в инвентарь гг
function actor_item_take(obj)
if obj ~= nil then
restriction_stock.restriction_of_stock(obj)
end
end

--Callback на потерю предмета из инвенаря гг
function actor_item_drop(obj)

end
З.Ы. Только новые вещи не забудь в restriction_stock.script по аналогии с существующими добавить,
иначе ограничения на них не будут распространяться.

A как добавить новые классы обьема для инвентаря?

На данный момент мы имеем такие варианты:
4 объема оружия
2 объема брони
Плюс объем аптечек
А я хочу пистолеты-пулеметы в отдельный класс вынести и броню поделить на три класса.

1. Добавляешь через запятую ещё одну вложенную таблицу, например:
_weapons_C6 = {"оружие_раз","оружие_два","оружие_три"}
2. Добавляешь ещё одно условие в парсинге ниже:
elseif kk == "_weapons_C6" and count>2 then
amk.send_tip("Не многовато ли стволов, рембо?",nil,nil,5)
amk.drop_item(actor,_obj)
status = 1
break
здесь count>2 определяет, больше какого числа предметов будет срабатывать ограничение
для этой группы.
Вот, собственно, и всё. По аналогии сделай и для остальных групп предметов.
А ка сделать разные обьемы для разных костюмов?

1. Добавляешь через запятую вложенные таблицы по числу новых групп, например:
_outfits_1 = {"костюм_раз"},
_outfits_2 = {"костюм_два"},
_outfits_3 = {"костюм_три"}
2. Добавляешь столько же условий в парсинге ниже:
elseif kk == "_outfits_1" and count>2 then
amk.send_tip("Для этого костюма в рюкзаке нет места",nil,nil,5)
amk.drop_item(actor,_obj)
status = 1
break
elseif kk == "_outfits_2" and count>2 then
amk.send_tip("Для этого костюма в рюкзаке нет места",nil,nil,5)
amk.drop_item(actor,_obj)
status = 1
break
elseif kk == "_outfits_3" and count>2 then
amk.send_tip("Для этого костюма в рюкзаке нет места",nil,nil,5)
amk.drop_item(actor,_obj)
status = 1
break


Как приписать еде свойство приближения сна?

В AMK_MOD найди такую строчку:
--'elseif (section=="medkit" or section=="medkit_army" or section=="medkit_scientic") then
--' stype="med"
а под ней допиши:
elseif (section=="conserva" or section=="kolbasa" or section=="bread") then
stype="food"
теперь сьешь 4 консервы или 4 хлеба(можно например 2 хлеба и 2 колбасы) можно будет

поспать(как раньше с аптечками).


Как сделать бессмертие

В папке gamedata\config\creatures есть файл actor.ltx. В нем находишь вот это (xxxxx - это уровень сложности на каком ты играешь, например master)
Код
[actor_immunities_gd_xxxxx]
burn_immunity = 1.0;коэффициенты иммунитета
strike_immunity = 1.0
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
и меняешь цифры на 0 - ГГ будет бессмертным. Можно не все менять, тогда можно сделать, например, что ГГ будет пуленепробиваемым, но будет дохнуть в аномалиях и т. п.


Как сделать невидимыми арты на худе

Легко-gamedata\config\ui - файл - maingame.xml
ищи <artefact_panel
чтоб небыло видно арты scale="0"/>


Как сделать туш. нейтральными.

Как сделать тушканов нейтральными?

Посмотри в самом конце файла ...S.T.A.L.K.E.R\gamedata\config\creatures\game_relations.ltx
Там найдёшь таблицу отношений монстров к неписям (human) и ГГ (actor).
Таблица построена по принципу координат x и y. Сводишь по "осям координат" нужного тебе

монстра (тушканы самые последние в списке) и , например, ГГ (он самый первый в списке) и
выставляешь нужную цифру. Сейчас там стоит "-1" (см. первую цифру в строке tushkano), а
ты выстави "0". И тушканы будут нейтральны к ГГ. Желательно в строке actor, самую последнюю
цифру -"-1" тоже заменить на "0". Это, по идее наоборот, отношение ГГ к тушканам...


как создать новый эффектор ПНВ?

.

Никто не подскажет как создать новый эффектор ПНВ?

На тебе черно-белый ПНВ на эффекте как от пси-антен:
[effector_nightvision_blackwhite]
pp_eff_name = psy_antenna.ppe
self.base_amplitude = color(0.2,0.15,0.0)
pp_eff_cyclic = 1
blur = 5
gray= 0
noise = 0
noise_scale = 0
noise_color = 0.535, 0.493,
0.389, 0
self.gray_color = 0.535, 0.493, 0.389
self.base_color = 0.535,
0.493, 0.389
noise_color = 0.535, 0.493, 0.389, 0 ; цвет шума
self.gray_color = 0.535, 0.493, 0.389 ; цвет добавленного оттенка -вобщем
делает пнв подсвеченным например синим
;( как
effector_nightvision_good ) или зеленым (effector_nightvision_bad)
self.base_color = 0.535, 0.493, 0.389 ;изменение цвета окружающей среды, по
старой технологии РГБ притушить одни цвета и сделать более яркими друг


Как создать статью в ПДА?

<info_portion id="price_sidor">
<article>price_sidor</article>

</info_portion>
инфопошен "price_sidor" -дается в диалоге он добавляет вызов артикля:
артикль price_sidor
артикль описывается в storyline_info_sak_way (или в другом стори лайн...):
<article article_type="journal" id="price_sidor" name="Сидорович предлагает" group="enc_price">
<text>price_sidor_text</text>

</article>
ну а сам текст в стрингах...
Т.е . я например создаю info_hunter_way.xml -и в нем пишу инфопошен
в стори лайт пишем артикль и текст...
Еще где что писать?
на каждую главу -отдельный инфопоршен -и привязывай к событию -тут уже все от тебя ( от твоей фантазии зависит) можно наделать кучу листочков и разбросать их по зоне -тогда при
взятии листочка -отдельная глава, можно вставлятьт в диалог неписям -каждому свое, можно привязать к заходу на локацию, можно привязать к взятию артефакта (части монстра) да много вариантов...

Пример вызова дай (например для прайса)...
диалог сидора: dialogs_trading.xml
<dialog id="trade_dialog_sidor">

<phrase_list>
<phrase id="0">
<text>trade_dialog_sidor_0</text>
<next>1</next>
</phrase>
<phrase id="1">
<text>trade_dialog_sidor_1</text>
<give_info>price_sidor</give_info> вот этот инфопоршен...
<next>2</next>
<next>3</next>
<next>4</next>
<next>5</next>
</phrase>


как убрать счетчик патронов с экрана

Файл maingame (или maingame_16 для WIDE экранов), в папке gamedata/config/ui
Там найдешь строчку типа /static ammo <text>
У него такие параметры есть, примерно:
Код6
<text x="0" y="0" font="small" r="255" g="255" b="255" a="130">
Вот тут-то и разгадка всех проблем.Делаешь a="0" и текст становится прозрачным.


Как убрать фонарик?

Что-бы убрать фонарик, открываем файл gamedata\config\misc\items.ltx
Находим секцию [device_torch]:identity_immunities
Меняем строчку
slot = 9
на

slot = 1
Тепер фонарик располагается в слоте пистолета, убираем его в рюкзак и все.


Как экзоскелету увеличить защиту головы

Как экзоскелету увеличить защиту головы? С одного выстрела ПБ в голову, челы в экзоскелетах валяться!

Найдешь, и мне расскажешь. Пока могу только рассказать, что имеет отношение к защите
головы у экзосеклета:
outfit.ltx -> bones_koeff_protection = exo_helmet_damage
damages.ltx -> [exo_helmet_damage]:body_exo_damage,head_helmet_damage
[head_helmet_damage]
bip01_neck = 1.0, 0.2
bip01_head = 1.0, 0.2
eyelid_1 = 1.0, 0.2
eye_left = 1.0, 0.2
eye_right = 1.0, 0.2
jaw_1 = 1.0, 0.2


Конфиг Петрухи

Конфиг Петрухи gamedata/config/gameplay/charecter_esc_desc.xml,

Петруха называется esc_ranger


конфиг самого ПНВ

А нельзя поковырять конфиг самого ПНВ? Например, сделать его четким, но уменьшить
дальность видимости...

Ковыряю. Вывих мозга уже заработал, не смотря на знание ассемблера и представления
машинных кодов. Постпроцессы весьма сложны для понимания, нужно изучать. Пока могу
предложить следующее:

1. в файле \gamedata\config\misc\postprocess.ltx в конце в секции Postprocess изменяем
nightvision_bad.ppe на nightvision.ppe
ПНВ остается зеленым и довольно паршивым, но хотя-бы не двоится в глазах
или

2. там же секцию
[effector_nightvision_bad]
pp_eff_name = nightvision_bad.ppe
pp_eff_cyclic = 1
заменяем на
[effector_nightvision_bad]
pp_eff_name = psy_antenna.ppe
self.base_amplitude = color(0.2,0.15,0.0)
pp_eff_cyclic = 1
blur = 5
gray= 0
noise = 0
noise_scale = 0
noise_color = 0.535, 0.493, 0.389, 0
self.gray_color = 0.535, 0.493, 0.389
self.base_color = 0.535, 0.493, 0.389
ПНВ становится гораздо симпатичнее.
Вообще на данный момент без супер-напряга можно включить в игру 4 вида уже готовых
ПНВ: абсолютно никакой с косоглазием, плохонький без косоглазия, желтый среднего качества и голубой цифровой. Пси ПНВ я еще не пробовал.
Дальность видимости уменьшить нельзя, также нельзя сделать "настоящий" тепловизор,
только светоусилитель. Ну, насколько я пока понял.

Попробовал ПНВ из секции
[effector_nightvision_psy]
pp_eff_name = psy_antenna.ppe
pp_eff_cyclic = 1
симпатично и удобно, правда на ПНВ не очень похоже. Хотя в принципе можно подключать

как пятый вид ПНВ.


Конфиги квестовых трупов.

Кто знает где прописаны конфиги квестовых трупов на кордоне?

а КТО ИМЕНО? По идее трупы должны прописываться там же где и живые в

character_desc_escape

Особенно интересует труп у вагончика и труп на ферме.
вот это помоему на ферме
<specific_character id="esc_stalker_novice_default3" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_npc_u_green_stalker_3</icon>
<bio>esc_stalker_novice_bio</bio>
со вторым сложнее, но помоему вот этот у вагончика
<specific_character id="esc_stalker_novice_default4" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_npc_u_green_stalker_3</icon>
<bio>esc_stalker_novice_bio</bio
Кстати если тебе нужен гарантированный труп положи тому который лежит у входа в тунель с электрой
<specific_character id="esc_stalker_novice_default9" team_default = "1">
<name>GENERATE_NAME_stalker</name>
<icon>ui_npc_u_green_stalker_5</icon>
<bio>esc_stalker_novice_bio</bio>
хотя там новичков трупов 5 или 6 esc_stalker_novice_default10 тоже труп. Все похожи друг на друга. Так что окончательно можно понять только по экспериментировав с ними . Я только за
esc_stalker_novice_default9 уверен


Лут оружие

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

В папке misc, такие файлы:

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

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

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

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


Мелочи

Подскажите, какой файл отвечает за изображение в телевизоре?
\gamedata\textures\fx\fx_stalker_001.dds - fx_stalker_030.dds

Вот я хочу сократить время "жизни" трупа. Неохота их самому утилизировать. И нагрузка на комп лишняя, обсчитай-ка их всех

\gamedata\config\creatures
monsters.ltx
stalkers.ltx

corpse_remove_game_time_interval = xx ; in hours
stay_after_death_time_interval = xx ; in hours

вместо 'xx' сколько в часах будет валятся труп,для квестовых нпс не действует

Как отключить излучатели в х16 и х10 с начала игры?

Ищем в оригинальной gamadata инфопоршни, которые выдаются при отключении x-16 и нахождении документов в х-18. Все инфопоршни находятся в файлах info_..... (те которые тебе нужны находятся скорей всего в файлах либо
info_l08yantar, либо info_l06dark_valley_u, либо info_l06yantar точнее не скажу потому как сам не искал эти инфопоршни). Находишь нужные инфопоршни и вставляешь в диалог например Сидору вот так :

phrase id="199">
<text>escape_trader_start_dialog_199</text>
<action>escape_dialog.give_weapon_to_actor</action>
<action>escape_dialog.give_knife_to_actor</action>
<give_info>esc_trader_direct</give_info>
<give_info>tutorial_wounded_start</give_info>
<next>1999</next>

где вместо esc_trader_direct вставляешь свой инфопоршень. Все после разговора с Сидором у тебя
автоматом засчитывается отключение х-16 и и х-18.(да может быть такое что например за х-16 отвечает несколько инфопоршней - 1)Принести доки Призрака бармену и 2) отключить пси-установку тогда тебе надо будет искать уже 2 инфопоршня и опять же вставлять оба в диалог Сидору. Надеюсь понятно?

Как сделать в описании цветные строки? :какие команды?

Править в любом текстовом редакторе. Как видите, можно просто открыть чей-нибудь код и сделать по аналогии:

Код

<string id="bandit_outfit_description">
<text>%c[255,1,255,255]Удар:%c[255,1,255,1] ... Электрошок:%c[255,1,255,1] +5%\n%c[default]
Традиционная одежда бандита...</text>
</string>

%c[255,1,255,255] - последние три цифры - цвет в системе RGB, первая - прозрачность (если не ошибаюсь).
%c[default] - понятно, цвет по умолчанию.

Убрать ты их не сможешь а вот убрать им эффект Электры можно. Короче иди в gamedata/scripts/bind_monster и ищи там

amk.on_monster_hit(obj, amount, local_direction, who, bone_index)

if obj:section()=="electro_chimera" and time_global()>(self.charge_time or 0)+3000 then
amk_particle.amk_particle({particle="anomaly2\\electra2_blast",pos=obj:bone_position("bip01_spine"),sound="anomaly\\electra_blast1"})
local dist = db.actor:position():distance_to(obj:bone_position("bip01_spine"))
if dist < 20 then
local h = hit()
h.impulse = 0
h.draftsman = db.actor
h.direction = vector():set(0,0,0)
h:bone("bip01_spine")
h.power = 1/dist
h.type = hit.strike
db.actor:hit(h)
h.power = 15/dist
h.type = hit.shock
db.actor:hit(h)
end
self.charge_time=time_global()
end

Измени это так.

amk.on_monster_hit(obj, amount, local_direction, who, bone_index)

if obj:section()=="electro_chimera" and time_global()>(self.charge_time or 0)+3000 then
amk_particle.amk_particle({particle="anomaly2\\electra2_blast",pos=obj:bone_position("bip01_spine"),sound="anomaly\\electra_blast1"})
local dist = db.actor:position():distance_to(obj:bone_position("bip01_spine"))
if dist < 20 then
local h = hit()
h.impulse = 0
h.draftsman = db.actor
h.direction = vector():set(0,0,0)
h:bone("bip01_spine")
h.power = 0/dist
h.type = hit.strike
db.actor:hit(h)
h.power = 0/dist
h.type = hit.shock
db.actor:hit(h)
end
self.charge_time=time_global()

...некорректно(очень жирно) отображаются текстуры колючей проволоки на заборах...

удали shaders.xr в геймдате

по уже наверное 10й просьбе "убрать эфект при обыске зомби" в Мародер моде решил полазить в скрипте и нашел вот это:

открыть файл xr_motivator.script:
найти в нём строчку
sak.zombie_checkup()
и поставить перед ней два дефиса.

А как сделать видимыми те штуки (аномалии) которые хим.ожог делают?

gamedata\config\misc\zone_sakbuzz.ltx удалить точку с запятой
;idle_particles
;blowout_particles

Как править файлы описания "xml"? По цвету:какие команды?

Править в любом текстовом редакторе. Как видите, можно просто открыть чей-нибудь код и
сделать по аналогии:
Код:
<string id="bandit_outfit_description">

<text>%c[255,1,255,255]Удар:%c[255,1,255,1] ... Электрошок:%c[255,1,255,1] +5%\n
%c[default]

Традиционная одежда бандита...</text>
</string>
%c[255,1,255,255] -последние три цифры -цвет в системе RGB, первая -прозрачность (если

не ошибаюсь).
%c[default] -понятно, цвет по умолчанию.

Как изменить скорость автовпгрейда в АИ паке?

в файле xrs_armor.script параметр:
local upgrade_delta = 720
когда время шло 1:10 (в АМК 1.4) 720 соответствовало 3 игровым суткам, в 1.4.1 это будет 6 суток.

Исправление некорректного отображения ячеек рюкзака в Инвентори моде:

открыть inventory_new.xml
просмотреть до строки dragdrop_bag
в этой строке найти height="300" и исправить на height="207"
И то же самое проделать для inventory_new_16.xml (это для широкоформатных мониторов)

Два сталкера на одном компе возможно?

Вот кстати сейчас решил поковырять реестр на свой страх и риск-)И получилось!Вообщем заходишь Пуск-выполнить,там пишешь regedit
Открывается окно редактора реестра,в нем находишь раздел
HKEY_LOCAL_MACHINE\SOFTWARE\GSC Game World, удаляешь GSC Game World и вуаля!
Старый сталкер работает и нового можно поставить.

Как отключить спавна НПС (засада) около тайников, удары по лицу, минирование трупов
и "лучше тебе с ним не встречатся" (для аддона "Заминированные тайники")?

Для отключения спавна вставь после строки
function empty_treasure(box_id)
строчку
do return end
Править файл amk_offline_alife.script

1. Удары по морде и "лучше тебе с ним не встречатся"...
Удалить функции set_be_enemy_f и set_be_enemy и их вызовы
или удалить код из этих функций

2. Минирование трупов
Удалить функцию set_body_trap и ее вызовы
или удалить код из тела этой функции

Как уменьшить радиус шмона до более-менее приемлемых 50-100 метров?

В файле scripts\amk_offline_alife.script надо найти строчки:
local look_radius_box = 100
local look_radius_ruksak = 200
первая отвечает за радуис поиска стационарных тайников, вторая -за переносные рюкзаки.

Лечение "удара" наносимого ГГ тайником Кости на Радаре:

В файле spawn_teleport.script находим вот эту функцию

function polet()
local h = hit()
h.power = 5
h.direction = vector_rotate_y(db.actor:direction(), 90)
h.draftsman =
db.actor
h.impulse = 100
h.type = hit.wound
db.actor:hit(h)
db.actor:give_info_portion("polet")
end

В ней меняем значение h.power = 5. Уменьшение цифры приводит к уменьшению хита.

Как убрать аннимацию подбрасывания болта после каждого броска7

В конфиге болта (w_bolt) делаем так: "anim_show = draw3" меняем на "anim_show = draw

Как добавить диалог на лечение?

Добавить:
        <actor_dialog>dm_help_wounded_medkit_dialog</actor_dialog>

в секцию нужного профиля НПС в "character_desc_ххх".xml

Цена ремонта у Долговязого

сли не сложно подскажите где указывается сколько берется за ремонт брони в баре , не мог найти , туплю наверное blush.gif
Если не ошибаюсь расчет ведется в процентах от стоимости брони. Делаешь броню дешевле - цена ремонта падает. N6260
добавил - а где процент указывается именно это мне и интересно ...

файл bar_dialogs.script
local armor_profit_margin = *** множитель требуемых денег на ремонт. Сяк

Продление времени исчезновения частей БТРа

Кстати, если хочешь, можешь продлить время неисчезновения запчастей. Вот строка, которая отвечает за это:
Код:
[autoremove_parts]
time                     = 30
Чем больше цифра, тем дольше запчасти будут валяться


Метка на НПС

А как сделать чтобы метку на волка поставить? А лучше не на Волка а какого-нибудь
обычного непися?

По поводу метки... Получить Волка как объект и поставить
на него метку:
level.map_add_object_spot_ser(npc.id, "blue_location","Волк")
или
level_tasks.add_location(npc.id, "blue_location","Волк")
treasure -Иконка тайника
green_location -Зеленая стандартная пометка квестов
blue_location -Кружок с человечком
crlc_big -Большой круг типа где-то тут...
crlc_mdl -Средний круг
crlc_small -Маленький круг
alife_presentation_monstr -Большая белая точка


Монстры

В папке gamedata\config\creatures лежат файлы m_*.ltx для каждого монстра.

В этих файлах есть по три секции типа weak, normal и strong. В каждой из этих секций есть
подсекция которая отвечает за иммунитет монстра данного типа, к примеру вот:
[bloodsucker_immunities_weak]
....
fire_wound_immunity = 0.18 -так вот чем больше значение этого параметра, тем легче убить мутанта из огнестрельного оружия.

Эти значания есть коэффициенты на которые множиться урон нанесенный данному обьекту.
Тоесть можно ставить и больше чем единица.
Health не трож, так как от нее толку очень мало.
Еще есть один способ ослабить монстров, это изменить им damage. Вот например damage кровососа:
[m_bloodsucker_damage]
;bone_name = <hit_scale>,-1,<wound_scale>
;<hit_scale> -коэфф. изменения хита (уменьшения здоровья)
;<wound_scale> -коэфф. изменения величины открытой раны
default = 0.5, -1, 0.5
bip01_spine = 0.5, -1, 0.5
bip01_spine1 = 0.5, -1, 1.0
bip01_spine2 = 0.5, -1, 1.0
bip01_spine3 = 0.5, -1, 1.0
....
Чем больше здесь первый параметр тем уязвимее это место у данного мутанта.


награда за квесты

Правильно ли я понимаю, что награда за квесты прописана в
E:\gamedata\config\misc\task_manager.ltx?

Если да, то где посмотреть награду за квесты Скряги, Макса и Кэпа? В указаннном файле я этих данных не нашёл...
В файле task_manager.ltx прописаны награды за однотипные квесты в ветке диалогов с квестовыми
персонажами и торговцами: "Мне нужна работа, есть что на примете?" Это такие
квесты как: принести предмет, найти артефакт, зачистить территорию от монстров, убить
сталкера, защитить лагерь (например, в ангаре на Свалке).

Награды за квесты Скряги, Макса и Кэпа пожно посмотреть, и соответственно, поправить в
файле dialogs_military.script.
Так, например, строка с наградой Макса выглядит так:
function send_desert_eagle (actor, npc)
dialogs.relocate_item_section(npc, "wpn_desert_eagle", "in")
end


наполнение редких тайников

Подскажите, какие файлы отвечают за наполнение редких тайников в АМК?

gamedata\scripts\treasure_manager.script

массив rare_list

Вероятность выпадения тайников -в treasure_manager.script
rarets = 90 (чем меньше значение, тем чаще вападают тайники)


не работает интерактивный худ

Для "уникального экзоскелета" и некоторых других уникальных комбинезонов не работает
интерактивный худ. Забыли или так и было задумано? Подскажите пожалуйста,
как в "домашних условиях" включить для таких комбинезонов интерактивный худ?

Все просто. Всего то нужно дописать outfit_exo_m1="hud_exo" в amk_mod.script в котором все
комбинезоны, для которых применяется интерактивный худ, перечисляются через запятую с
указанием текстуры худа. А в unique_items я только actor_visual =
actors\killer\stalker_ki_exoskeleton добавил для этого экзоскелете, что бы при включении камеры
от третьего лица, он выглядел как экзоскелет наемников, без этих красных "габаритных
огней". Теперь он шарового цвета, примерно как комбинезоны наемников. Правда иконки в
полный рост для экзоскелета наемников нет... ну да и хрен с ней. По аналогии можно исправить
и другие комбинезоны для которых не прописан худ.


НПС покупают оружие

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 .


Советы харкорщика

В actor.ltx поменял
satiety_v = 0.000005 на 0.000025
теперь есть нужно почаще, раз в 4-6 часов, соответственно батоны не лишний вес в рюкзаке, порой и за кусок хлеба дратся прийдется:)

satiety_health_v = 0.0001 на 0.00001
Ну от чего так быстро восстанавливается здоровье? Теперь "кровь камня" будет приносить побольше пользы, а здоровье само по себе будет восстанавливатся довольно медленно.

bleeding_v = 0.0005 на 0.0025
wound_incarnation_v = 0.003 на 0.001
min_wound_size = 0.0256 на 0.005

Теперь без бинтов - никуды!


обавление нового броника в игру с включением оного в таблицу ИММ

death_manager.script
 drop_manager:create_release_item()
  if vis then
    -- bandit
            if string.find(vis,"stalker_bandit") then sect = "bandit_outfit" end

if vis == "stalker_sv_exoskeleton" or vis == "новый костюмl" then sect = "svoboda_exoskeleton" end
if vis == "новый костюм" then sect = "новый костюм" end  - а вот так если добавил новый костюм (секцию).
...............
если с новой, то надо в этом новом конфиге сделать новый визуал в сложенном состоянии
...............
этот новый изуал в сложенном состоянии прописывается в файле xrs_armors в таблице armor_levels и ему присваивается цифра. Цифра - это класс. То есть непись, получив костюм проверяет его визуал в сложенном сотоянии, узнаёт эту цифру и если она больше той, что у него сейчас, он переодевается
local armor_levels={
    green_stalker_suit = 0,
    novice_suit = 0,
...............
 в таблице suits_to_visuals - тут как прописывать?
...............
local suits_to_visuals = {
    stalker={
        green_stalker_suit = {
            [[novice\green_stalker_1]],
            [[novice\green_stalker_10]],
            [[novice\green_stalker_antigas]]
stalker - это группировка (для каждой группировки надо прописать - см. ниже в таблице.
green_stalker_suit - это визуал в сложенном состоянии
novice\green_stalker_1 - это визуал
..................
соответственно по аналогии делаешь новый такой блок и вписываешь параметры от своего визуала. и так в каждой группировке в этой таблице.
Понял. А выпадение брони на трупе где прописать?
в death_manager
 if vis then
    -- bandit
            if string.find(vis,"stalker_bandit") then sect = "bandit_outfit" end
            if vis == "stalker_bandit_drunk" then sect = "outfit_bandit_m1" end
if vis == "новый_визуал" then sect = "новая секция" end


Обработка текстуры прицела

Предполагается что пользователь имеет минимальные навыки работы с фотошопом.
Пишу все для своего варианта видеокарты NVIDIA GF8600 M GT и разрешения 1440х900.
Для других производителей - не озадачивался и не знаю. По другим разрешениям - принцип действий аналогичный.
Допускаю, что должны быть схожие инструменты и у других производителей видеокарт или этот набор плагинов будет универсальным.
Инструменты:
1. Фотошоп (у меня Adobe Photoshop CS3)
2. плагин для работы с dds файлами - (NVIDIA Photoshop Plug-ins кажется на сайте NVIDIA скачал, последняя весия) Подключать по инструкции фотошопа.
3. необязательно - просмоторщик dds - любой, лишь бы быстро позволял dds файлы посмотреть (WTV_0_86b - NVIDIA сайт, последняя версия)
Работа. (Сокращения: ПКМ - правая кнопка мыши, ЛКМ - левая)
Вариант 1 (текстура прицела из оригинала)
1. Выбираем файл прицела: wpn_cro_crosshair.dds - Вес оригинала 1 Mb
2. ПКМ "открыть с помощью Ps
3. При открытии соглашаемся на Convert Images to 8 bit ---> Ok
4. Подключаем к редактированию Альфа-канал (Shift + ЛКМ с курсором на канале)
5. На закладке "Изображение" выбираем "Размер изображения" или просто клавиатурный вызов Alt+Ctrl+I
6. В открывшемся окне читаем размер выбранной текстуры прицела в верхнем поле "Размерность" в пискелях.
Если сразу не открыло в пикселях, а в % - надо выбрать пикселы.
Имеем: ширина - 1024, высота 1024. Изображение квадратное, овал вытянут по вертикали.
7. Убираем галочку "Сохранить пропорции"
8. В поле "Высота" записываем 768 и жмем кнопку "Да" и получаем - Окружность идеальная.
9. Опять открываем "Размер изображения", устанавливаем галочку "Сохранить пропорции" и в верхнем поле записываем данные высоты нашего монитора - 900. Жмем "Да"
10. Открываем на закладке "Изображение" "Размер холста" (Alt+Ctrl+C) и в поле "Новый размер" устанавливаем ед. изм. пикселы и читаем данные: Ширина 1200, высота 900
11. Записываем Ширину нашего монитора - 1440. Проверяем чтоб стрелки в строке "Расположение" были направлены от центра и жмем "Да".
12. Убираем видимость цветных каналов&
13. Инструментом "Прямоугольная область" выделяем отличающуюся область по краю. Можно не выеживаться и слегка захватывать область нормального изображения.
14. На выделенном ПКМ выбираем "Выполнить заливку", проверяем установки: Использовать - Белый, Наложение - Режим - Нормальный - Непрозрачность 100% и жмем "Да"
15. Шаги 13 и 14 повторяем для второй стороны.
16. Отключаем Альфа-канал ---> просто навести курсор на строчку RGB и нажать ЛКМ.
17. Повторяем шаги 13 и 14 С установками Цвет - Черный - 100% для каждой полосы по краю изображения.
18. На закладке "Файл" выбираем "Сохранить как", указываем где сохранять, пишем новое имя файла wpn_1440W_cro_crosshair.dds, проверяем Тип файлов (должен быть D3D/DDS(*.DDS)) ---> "Сохранить"
19. На открывшемся окне плагина (NVIDIA dds Format v8.23) если установлены параметры иные устанавливаем:
-- DXT5 ARGB 8 bpp| interpolated alpha
-- 2D Texture
-- (.) в Generate MIP maps
-- All
Жмем Save и немного ждем и готово! Вес файла 1,65 Mb

Вариант 2 (текстура уже была кем-то изменена)

1. Выбираем файл текстуры прицела - вот тут мне помог просмоторщик WTV - быстрее чем фотошопом и при установке прога правильно становиться и любое изображение на экран выводит таким как я его увижу в игре.
Из предложенного в солянке набора прицелов выбрал ту текстуру, которая наиболее была визуально близка к идеальной окружности.
Можно остановиться и записав имя файла отправиться в конфиги и вписать выбранные для себя текстуры в оружейные файлы. Но продолжим... Задача - Подгнать под правильное отображение и облегчить вес файла текстуры.
Пусть это будет Файл 1P21-AMK_1680-W.dds Вес 4,79 Mb
На экране вытянутый по вертикали овал.
Повторяем шаги 1-6 из Варианта 1
Имеем: Ширина 2456, высота 2048
Немного лирики с калькулятором.
Файл назван ...AMK_1680-W
Чтобы вывести квадрат на экран широкоформатника изображение должно иметь стороны пропорциональные формату разрешения монитора.
Для 4:3 размер базового квадрата составит 1024/4=768/3=256 пикселей
Для 16:9 -- 1280/16=720/9=80
Для 16:10 -- 1280/16=800/10=80
Расчетные соотношения по фактической картинке должны бать кратны (пропорциональны) базовому квадрату. Иначе перекос.
Проверим нашу картинку:
2456/16=153,5
2048/9= 227,5(5) - не правильно
2048/10= 204,8 - не правильно
пересчитаем высоту на квадрат 153,5
2048/153,5 = 13,3420195
но это получается неправильный формат 16:13,34 потому и плющит
Попробуем пересчитать высоту по к= 16/10=1,6
2048/1,6=1535
Делаем шаги 7-8 с данными по высоте 1535
Получили идеальный круг
Делаем шаг 9 установив галочки на "Сохранить пропорции" и "Масштабирование стилей"
Получили изображение 1440х900
Далее шаг 19 с уникальным именем и вперед в конфиги. Вес нового файла 1,65 Mb

Искать и заменять старые текстуры оптики в конфигах стволов, weapons.ltx и unique_items.ltx
записывая как: например -
scope_texture = wpn\wpn_1440W_crosshair ;wpn\wpn_crosshair ;wpn\HAKKO-15CH-b-AMK-N

PS. При трансформации размеров частично замывается альфа-канал на маркерных метках прицела. На качество картинки это особого влияния не оказывает - маркеры хорошо видно.
Но если есть особое желание - можно почистить и сделать маркеры по-ярче. Работать нужно на максимальном увеличении картинки и отключенных каналов цвета.
Чем белее прорезь в альфа-канале - тем ярче будет маркер.

Собственно и все. Дальше - пристрелка, но это уже другая история и каждый решает идивидуально.


овые боеприпасы нужно прописывать в

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

1. _g.script (и для чего это делается?)
2. death_generic.ltx (и для чего это делается?)
3. death_items_by_levels.ltx (и для чего это делается?)
4. death_items_count.ltx (и для чего это делается?)

1. _g.script
Используется в двух местах.
function object_type(obj) -функция не рабочая, там кривые clsid.
ammo_section = {} -объявляет глобальный массив, который может использоваться из различных
скриптов (например, treasure_manager)

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


Определение позиции актора

Помогите, пожалуйста, с вычислением позиции актёра. Как узнать координаты я знаю (rs_stats 1), а вот как узнать вектор? Заранее большое спасибо.
Где-то был PositionInformerPro от V.I.R.U.S'а, но не помню,на каком форуме я его видел. Удобная штука.
На крайняк допиши вот это в ui_main_menu.script в самый конец, по кнопке "титры" теперь будет вместо них выскакивать сообщение с координатами (Автор - не я):

CODE:

function main_menu:OnButton_credits_clicked()
-- Выдадим сообщение о нашем местоположении
local text
local vid
local gvid
local a = vector() -- Тип переменной
local text

a = db.actor:position() -- Наше положение в координатах
vid = db.actor:level_vertex_id()
gvid = db.actor:game_vertex_id()
text = "Позиция:\\nX= "..a.x.."\\nY= "..a.y.."\\nZ= "..a.z.."\\nlevel_vertex= "..vid.."\\ngame_vertex_id= "..gvid
news_manager.send_tip(db.actor, text, nil, nil, 30000)
end


Оптимизация

смотрим так же'' работа с консолью''


Оружие

Каким образом можно редактировать оружие в игре -от характеристик до описания. Характеристики
оружия хранятся здесь:

...\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 -визуальный размер дырки на стене от пули


Оружие не убирается

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

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

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


Основные
Команда Параметры Описание
preset Minimum, Low, Default, High, Extreme Тоже, что и общая опция Настроек Качества графики в игре.
ai_use_torch_dynamic_lightson, offТоже, что и менюшная опция Фонарики от НПС.
bind action,key Назначить действие на первичную конкретную выбранную клавишу.
bind_console
bind_list Список всех текущих назначенных клавиш.
bind_sec action,key Назначить действие на вторичную клавишу.
cam_inert 0.000,1.000 Управление инертностью камеры.
cam_slide_inert0.000,1.000
cdkey
cfg_load filename.ltx Загружает конфигурационный фаил определенного названия из той же папки, что и User.ltx
cfg_savefilename.ltx Сохраняет текущий конфигурационные настройки в новый .ltx фаил с
указанным вами именем в ту же папку что и User.ltx.
check_for_updates
cl_cod_pickup_mode0,1
cl_dynamiccrosshair on,off Тоже, что и менюшная опция Динамический Прицел.
cl_voteno
cl_votestart
cl_voteyes
demo_play demoname Проиграть записанную вами демку сохраненной игры.
disconnect Отсоединяет вас от текущей игры и выбрасывает в главное меню.
flush Создать лог в папке \Documents and Settings\All Users\Documents\STALKERSHOC\
logs
g_always_run on,off Включить постоянный бег/ходьбу.
g_autopickup on,off Автоподбор предметов, вкл/выкл
g_backrun on,off Возможность передвижения спиной бегом, вкл/выкл
g_corpsenum0,100
g_eventdelay0,1000
g_game_difficulty gd_novice, gd_stalker, gd_veteran, gd_master Тоже, что и опция Уровень
сложности в игровом меню.
help Список всех консольных команд.
hud_crosshair on,off – Тоже, что и менюшная опция Показывать Прицел.
hud_crosshair_diston,off– Тоже, что и опция в меню Дистанция до цели.
list_actionsСписок всех действий, которые можно прибиндить на кнопки.
loadsavenameЗагружает сохраненную игру с указанным вами названием.
main_menuГлавное меню, каждый вызов вкл/выкл
mouse_inverton,offТоже, что и опция в меню Инвертировать Мышь.
mouse_sens0.050,0.6000Тоже, что и менюшная опция Чувствительность Мыши.
ph_frequency
ph_iterations5,50
quitВыйти из игры в Винду.
save savename Сохранить текущую игру под конкретным именем(дефолт – быстрое
сохранение).
screenshot Сохранить скриншот в папку \Documents and Settings\All
Users\Documents\STALKER-SHOC\screenshots
start
stat_memoryПоказывает статистику использования оперативной памяти игровым движком.
stat_modelsПоказывает список всех загруженных на данный момент моделей.
unbindactionРазбиндить любую первичную клавишу с назначенного действия.
unbind_console
unbind_secactionРазбиндить любую вторичную клавишу с назначенного действия.
unbindallРазбиндить все назначенные на действия клавиши.


Отключение дождя

Отключение дождя очень помогает.
/ config / weathers
В каждом файле этой папки, название которого начинается с “weather” изменить значение параметра “rain_density” на
0.0. (Файлы открываются блокнотом.)


Отслеживание монстров
(выдает инфу о входящих в онлайф монстрах)
замени в файле bind_monster.script
function generic_object_binder:net_spawn(sobject)
на
function generic_object_binder:net_spawn(sobject)
  abort("generic_object_binder:net_spawn(): self.object:name()='%s'", self.object:name())


Отслеживание НПС

Отслеживание НПС (выдает инфу о входящих в онлайф НПСах)

открой xr_motivator.script и найди там net_spawn
function motivator_binder:net_spawn(sobject)
  printf("motivator_binder:net_spawn(): self.object:name()='%s'", self.object:name())
  и замени на:
function motivator_binder:net_spawn(sobject)
  printf("motivator_binder:net_spawn(): self.object:name()='%s'", self.object:name())
  abort("motivator_binder:net_spawn(): self.object:name()='%s'", self.object:name())


Очень интересно -реалезована зависимость ttx от ранга.

Урон (ttx) у оружия в той схеме при разных уровнях сложности разительно отличаеться а по
идее должен быть одинаков.
Можно например оставить в конфигах верхний потолок ttx чтоб в дальнейшем избежать не

приятностей типа (двух обойм на человека).
При зависимости ttx настроек и ранга игрока создаеться совершенно иная концепция "слож

ности" которая может быть очень полезна для геймплея. В общем правка баланса в игре одна
из самых сложных тем на сегодняшний момент.
В моем видение все таки интереснее ограничить сложность в игре в файле m.stalker а в

частности на меткости врагов.
Вот мой вариант секции в файле астоr.ltx
hit_probability_gd_novice = 0.20
hit_probability_gd_stalker = 0.40
hit_probability_gd_veteran = 0.60
hit_probability_gd_master = 0.80
При новичке шанс попадания около 20% что являеться довольно оптимальным вариантом

для первого прохождения игры.

Далее слжность по рангам начинает расти в арифметической прогрессии и достигает 80% на
мастере.
При мастере я намеренно не делаю упор на хардкор 1.0 т.к такая меткость абсолютно не со

ответствует действительности при том что уже при этих характеристиках ГГ уже начинает
ощущать всю "прелесть" данного ранга.


Очистка слота бинокля от посторонних девайсов

в файл bind_stalker.script вместо
function actor_binder:update(delta)
вставляешь
local my_first = true
function actor_binder:update(delta)
    if my_first then
        dbglog("check bino start")
        local slot4 = db.actor:item_in_slot(4)
        if slot4 then
            dbglog("actor has %s in slot4", slot4:name())
            if slot4:section() ~= "wpn_binoc" then
                alife():release(alife():object(slot4:id()), true)
                amk.spawn_item_in_inv("wpn_binoc", db.actor)
            end
        end
        my_first = false
    end

    Наличие бинокля в инвентаре обязательно.


Параметр перекрестия

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

В файле \gamedata\config\system.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 ;масштаб прицела (относительно радиан)


первый слот для детектора

Как использовать первый слот для детектора?

Если использовать первый слот для детектора, то можно использовать одну ячейку пояса
для арта.
Для установки детекторов в 1-й слот: (везде)
gamedata\config\misc\items.ltx
Изменить в разделе "devices"
Для простого детектора
строка 631
;slot = 3
на
slot = 1
аналогично для других детекторов.
Теперь детектор можно носить как в первом слоте, так и на поясе.


Переносимый вес

Максимальный переносимый вес прописан в gamedata/config/creatures/actor.ltx строчка max_walk_weight
Отображение веса в инвентаре (выше этого значения нельзя бегать): gamedata/config/inventory_sect.ltx строчка max_weight.


переносимый вес у экзы

Как изменить переносимый вес у экзы?

Изменяй значение этих строк в секции нужной брони:
additional_inventory_weight = 15
additional_inventory_weight2 = 15 ; 40+


ПНВ из Priboj Stori

Эффект выжигатея заменяющий шейдер плохого ПНВ в Priboj Stori.

Файл: "c:\Program Files\GSC World
Publishing\S.T.A.L.K.E.R\gamedata\config\misc\postprocess.ltx"

Замени все в секции на effector_nightvision_bad:
[effector_nightvision_bad]
pp_eff_name = psy_antenna.ppe
self.base_amplitude = color(0.2,0.15,0.0)
pp_eff_cyclic = 1
blur = 5
gray= 0 ;.9
noise = 0 ;.5
noise_scale = 0
noise_color = 0.535,
0.493, 0.389, 0
self.gray_color = 0.535, 0.493, 0.389
self.base_color =
0.535, 0.493, 0.389


ПНВ с зеленого на улучшенный

Подскажите, плз, как изменить у экзоскелета свободы ПНВ с зеленого на улучшенный,
как у ССП99-М?

в папке gamedata-config-misc лежит файл amk_mod_outfits.ltx там находишь строчку:
[svoboda_yellow_exo_outfit_m1]:outfit_base наже находишь еще одну строчку: nightvision_sect
= effector_nightvision_bad и меняешь на: nightvision_sect = effector_nightvision_good


Подсветка артов

И еще вопрос обьясните подробно плз как включить подсветку артов?

Открываешь artefacts.ltx из S.T.A.L.K.E.R\gamedata\config\misc
Ищешь артефакт и меняешь параметры (если нет, добавляешь):
;подсветка арта
lights_enabled = true(false) (включено(отключено))
trail_light_color = х, х, х (R,G,B.)
trail_light_range = х (радиус свечения)


Подскажите как убрать промежуток между сном

в amk_mod.script в разделе SLEEP_AMK
function test_for_need_sleep_matras(oid)
if alife():object(oid)==nil then
local enemy=false
for a=0,65534 do
local obj=level.object_by_id(a)
if obj then
if (( IsStalker(obj) and amk.get_npc_relation(obj,db.actor)=="enemy" ) or
IsMonster(obj)) and obj:position():distance_to(db.actor:position())<40
and obj:see(db.actor) then
enemy=true
break
end
end
end
if enemy==true then
amk.send_tip(game.translate_string("not_need_sleep_enemy"),nil,nil,5)
else
if amk.load_variable("blowout",-1)>-1 and amk.load_variable("blowout",-1)<5 then
amk.send_tip(game.translate_string("blowout_not_sleep"),nil,nil,5)
else
if amk.load_variable("block_sleep_menu",0)==0 then
-- if amk.load_variable("gg_need_sleep",0)>10 then
local spwn=ui_cheat.cheat(get_hud())
level.start_stop_menu(spwn,true)
-- else
-- amk.send_tip(game.translate_string("not_need_sleep"),nil,nil,5)
-- end
else
amk.send_tip(game.translate_string("not_need_sleep_nrg"),nil,nil,5)
end
end
end
amk.spawn_item_in_inv("matras")
end
end


Полезные ссылки

Сайт АМК

http://amk-team.ru

Резервный форум АМК:
http://meceniy-strelok.3dn.ru/forum/

Сайт Сталкер-Портал:
 http://www.stalker-portal.ru/

Сайт Доместоса (ретекстуринг Зоны):
http://drp.do.am/
http://drp.do.am/.ru

Форум на AG.ru:

http://forums.ag.ru/?board=fps&action=display&s=0&num=1174753362&start=0

Полезный FAQ:
http://stalker-planet.ru/forum/13-84-1

Хороший сайт по оружию:
http://world.guns.ru/main-r.htm


поменять плату за проход под мостом

Как поменять плату за проход под мостом на Кордоне:

gamedata.scripts.escape_dialog.script

Почти в самом конце функции has_soldiers_bribe и give_soldiers_bribe, увеличил 500 до 5000.


Правка свойств ГГ

В этом разделе расмотрим изменение характеристик главного героя,далее ГГ или Меченый.


Предметы

items.ltx:

Параметры предметов:

В этом файле в квадратных скобках написан тот предмет, чьи параметры идут ниже, за
квадр. скобками. Например: [kolbasa]:identity_immunities.
Параметры на примере колбасы:
class – к какому классу принадлежит предмет.
visual – модель.
cost – цена.
eat_health – сколько восстанавливает здоровья.(если будет 0, то колбаса лечить не будет.)
eat_power -сколько восстанавливает силы.

eat_radiation -сколько выводит/или добавляет радиации. (Насчёт этого не уверен, надо тестить.)

nv_weight – вес предмета.

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

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


Пример изменения положения оружия

Кстати о дробовиках, кто-нибудь знает, как пофиксить положение сайги "на плече" у ботов? А то висит в полуметре... телекинез, блин.
Kwendy поставь вот эти параметры.
strap_position = -0.2,-0.135,0.25
strap_orientation = -10,-5,10


Прописать рецепт.

Для тех, кто хочет получить рецепты МБГ и эл. дикобраз:

в файле \gamedata\config\gameplay\dialogs_yantar.xml ищем строку
<give_info>info_amk_recipt_tears_fire</give_info>
и под неё добавляем ещё две:
<give_info>info_amk_recipt_tears_fire</give_info>
<give_info>info_amk_recipt_electra_dikoobraz</give_info>
<give_info>info_amk_recipt_giant_small_brother</give_info>
Теперь за квест "костюм призрака" у Сахарова получаем сразу три рецепта:
слезы огня
эл. дикобраз
младший брат гиганта
Квест "костюм призрака" взят для примера


Прописываем костюм

Вопрос: Вот если я новый костюм в игру ввожу - то куда текстуры и модели ложить понятно. Где пишем конфиг и описание тоже ясно. А вот куда еще прописываем кроме продажи\квеста\спавна? В какие файлы? Помоги. Спасибо.

текстуры прописываем в \gamedata\textures\textures.ltx

В \gamedata\config\prefetch.ltx прописываем OGF-ы (без расширения файла)


Работаем с химерами.

Как убрать эл.химере эффект электры?

gamedata/scripts/bind_monster и ищи там:
amk.on_monster_hit(obj, amount, local_direction, who, bone_index)
if obj:section()=="electro_chimera" and time_global()>(self.charge_time or 0)+3000 then

amk_particle.amk_particle({particle="anomaly2\\electra2_blast",pos=obj:bone_position("bip01_spin

e"),sound="anomaly\\electra_blast1"})

local dist = db.actor:position():distance_to(obj:bone_position("bip01_spine"))

if dist < 20 then

local h = hit()

h.impulse = 0

h.draftsman = db.actor

h.direction = vector():set(0,0,0)

h:bone("bip01_spine")

h.power = 1/dist

h.type = hit.strike

db.actor:hit(h)

h.power = 15/dist

h.type = hit.shock

db.actor:hit(h)

end

self.charge_time=time_global()

end

Измени это так.

amk.on_monster_hit(obj, amount, local_direction, who, bone_index)

if obj:section()=="electro_chimera" and time_global()>(self.charge_time or 0)+3000 then

amk_particle.amk_particle({particle="anomaly2\\electra2_blast",pos=obj:bone_position("bip01_spin

e"),sound="anomaly\\electra_blast1"})

local dist = db.actor:position():distance_to(obj:bone_position("bip01_spine"))

if dist < 20 then

local h = hit()

h.impulse = 0

h.draftsman = db.actor

h.direction = vector():set(0,0,0)

h:bone("bip01_spine")

h.power = 0/dist

h.type = hit.strike

db.actor:hit(h)

h.power = 0/dist

h.type = hit.shock

db.actor:hit(h)

end

self.charge_time=time_global()

end

Как ослабить электрохимеру.

Файл gamedata/scripts/bind_monster.script , кусок кода:

Код

if obj:section()=="electro_chimera" and time_global()>(self.charge_time or 0)+3000 then

amk_particle.amk_particle({particle="anomaly2\\electra2_blast",pos=obj:bone_position("bip01_spin

e"),sound="anomaly\\electra_blast1"})
local dist = db.actor:position():distance_to(obj:bone_position("bip01_spine"))
if dist < 20 then
local h = hit()
h.impulse = 0
h.draftsman = db.actor
h.direction = vector():set(0,0,0)
h:bone("bip01_spine")
h.power = 1/dist
h.type = hit.strike
db.actor:hit(h)
h.power = 15/dist
h.type = hit.shock
db.actor:hit(h)

end
self.charge_time=time_global()

end
Если я правильно впиливаю, то значения отвечают за.
time_global()>(self.charge_time or 0)+3000 -электрошок заряжается три секунды.
if dist < 20 then -дальность действия разряда 20 метров.
h.power = 15/dist

h.type = hit.shock -собственно, повреждение электрошоком. Составляет аж 15 попугаев,
причём для умерщвления голого существа, как я понимаю, достаточно одного попугая.

h.power = 1/dist
h.type = hit.strike -вот это мне не совсем понятно, но скорее всего должно вызвать постэффект
и кровотечение, коих электра, очевидно, не вызывает. Свидетельствует об изощрённости
садизма Создателей.

Выложено исключительно для ознакомления, каждый трактует в меру своей испорченности
smile.gif Я себе уменьшил радиус до 10 метров и силу до 5, и смею надеяться, что химера
станет теперь сильным и опасным монстром, а не поводом сразу искать кнопку load.


Размер текста на часах

Как поменять размер текста, отображающего время?

В файле ui_custom_msgs.xml, где ты вставляешь объявление поля для написания времени,
типа:

<hud_show_time ......
есть объявление шрифта, типа
<text font="letterica18"
если вместо него проставить
<text font="graffiti32"
будут большие цифры с шрифтом типа граффити (похоже у тебя именно это и стоит),
а если
<text font="graffiti22"
то тоже будет граффити, но поменьше.


Разное

Вопрос: Как включить в игре Bloom?

Ответ: Через консоль -r2_ls_bloom_fast on

В игре вызываешь консоль, пишешь r2_gloss_factor n, где вместо n -любое число в диапазоне
от 1 до 10 (кажется). Больше значение -больше блеск поверхностей.

Но это не совсем то, что тебе (и многим) хотелось бы. К сожалению, кафель останется матовым,
просто на ряде поверхностей можно усилить эффект "маслянистого" блеска. С высокими
значениями r2_gloss_factor асфальт, например, выглядит мокрым, как при дожде. Выглядит
броско. Однако переусердствовать не стоит, значения выше 5 -перебор, как по-моему...
В общем, хоть какое-то, половинчатое решение...

Как сохранятся через консоль?

Вызвать консоль и набрать:
для сохранения: save хх
для загрузки: load хх
Где "хх" имя сейва. Лично я их просто нумерую.


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

вращение камеры при попаданиях -рандомный баг на статике
вроде правится выставлением cam_inert > 0 в user.tlx

стартовые рублики ГГ зашиты в allspawn-e. Проще всего в первом квесте Волка
(gamedata/config/misck/task_manager.ltx строку найдешь сам) прописать нужную тебе сумму в
вознаграждения

Открываем ...\S.T.A.L.K.E.R\gamedata\scripts\escape_dialog.script, и ищем
такую функцию
(строку):
function give_weapon_from_trader(trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
--dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
end
После выделенной строки вставляем такую конструкцию:
dialogs.relocate_money(trader, здесь указываем необходиму сумму денег, "in")
dialogs.relocate_item_section(trader, "wpn_spas12", "in")
Должно
получиться примерно так:
function give_weapon_from_trader(trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
--dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_money(trader, 10000, "in")
dialogs.relocate_item_section(trader, "wpn_spas12", "in")

end
В итоге, после взятия у Сидоровича квеста на "Ночную звезду", в самом начале, ГГ будет выдано
10000 рублей и СПАС-12.


Редактирование профиля НПС

\config\gameplay\character_desc_[название локации].xml

Каждый из них разбит на секции -по одной на NPC. Используются следующие параметры:
<name>...</name> -Имя (ссылка на строку в текстовом массиве).
<icon>ui_npc_...</icon> -Иконка для диалогов/торговли.
<bio>..._bio</bio> -Биография (в игре не используется).
<class>...</class> -Класс (лучше не трогать).Imp 12:46, 12 августа 2007 (EEST)Нужно для того
что-бы автоматические респавнеры могли спавнить немного разных персонажей. То есть
например в игре есть описание восьми (кажеться может и больше) разных новичков и что бы при автоматическом респавне не получалась куча братьев-близнецов, респавнер настраивается
на класс персонажей и спавнит случайным образом разных персонажей одного класса.
<community>...</community> -Группировка.
<rank>...</rank> -Ранг.
<reputation>...</reputation> -Репутация. <money min="..." max="..." infinitive="..."/> -Количество денег (infinitive="1" -бесконечные деньги).

<snd_config>...</snd_config> -Набор звуков.
<crouch_type>-1</crouch_type> -Тип приседания. Лучше не трогать.
<visual>actors\...</visual> -Внешность. Влияет как на внешний вид костюма, так и на его свойства. Укажите здесь экзоскелет -и персонаж действительно в нем окажется: как по внешности, так и по свойствам.
<supplies>...</supplies> -Предметы, находящиеся у него в инвентаре. Некоторые из них в игре не отображаются, поэтому не удивляйтесь присутствию здесь предметов вроде рации или фонарика.


Редактирование содержимого

treasure_manager.ltx в «миске» и во 4 строчке прописываешь, что ты хочешь, получится
должно получится примерно так :
[esc_secret_bridge_vagon]
target = 5000
name = esc_secret_0000_name

description = esc_secret_0000_descr
items = ammo_5.45x39_ap,190,medkit_army,6,
wpn_addon_scope,wpn_ak74u_m1,stalker_m1,outfit_specnaz_m1,
wpn_groza_m1,wpn_spas12_m1,wpn_lr300_m1,wpn_svd_m1,wpn_sig_m1,wpn_colt_m1,wpn_val
_m1,wpn_rg6_m1,outf it_dolg_m1


Респавн НПС

Подскажите пожалуйста, как увеличить время между респавном нпс ? А то при установке
АМК 1.4 вроде выбираю 24-32 часа, а неписи спавнятся гораздо чаще, как в оригинале.
В 1.3.1 всё работало корректно.

gamedata\scripts\se_repawn.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)
где первое и второе числа задают диапазон случайной переменной в часах отвечающей за респаун.


Скорость времени в игре

Как поменять скорость течения времени в игре?

Нашёл в alife.ltx. такие строчки
time_factor = 10; 1; ;396.0;скорость для демонстрации смены дня и ночи
...
Как я понимаю надо начинать новую игру ?
Все правильно -если поменять time_factor на 5 -время будет идти в два раза медленнее.

Больше ничего менять кажется не надо. Новую игру начинать не обязательно -скорость времени
изменится если поспать.


Слоты на пояс под арты

Ячейки под атрефакты тоже можно -я 16 штук делал. Делается просто -два файла менять
всего надо, файл system.ltx, секция inventory, в АМК моде она вообще в отдельный файл вынесена
-inventory_sect.ltx называется. Там всего пять строчек:

[inventory]

take_dist = 2

max_weight = 80

max_ruck = 56

max_belt = 6 //16

slots = 11

Надо на вот что изменить: (заметьте, за двойным слешем стоит 16 -это количество слотов

под атрефакты хотели сделать сами разработчики игры, потом переделали на 5, а команда

АМК -на шесть)

[inventory]

take_dist = 2

max_weight = 80

max_ruck = 56

max_belt = 16

slots = 11

Дальше надо изменить рисунок ячеек в инвентаре, штобы ячеек рисовалось не 6, а 16, по восемь в два ряда, типа как в АМК рисуется по три в два ряда. Делаем так: Берём файл

inventory_new.xml, из папки gamedataconfigui, открываем его, находим секцию:

<dragdrop_belt x="786" y="118" width="156" height="104"

cell_width = "52" cell_height="52" rows_num="2" cols_num="3"/>

Это так в моде АМК. Красным выделил ряды и колонки. То есть у нас есть два ряда по три колонки. Делаем маленько по-другому:
<dragdrop_belt x="590" y="118" width="410" height="104"
cell_width = "52" cell_height="52" rows_num="2" cols_num="8"/>
Теперь рисоваться будет 16 ячеек, и в каждую можно артефакт засунуть. Ячейки под атрефакты -10 штук: файл system.ltx, секция inventory, в АМК моде она вообще в отдельный файл вынесена -inventory_sect.ltx называется. Там всего пять строчек:

[inventory]

take_dist = 2

max_weight = 80

max_ruck = 56

max_belt = 6 //16

slots = 11

Надо на вот что изменить: (заметьте, за двойным слешем стоит 16 -это количество слотов под атрефакты хотели сделать сами разработчики игры, потом переделали на 5, а команда

АМК -на шесть)

[inventory]

take_dist = 2

max_weight = 80

max_ruck = 56

max_belt = 10

slots = 11

Дальше надо изменить рисунок ячеек в инвентаре, штобы ячеек рисовалось не 6, а 10, по пять в два ряда, типа как в АМК рисуется по три в два ряда. Делаем так: Берём файл

inventory_new.xml, из папки gamedataconfigui, открываем его, находим секцию:

<dragdrop_belt x="786" y="118" width="156" height="104"

cell_width = "52" cell_height="52" rows_num="2" cols_num="3"/>

Это так в моде АМК. Красным выделил ряды и колонки. То есть у нас есть два ряда по три
колонки. Делаем маленько по-другому:
<dragdrop_belt x="733" y="118" width="410" height="104"
cell_width = "52" cell_height="52" rows_num="2" cols_num="5"/>


Советы

Не парься с декодером - секретную дверь на ЧАЭС можно и так открыть:
1.Подойди к двери вплотную со стороны петель под углом где-то 45 градусов.
2.Берёшь в руки ствол подлиннее,желательно СВД и пихаешь между петлями.
3.Нажимаешь в инвентаре "выбросить оружие".
Попыток этак с 10 дверь открывается настолько,что можно протиснуться вовнутрь,а винтовочку
забираем уже с той стороны.Таким методом я открывал без кода эту дверь и закрытый сейф на базе
монолита в Припяти (в оригинальной игре и в моде 1.3.1, но думаю,ничего не изменилось). Но хочу
предупредить - может и зашибить дверью, иногда наглухо (поэтому больше не пользуюсь, в случае смерти ГГ я
теперь всегда начинаю игру заново).

На Радаре от выброса можно укрыться в 3 местах:
1. Бункер в тупике (в конце ответвления от основной дороги, там иногда еще появляется нычка "Тайник группы отчаянных").
2. Помещение за дверью с кодовым замком в начале непонятной бетонной конструкции, идущей вдоль дороги (там на балкончике "монолитный" снайпер стоит, код где-то на форуме всплывал).
3. Вход в Х-10 (в саму лабу заходить не надо, достаточно нырнуть в тоннель).

Краткое руководство охотника. ИМХО.
1. Тушкан, Слепой пес, Псевдособака, Кошка, Кабан - элементарно - дробовик, пистолет - резко в сторону и бьем в бок. Окромя тушканов Если много - гренами или с возвышения.
2. Псевдогигант - дробовик, 9Х39, РГ-6, подствольник. Можно гренами. Не бегаем. С возвышения и подпрыгиваем во время топота.
3. Химеры (обе) - все стреляющее пулями Бьем в область голов. Уход с линии атаки - вбок. ЭлектроХимеру близко не подпускать
4. Кровосос - ножом по голове. Подствольником куда угодно. Снайперкой - в голову. И конечно гренами.
5. Контролер - снайперка, подствольник, грены. Этого с растояния
6. Зомби - только в голову + контрольный выстрел.
7. Плоть - в морду чем угодно что стреляет. Темненьких плотей так же, но они гораздо живучей. Грены и выстрелы для подствольника считаю пустой тратой боеприпасов.
8. Бюрер - Чем угодно. Главное вовремя его заметить. Важно! Грены лучше не кидать
9. Полтергейсты (оба) - стреляем и все Хоть из ПМа.
10. Человеки - чем угодно и как угодно... Но осторожненько
11.Снорк - ножом в присяди... или... просто расстреливаем. Уход с линии атаки - вбок.
З.Ы. Хуже большой стаи темных плотей или большой стаи тушканов еще врага не встретил. Плоть резать с ножа пробовал - упарился.


Создание нового арта.

Создание нового артефакта
Материал из Mod Wiki.

Сегодня мы на примере научимся созданию новых артефактов. Создадим, например, артефакт под названием "Ромашка".

Статья написана по материалам Hunter Mod.
Создание конфига

Заходим в папку gamedata\config\misc и открываем файл artefacts.ltx.
И находим, например, артефакт "Медуза":

[af_medusa]:af_base
GroupControlSection = spawn_group
$spawn = "artifacts\moscito medusa"

$prefetch = 64
cform = skeleton
class = ARTEFACT

visual = physics\anomaly\artefact_blackdrip.ogf
description = enc_zone_artifact_af-medusa
inv_name = af-medusa
inv_name_short =
inv_weight = 0.5

inv_grid_x = 9
inv_grid_y = 4

cost = 1000

jump_height = .5

particles = anomaly2\artefact\artefact_gravi

lights_enabled = false

;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0005
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 = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
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 = 0.98

В этой секции задаются параметры артефакта, начиная от внешнего вида и заканчивая коэффициентами различных эффектов вроде вывода радиации. Сделаем копию секции, принадлежающей "Медузе", и заменим её название с af_medusa на af_romashka.

Должно выйти примерно вот так:

[af_romashka]:af_base
GroupControlSection = spawn_group
$spawn = "artifacts\moscito romashka"

$prefetch = 64
cform = skeleton
class = ARTEFACT

visual = physics\anomaly\artefact_blackdrip.ogf
description = enc_zone_artifact_af-romashka
inv_name = af-romashka
inv_name_short =
inv_weight = 0.5

inv_grid_x = 9
inv_grid_y = 4

cost = 1000

jump_height = .5

particles = anomaly2\artefact\artefact_gravi

lights_enabled = false

;скорости увеличения (уменьшения)
health_restore_speed = 0.0
radiation_restore_speed = 0.0005
satiety_restore_speed = 0.0
power_restore_speed = 0.0
bleeding_restore_speed = 0.0
hit_absorbation_sect = af_romashka_absorbation

artefact_activation_seq = af_activation_bold

[af_romashka_absorbation]
burn_immunity = 1.0 ;коэффициенты иммунитета
strike_immunity = 1.0
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 = 0.98

Назначение некоторых параметров, влияющих на одевшего артефакт:

* health_restore_speed - прирост к скорости восстановления здоровья
* radiation_restore_speed - прирост скорость вывода радиации
* satiety_restore_speed - прирост к голоду
* power_restore_speed - прирост к выносливости
* bleeding_restore_speed - прирост к скорости остановки кровотечений

Создание описания и имени артефакта

Заходим в gamedata\config\text\rus и открываем файл string_table_enc_zone.xml. Добавим туда строку с названием артефакта.

<string id="af-romashka">
<text>"Ромашка"</text>
</string>

Теперь у артефакта есть имя, но одного его недостаточно. Нужно сделать описание.
Поэтому добавим и его.

<string id="enc_zone_artifact_af-romaska">
<text>Очень странный артефакт. Впервые появился в Зоне где-то в 2011 году, но толку от него - ноль. Ученые
не обнаружили никакого влияния артефакта на организм носителя.</text>
</string>

Все, поздравляю, вы только что создали свой первый артефакт! :)


Создание оружия

Новое оружие мы будем делать на базе оригинальных конфигурационных файлов. Создадим
АК101 на базе конфигов АК74.

Свойства оружия
Скопируем файл из папки:

gamedata\config\ak74.ltx

Назовем его ak101.ltx.
Отредактируем свойства по своему усмотрению (но лучше -в соответствии с достоверной
информацией о характеристиках оружия, т.к. АК101 -всё-таки оружие реально существующее). Редактирование конфигов оружия подробно описано в отдельном уроке. В данном случае
конфиг был составлен таким образом:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[wpn_ak101]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency
$spawn = "weapons\ak-101" ; name and section in level editor
$npc = on
$prefetch = 8
scheduled = off ;[] option for ALife Simulator
Cform = skeleton
Class = WP_AK74 ; class of the weapon that corresponding to

CPP class
min_radius = 30 ; [] for AI
max_radius = 100 ; [] for AI
description = enc_weapons1_wpn-ak101

ef_main_weapon_type =2
ef_weapon_type =6

;----------------------------------------------------------------------------------holder_
range_modifier = 1.0 ; во сколько раз увеличивается eye_range
holder_fov_modifier = 0.7 ; во сколько раз увеличивается eye_fov
;----------------------------------------------------------------------------------

Cost = 2;4000
weapon_class = assault_rifle

ammo_limit = 210
ammo_elapsed = 30
ammo_mag_size = 30
fire_modes
= 1, -1

ammo_class = ammo_5.56x45_ss190, ammo_5.56x45_ap
grenade_class = ammo_vog-25, ammo_vog-25p
launch_speed = 0

hand_dependence =1
single_handed =0
Slot =2

animation_slot =2
inv_name = wpn-ak101
inv_name_short = wpn-ak101
inv_weight = 3.3

inv_grid_width = 5
inv_grid_height = 2
inv_grid_x = 11
inv_grid_y
= 29

kill_msg_x = 0
kill_msg_y = 28
kill_msg_width = 84
kill_msg_height = 28

;----------------------------------------------------------------------------------;
params of weapon recoil

fire_dispersion_base = 0.15;0.2
control_inertion_factor = 1.1f;1.25f

;отдача
cam_relax_speed =6;5;3.5; 0.15
cam_dispersion = 0.1;0.15
cam_dispersion_inc = 0.2;0.3
cam_dispertion_frac = 0.8;0.9
cam_max_angle = 10.0
cam_max_angle_horz = 20.0
cam_step_angle_horz =
1.1;1

fire_dispersion_condition_factor = 5.7;5
misfire_probability = 0.0055;0.003
misfire_condition_k = 0.06;0.05
condition_shot_dec = 0.00035;0.0001
;----------------------------------------------------------------------------------

fire_point = 0,0.216,0.638
fire_point2 = 0,0.216,0.730

flame_particles = weapons\generic_weapon05
smoke_particles = weapons\generic_shoot_00
grenade_flame_particles = weapons\generic_weapon01

shell_point = 0,0.216,0.174
shell_particles = weapons\generic_shells

PDM_disp_base = 1.0
PDM_disp_vel_factor = 1.3
PDM_disp_accel_factor = 1.3
PDM_crouch = 1.0
PDM_crouch_no_acc = 1.0

; ttc
hit_power = 0.36, 0.4, 0.43, 0.46
hit_impulse = 140
hit_type = fire_wound
fire_distance = 1700
bullet_speed = 1000
Rpm = 750

use_aim_bullet = true
time_to_aim = 1.0

;params when silencer is attached
;similar to corresponding params without prefix silencer_

silencer_hit_power = 0.38
silencer_hit_impulse = 120
silencer_fire_distance = 250
silencer_bullet_speed = 600

hud = wpn_ak101_hud

Position = -0.026,-0.172,0
orientation = 0,0,0

;--STRAP PARAMETERS----------------------------------------------------------------strap_
position = -0.16,-0.40,0.15
strap_orientation = -10,-5,10
strap_bone0 = bip01_spine2
strap_bone1 = bip01_spine1

visual = weapons\ak-101\wpn_ak101

light_color = 0.6,0.5,0.3
light_range = 5
light_var_color = 0.05
light_var_range = 0.5
light_time = 0.2

ph_mass = 5

;addons
scope_status = 2

silencer_status = 2
grenade_launcher_status = 0;2

zoom_enabled = true
scope_zoom_factor = 50

scope_name = wpn_addon_scope
scope_x = 42
scope_y = 3
silencer_name = wpn_addon_silencer
silencer_x = 218
silencer_y = 13
grenade_launcher_name = wpn_addon_grenade_launcher
grenade_launcher_x =
116
grenade_launcher_y = 23

;sounds (name of the sound, volume (0.0 -1.0), delay (sec))
snd_draw = weapons\ak74_draw
snd_holster = weapons\generic_holster
snd_shoot = weapons\ak74_shot_0
snd_shoot1 = weapons\ak74_shot_1
snd_shoot2 = weapons\ak74_shot_2
snd_shoot3 = weapons\ak74_shot_3
snd_empty = weapons\gen_empty, 0.5
snd_reload = weapons\ak74_reload, 0.7, 0.35
snd_shoot_grenade = weapons\gen_grenshoot
snd_reload_grenade = weapons\gen_grenload, 1.0, 0.8
snd_switch = weapons\groza_switch, 1.0, 0.5

;params when silencer is attached
;similar to corresponding params without prefix silencer_

;silencer_flame_particles = weapons\generic_weapon01
silencer_smoke_particles = weapons\generic_shoot_00

snd_silncer_shot = weapons\w_ak74_shot1

silencer_light_color = 0.6,0.5,0.3
silencer_light_range = 0.01
silencer_light_var_color = 0.05
silencer_light_var_range = 0.5
silencer_light_time = 0.2

;----------------------------------------------------------------------------;--
HUD DESCRIPTION
;----------------------------------------------------------------------------

[wpn_ak101_hud]
allow_inertion = true

;similar to corresponding params in weapon section but for 1st person view

shell_point = -0.065000,0.000000,-0.045000
shell_dir = 0.0, 1.0, 0.0

fire_point = 0.09,0.020,-0.06
fire_point2 = 0.30, 0.00, 0.05
fire_bone = wpn_body

Orientation = 0, 0, 0
Position = 0, 0, 0.05
visual = weapons\ak-101\wpn_ak101_hud

grenade_bone = wpn_grenade

; animation names

anim_idle = idle
anim_idle_aim = idle_aim
anim_reload = reload
anim_draw = draw_wo_gl
anim_holster = holster_wo_gl
anim_shoot =
shoot

; animation names
; attached grenade launcher [GRENADE fire mode]

anim_idle_g
anim_idle_g_aim
anim_reload_g
anim_shoot_g
anim_switch_grenade_on
anim_switch_grenade_off
anim_draw_g
anim_holster_g

= idle_grenade
= idle_g_aim
= reload_grenade
= shoot_grenade

= switch_grenade
= switch_grenade_off
= draw_grenade_mode
= holster_grenade_mode

; attached grenade launcher [NORMAL fire mode]
anim_idle_gl = idle_w_gl
anim_idle_gl_aim = idle_w_gl
anim_reload_gl = reload_w_gl
anim_draw_gl = draw_w_gl
anim_holster_gl = holster_w_gl
anim_shoot_gl = shoot_w_gl
anim_idle_sprint = idle_sprint

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;HUD offset in zoom mode (to all)
;(use CONSOLE: hud_adjust_mode 0,1,2, then keys WSADQE and P to show current value in

console)
zoom_offset = -0.112400,0.016800,-0.115000
zoom_rotate_x = 0.000200
zoom_rotate_y = 0.017500
zoom_hide_crosshair = true

; same as above, but for attached grenade launcher for
; in NORMAL shoot mode

grenade_normal_zoom_offset = -0.112500,0.014000,0.000000
grenade_normal_zoom_rotate_x = -0.000900
grenade_normal_zoom_rotate_y = 0.017200

; same as above, but for attached grenade launcher for
; in GRENADE mode

grenade_zoom_offset = -0.039600,-0.433100,0.000000
grenade_zoom_rotate_x = -0.538700
grenade_zoom_rotate_y = -0.033800
Регистрация

Итак, с характеристиками разобрались. Теперь зарегистрируем оружие в файле weapons.ltx.
Для этого пропишем в него строку следующего вида:
#include "w_ak101.ltx"

Также, необходимо прописать модели, используемые для отображения оружия, в prefetch.ltx:
[...]
weapons\abakan\wpn_abakan
weapons\abakan\wpn_abakan_hud
weapons\ak-101\wpn_ak101
weapons\ak-101\wpn_ak101_hud
weapons\ak74\wpn_ak74
weapons\ak74\wpn_ak74_hud
[...]
Так же не забудте в файле mp_ranks.ltx прописать после available_items (которое внизу) прописать название своего оружия. Это предотвратит вылет при убийстве ГГ.
Осталось добавить оружие в игру.


Создание предмета

В этой статье я расскажу как создавать новые предметы:

Для начал находим файл items.ltx, находящийся в папке config/misc/, и копируем какой-нибудь предмет, я, например, взял:
[bread]:identity_immunities
GroupControlSection = spawn_group
discovery_dependency =
$spawn = "food and drugs\bread"
;$prefetch = 32
class = II_FOOD
cform = skeleton
visual = weapons\bred\bred.ogf
description = enc_equipment_food_bread1

inv_name = Bread
inv_name_short = Bread
inv_weight = 0.3 ;0.2

inv_grid_width = 1
inv_grid_height =
1
inv_grid_x = 11
inv_grid_y = 9
cost = 20

attach_angle_offset = -0.287979, 1.560923, 1.544060
attach_position_offset = 0.096910, -0.013594, 0.107925
attach_bone_name = bip01_r_hand
auto_attach = false

// should be deleted after update
bone_name = bip01_r_hand
position_offset = 0.0,0.0,0.0
angle_offset = 1.570790,1.570790,3.92699

; eatable item
eat_health = 0.05
eat_satiety = 0.2
eat_power = 0
eat_radiation = 0
wounds_heal_perc = 0
eat_portions_num = -1

; food item
slot = 4
animation_slot = 4

;hud item
hud = wpn_vodka_hud

Вставляем его копию в конец, меняем название:

[bread]

На:

[test]

А также:
inv_name = Bread
inv_name_short = Bread

На:
inv_name = test
inv_name_short = test

И description = enc_equipment_food_bread1 на description = enc_equipment_food_bread1_test

И, также, "по желанию":

eat_health = 0.05 eat_satiety = 0.2 eat_power = 0 eat_radiation = 0 wounds_heal_perc = 0 eat_portions_num = -1

Всё, в item.ltx работа закончена, теперь переходим к редактированию описания, открываем string_table_enc_equipment "Блокнотом". Что мы там видим: все описания и названия прописаны по тегам:

<string id="название из inv_name"> <text>Название в игре</text> </string>

И:

<string id="описание из description"> <text>Описание в игре</text> </string>

Пишем:

<string id="test"> <text>Тестовый предмет</text> </string>

И:

<string id="enc_equipment_food_bread1_test">

<text>Тестовый предмет, разработанный в сверхсекретных лабораториях Зоны :)</text>

</string>

Сохраняем... Все! Основная работа завершена! Теперь добавим предмет торговцам, например, Сидоровичу.

Открываем trader_trader из папки config/misc (работа с ним подробно описана в этой статье), прописываем:

test = 0.3, 0.5

В секции:

[trader_generic_buy]

И далее в:

[supplies_start]

test = 10, 1

В [supplies_after_fabric]

test = 10, 1

В [trader_start_sell]

И в:

[trader_after_fabric_sell]

test = 1. 3

Сохраняем, запускаем игру, торгуем с Сидоровичем и видим у него два вида хлеба: один из них - наш :)


Создание сетки

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

Прошу описать пошагово.
На старом сайте было,теперь приходится задавать вопрос заново.
Чтобы включить её отображение, зайдите в меню:
Редактирование -> Установки -> Направляющие, сетка и фрагменты
И установите в нем следующие значения:
Линия через каждые: 50
Единицы измерения: пиксели
Внутреннее деление на: 1
После чего выберите пункт:
Просмотр -> Показать -> Сетку ( Ctrl+' )


Сообщения и ПДА

гемдата\скриптс\amk_uniq_news_lists -атмосферные новости


Софт для разработчиков

Софт для "ковыряния"

Программы для работы с файлами игры (чем пользуюсь я). Все эти программы\утилиты можно найти на сайтах посвященных игре Сталкер, сайтах комп. софта и в интернет-поисковиках :

1.Total Commander – файловый менеджер (+прекрасно ищет файлы с указанным куском (словом) текста)

2.Любой текстовый редактор (блокнот) (я пользуюсь Notepad++ и EmEditor)

3. Araxis.Merge.Professional.2007 – Программа для сравнивания двух текстовых файлов (поддержка кучи форматов + всякие навороты)

4.Фотошоп с плагином DDS (для просмотра\редактирования текстур)

5.Архиваторы Win RAR и 7-Zip (эти распакуют и запакуют что угодно)

6.Нех-редактор xvi32 (или любой другой, для более глубокого «ковыряния»)

7.Ltx Editor (правим патроны, предметы, броню и прочее)

8.STALKER_Data_Unpacker – утилита для распаковки файлов игры

9.iconviewer – определяет координаты иконки.

10. xrSpawner - Программа для редактирования all.spawn игры S.T.A.L.K.E.R. (честно скажу – не пользовал – но на всякий случай упоминаю).

11. X-Ray SDK – многофункциональная прога от разработчиков для серьезного «ковыряния» игры S.T.A.L.K.E.R.

12.S.T.A.L.K.E.R. utilities pack - Пакет утилит для разработчика модификаций игры S.T.A.L.K.E.R. (сам не использовал, но перечень «комплекта» впечатляет)

13. Beepa.Fraps.v2.9.4 – для учета FPS и видеозаписи игрового процесса (работает не только со Сталкером).

14.Ну и для работы со звуком – хороший звуковой редактор...

Вроде все перечислил... Есть еще всякие другие утилиты, но мне хватает этого набора...


Спавн артефактов

Как настройть спавн артефактов в АМК?

Смотри файлы zone_.....
Вот из файла zone_gravi
[zone_gravi_zone_weak]:zone_gravi_zone
$spawn = "zones\gravi_zone_weak"
hit_impulse_scale = 0.1
effective_radius = 0.7
BirthProbability = 0.2 это вероятность появления
artefacts = af_vyvert,0.8, af_gravi, 0.2, af_gold_fish, 0.0 это вероятность того какой артефакт появиться.


Спавн вещей НПС

А как уже имеющемуся НПС заспавнить что-то в инвентарь. Это реально?

Пожалуйста. Спавн Сига и патронов в инвентарь Волка:
Код
local npc,obj

for i=0,65534 do --перебираем онлайн-объекты
npc = level.object_by_id(i)
if npc and npc:name() == "esc_wolf" then --если объект(непись) существует

--и его имя такое-то
obj = alife():object(npc:id()) --определяем его по id

end
end
alife():create("wpn_sig550", --ну, и спавним предметы, какие надо...
obj.position,
obj.m_level_vertex_id,
obj.m_game_vertex_id,
obj.id) --ему в инвентарь
alife():create_ammo("ammo_5.56x45_ss190", --патроны, какие надо...
obj.position,
obj.m_level_vertex_id,
obj.m_game_vertex_id,
obj.id, --ему в инвентарь
30)

Если непись был только что заспавнен, то ещё легче -перебор делать не надо, сразу получаем
его как объект, а по id его определяем сдедующим образом:
obj = alife():object(npc.id)

Если известен story_id -тоже перебирать не надо.
PS у меня не получается таким образом заспавнить более одной пачки патронов, чтобы
было больше, надо ещё раз писать полностью: alife():create_ammo и т.д.


Спавн мутантов.

Например, спавн тушканов в лагере новичков, на дороге напротив костра:

Код:
amk.spawn_item("m_tushkano_e",vector():set(-206,-20.5,-145),61,46567)
amk.spawn_item("m_tushkano_normal",vector():set(-206,-20.5,-145),61,46567)
amk.spawn_item("tushkano_normal",vector():set(-206,-20.5,-145),61,46567)
--или
alife():create("m_tushkano_e",vector():set(-206,-20.5,-145),46567,61)
alife():create("m_tushkano_normal",vector():set(-206,-20.5,-145),46567,61)
alife():create("tushkano_normal",vector():set(-206,-20.5,-145),46567,61)

Во-первых, обратите внимание, что амк-шной функции spawn_item сначала ставится
гейм_вертекс, а потом левел_вертекс (61,46567),
а если напрямую использовать глобальную функцию alife(), то наоборот (46567,61).

Аналогично, если вы будете привязывать координаты к координатам актора.
Во-вторых, спавн монстров происходит, когда от актора до места спавна 50 метров и
больше. То есть, если спавните рядом с актором, то надо отойти от этого места на 50 метров
и монстры появятся или спавнить сразу на расстоянии. Если спавн происходит за расстоянием
а-лайфа или вообще на другой локации, то монстры будут в офлайне, пока актор не приблизится
к ним на расстояние а-лайфа.


Спавн мёртвого НПС

Как с помощью скрипта заспавнить МЕРТВОГО нпс?

Заспавнить живого и прописать ему через нет_пакеты здоровье ноль. Примерно так:
Код:

local obj=amk.spawn_item("yan_ecolog_respawn_2",vector():set(187.84,5.18,360.68),
938,386349)

local tbl = amk.read_stalker_params(obj)
tbl.health = 0
tbl.updhealth = 0
amk.write_stalker_params(tbl, obj)


Спавн НПС

И еще, если я хочу привязать свой спаун к заходу на локацию,
например зашел гг на локацию кордон и чтобы нужные мне неписи спавнились каждый раз при заходе на кордон. Где мне нужно создать инфопоршень?

По поводу спавна...
При загрузке уровня происходит спавн актёра и перевод его в онлайн, вызывается function

actor_binder:net_spawn(data) (файл bind_stalker), соответственно, поместить сюда вызов вашей
функции спавна, в которой перед спавном предмета проверять имя локации:
if level == "l01_escape" then

...
таким образом при каждом заходе будет спавн.


Спавн персонального НПС

Спавн персонального НПС (типа Волка)

1) Создаем профиль твоего непися аналогично тому же Волку или Лукашу в одном из файлов
character_desc_.... вообщем в том где ты хочешь чтобы непись спавнилась. Для примера вот:
<!---------------------------dan---------------------->
<specific_character id="esc_dan" team_default = "1">
<name>Дэн</name>
<icon>ui_npc_u_actor</icon>
<map_icon x="0" y="0"></map_icon>
<bio>sim_stalker_novice_bio</bio>
<class>esc_dan</class>
<community>trader</community> <terrain_sect>stalker_terrain</terrain_sect>
<money min="100000" max="110000" infinitive="1"></money>
<rank>259</rank>
<reputation>100</reputation>
<visual>actors\svoboda\stalker_sv_exoskeleton</visual>
<snd_config>characters_voice\human_02\bandit\</snd_config>
<crouch_type>0</crouch_type>
<supplies>
[spawn] \n
wpn_groza \n
ammo_9x39_ap \n
wpn_spas12 \n
ammo_12x70_buck \n

bar_tiran_pda \n

#include "gameplay\character_food.xml" \n

#include "gameplay\character_drugs.xml"

</supplies>

#include "gameplay\character_criticals_6.xml"

<actor_dialog>informator_pda_give</actor_dialog>

<actor_dialog>prinesi_hvost</actor_dialog>

<start_dialog>hello_dialog</start_dialog>

#include "gameplay\character_dialogs.xml"

</specific_character>

2) Дальше прописываем его в файле npc_profile вот так:

<character id="esc_provodnik">

<class>esc_provodnik</class>

</character>

<character id="esc_dan">

<class>esc_dan</class>

</character>

3)прописываем его в файле spawn_sections вот так:

[esc_dan]:stalker

$spawn = "respawn\esc_dan"

character_profile = esc_dan

spec_rank = veteran

community = trader

4) Создаем свой скриптовый файл и в нем пишем функцию спавна вот такую:

function esc_shustryi()

local obj = alife():create("esc_dan",vector():set(112.3336,-7.41105,-42.5093),413823,124)

local params=amk.read_stalker_params(obj)

params.custom="[logic]\nactive=walker\n[walker]\npath_walk = esc_dan_walk1\npath_look =

esc_dan_look1\ncombat_ignore_cond=always"

params.sid=481520

amk.write_stalker_params(params,obj)

end

esc_shustryi название нашей функции

local params=amk.read_stalker_params(obj)

params.sid=481520

amk.write_stalker_params(params,obj) при помощи этой функции(кстати она работает только в

amk) присваиваем неписю номер

path_walk = esc_dan_walk1 это путь твоего непися

path_look = esc_dan_look1 это точка(точки) куда будет смотреть твой непись

И walk и look могут состоять как из одной точки так и из множества точек

5) Де компелируем all.spawn и ишем соответствующий файл way_.... ( в примере это

way_l01_escape) и пропишем ему путь и look вот так :

[esc_dan_walk1]

points = p0,p1,p2

p0:name = wp00|a=run

p0:position = -8.28458690643311,2.47888994216919,61.6851959228516

p0:game_vertex_id = 88

p0:level_vertex_id = 268486

p1:name = wp01|a=hide

p1:position = -87.5448226928711,-4.86890649795532,-76.5067977905273

p1:game_vertex_id = 75

p1:level_vertex_id = 177755

p2:name = wp02|a=sneak

p2:position = -13.3662910461426,0.638113260269165,259.589599609375

p2:game_vertex_id = 184

p2:level_vertex_id = 263975

[esc_dan_look1]

points = p0,p1,p2

p0:name = wp00

p0:position = 5.22266483306885,2.47839999198914,61.6714706420898

p0:game_vertex_id = 89

p0:level_vertex_id = 281623

p1:name = wp01

p1:position = -160.825149536133,-30.1117496490479,-359.227966308594

p1:game_vertex_id = 31

p1:level_vertex_id = 88416

p2:name = wp02

p2:position = 164.339752197266,-8.24007034301758,-12.4323778152466

p2:game_vertex_id = 137

p2:level_vertex_id = 468145

как ты видешь здесь путь и look состоят из 3 точек(минимум по одной)Теперь твоя непись бу

дет ходить и смотреть по прописанным тобой точкам. Компелируем all.spawn и

начинаем(обязательно новую игру)

Свою функцию спавна вставляем в нужный тебе диалог и после разговора непись твоя спав

ниться.

<phrase id="111">

<text>escape_shustryi_start_111</text>

<action>new_spawn.esc_shustryi</action>

<next>1111</next>

</phrase>

<phrase id="11">

<text>escape_shustryi_start_11</text>

<next>111</next>

</phrase>

new_spawn -название файла(скриптового)

esc_shustryi -название функции


Способы управления игрой через ярлык:
Открываем свойства ярлыка и в строке "объект" через "пробел" добавляем:
"-nointro"  - отключает все вступительные ролики при запуске игры - т.е. после запуска сразу попадаем в меню.
"-r4xx"   - отключает динамику (?)
"-noshadows" - отключает тени в игре
"-noprefetch"  - принудительно заставляет игру очищать ОЗУ.
Пример:
"G:\Games\S.T.A.L.K.E.R\bin\XR_3DA.exe -noprefetch -nointro"


Стрельба неписей

Раздал военным ПКМ, а они ими что-то не очень хотят пользоваться -стреляют одиночными хоть ты тресни. И так крутил конфиг оружия, и так -не хотят. Тут вспомнил как
kwendy крутил параметры weapon_min_queue_size_far и weapon_max_queue_size_far. Незадача,
если этот параметр выкрутить в m_stalker.ltx, то все НПС будут стрелять как сумасшедшие.
Рискнул засунуть эти параметры в конфиг ПКМ'а в следующем виде: weapon_min_queue_size_far = 15
weapon_max_queue_size_far = 15
weapon_min_queue_interval_far = 500
weapon_max_queue_interval_far = 700
weapon_min_queue_size_medium = 30
weapon_max_queue_size_medium = 30
weapon_min_queue_interval_medium = 400
weapon_max_queue_interval_medium = 600
weapon_min_queue_size_close = 100
weapon_max_queue_size_close = 100
weapon_min_queue_interval_close = 300

weapon_max_queue_interval_close = 500

Опа! Военные стали из ПКМ шмалять именно с такими настройками -на дальних дистанциях

очередями по 15, на средних -по 30, а на близких весь цинк в 100 патронов расстреливать за раз. При этом на других сталкеров этот параметр не влияет -они стреляют так как прописано в m_stalker.ltx

Так что таким способом можно задавать логику использования каждого оружия на разных дистанциях.

Для Сайга-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


Структура для основных папок и файлов

Структура основных папок и файлов

Структура папок и файлов в корневом каталоге игры:

...\S.T.A.L.K.E.R\gamedata\anims – папка содержит исполнительные файлы эффектов (например от ПНВ).

...\S.T.A.L.K.E.R\gamedata\config – папка содержит основные конфигурационные файлы (т. е. большинство настроек игры)

...\S.T.A.L.K.E.R\gamedata\meshes – содержит модели игровых предметов и персонажей...

...\S.T.A.L.K.E.R\gamedata\scripts – папка со скриптами (рабочими файлами содержащими в себе наборы функций) – основная папка, отвечающая за ответные действия игры и действия производимых игроком в игре.

...\S.T.A.L.K.E.R\gamedata\shaders – папка содержит в себе конфигурационные файлы шейдеров.

...\S.T.A.L.K.E.R\gamedata\sounds – здесь находятся все звуки игры (разложены по своим каталогам и папкам)

...\S.T.A.L.K.E.R\gamedata\spawns – содержит файл спавна – очень важный файл – не трогать без нужды!!!

...\S.T.A.L.K.E.R\gamedata\textures – содержит разложенные по каталогам и папкам текстуры используемые в игре.

Теперь разберем папки в каталоге «config»

...\S.T.A.L.K.E.R\gamedata\config\creatures - содержит массу конфигурационных файлов, в основном отвечающих за взаимодействие Главного героя игры (в дальнейшем ГГ) и прочего окружения в игре и ТТХ самого ГГ.

...\S.T.A.L.K.E.R\gamedata\config\gameplay – содержит конфиг. файлы персонажей игры (НПС) отвечающие за внешний вид, статус, снаряжение.
Файлы: character_desc_ххх (где ххх – название локации) и character_desc_general (отвечает за зомбированного персонажа).
Также содержит файлы диалогов и профилей НПС.

…\S.T.A.L.K.E.R\gamedata\config\misc – конфиг.файлы торговцев (папки с именами торговцев), артефактов, брони, квестовых предметов, уникальных предметов, файл отвечающий за награды за автозадания, файл эффектов (алкоголизма, ранения, ПНВ и прочих)...

…\S.T.A.L.K.E.R\gamedata\config\mp – среди прочих содержит важный файл mp_ranks – отвечающий за выпадение оружия и патронов из рук ГГ и НПС – без прописывания добавляемого в игру оружия в этот файл при выпадении нового оружия из рук ГГ\НПС будут следовать вылеты.

…\S.T.A.L.K.E.R\gamedata\config\text\rus – содержит файлы описаний всего и вся находящегося в игре (брони, артефактов, оружия, предметов и прочего).

…\S.T.A.L.K.E.R\gamedata\config\weapons – содержит конфиг.файлы оружия и боеприпасов используемых в игре.

…\S.T.A.L.K.E.R\gamedata\config\weathers – содержит конфиг.файлы настройки погоды на локациях.

Теперь немного подробнее о файлах.

...\S.T.A.L.K.E.R\gamedata\config\misc:

Папка amk_artefacts – содержит конфиг. файлы модификатов (модифицированых артефактов).

Папка shop_ххх (ххх – имя торговца) – содержит конфиг.файлы ассортимента торговца.

amk_mod_outfits – содержит секции конфигов костюмов от АМК-тайм.

artefacts - содержит секции конфигов артефактов.

items - содержит секции конфигов предметов.

monster_items - содержит секции конфигов частей монстров

outfit - содержит секции конфигов костюмов.

postprocess - содержит секции конфигов пост. процессов (например: ПНВ).

quest_items - содержит секции конфигов квестовых предметов.

task_manager - содержит секции наград за автоквесты.
0
unique_items - содержит секции конфигов уникального оружия и костюмов.


Съедобные части мутантов.

Как сделать возможность, чтоб к примеру ногу кабана можно было сожрать?

Открываем файл gamedata\config\misc\monster_items.ltx
Находим секцию [mutant_boar_leg]
И меняем параметр class = II_ATTCH на class = II_FOOD
Нога съедается на раз, но эффект 0, поэтому добавляем
eat_health = 1.0
eat_satiety = 0
eat_power = 0
eat_radiation = 0.3
wounds_heal_perc = 0
eat_alcohol = 0
eat_portions_num = -1
Теперь нога лечит как аптечка ученых, но из-за нее повышаться радиация


Тайники\Награды

Файл отвечающий за тайники называется treasure_manager.lt
Второй называется treasure_manager.script - отвечает за выдачу.


Торговля

Вещи, которые продают торговцы можно отредактировать(добавить/убрать) в файлах с
именем [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 вторая цифра это вероятность появления данного предмета.
2. В разделе buy -первая цифра максимальная цена покупки, вторая минимальная (зависит
от отношения торговца к Меченному -рейтинг, репутация)[Предположительно. – прим.]
3. Соответственно в разделах sell -первая цифра минимальная цена продажи, вторая -максимальная
(точнее множитель на "истинную цену" предмета). Tnx GreyL.
В итоге должно получиться:
[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, 0.6
И тогда у торговца мы получим ровно 6 винтовок Гаусса.

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 .


Транспорт.

Транспорт в игре есть! Пока способ заспаунить его не известен общественности, но тем не
менее в сети появился файл all.spawn, копируйте его в папку gamedata\spawns. Мод предназначен
только для пропатченной версии игры(1.0001). После начала новой игры в первой локации
рядом с Сидоровичем появятся несколько машин, в т. ч. и Камаз. Чтобы включить двигатель
в консоли пишем [b]bind turn_engine kb[b], закрываем консоль, жмём кнопку b и наслаждаемся….

Рассмотрим параметры машин, конфиги находятся в папке gamedata\config\models\vehicles.

[car_definition] – после строки идут коментарии на русском языке, перейдём сразу к следующему.
…
--Factory parameters of Engine ---параметры двигателя(описание не претендует на совершенно точное)
fuel_tank – вместимость бака.
engine_power – мощность двигателя.
hand_break_torque -сила торможения
[damage_items] – повреждения частей машины
back_left_wheel -заднее левое колесо
back_right_wheel -заднее правое колесо
front_left_wheel -переднее левое колесо
front_right_wheel -переднее правое колесо
left_door -левая дверь
right_door -правая дверь
[immunities]
burn_immunity = 0.5 ;коэффициенты иммунитета
strike_immunity = 0.1
shock_immunity = 0.0
wound_immunity = 0.01
radiation_immunity = 0.0
telepatic_immunity = 0.0
chemical_burn_immunity = 0.0
explosion_immunity = 0.4
fire_wound_immunity = 0.0005

P.S. Чтобы сделать вид от третьего лица, в файле user.ltx(ну если не знаете где он находится,
то специально для вас в Microsoft сделали поиск в Windows) пишем после строки
unbindall:
bind cam_1 kF1
bind cam_2 kF2
bind cam_3 kF3
В игре жмём кнопки F1, F2 или F3 для смены вида.
Очень нужно при езде на БТР


Трассеры

В конфиге любого патрона надо написать tracer_color_ID = 0 или другое значение в соответствии
с таблицей цветов ...
И будут трассеры разных цветов для разных патронов ...

P.S. По умолчанию в игре tracer_color_ID = 0 ...
... естественно таблицу можно разнообразить ... добавить пару, тройку выразительных цветов ...
В добавление к сказанному ... после включения трассеров у боеприпасов для более гибкой
конфигурации можно выключать трассеры в конфигах оружия ... сразу после ammo_class = ...
пишем строку tracers = off ...

Пример применения: включим трассеры у Пара патронов (ammo_9x19) в weapons.ltx ... Затем
у всех пистолетов использующих этот патрон и у МР5 с глушителем впишем соотв. строку
(см. выше) ... и тогда только обычный МР5 будет стрелять трассерами ...

Я у себя также запретил трассеры у всех снайперских модификаций ... АН-94, Sig550, LR300
и у модификаций с встроенными глушителями ...

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

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

А где менять цвет трассеров? Хочу попробовать аля "Star Wars"

В секции tracers_color_table
Коды в формате RGB нужно подбирать.
Стандартные трассеры:
Color_0 = 1.0, 0.54, 0.0 ; yellow
Color_1 = 1.0, 1.0, 1.0 ; white
Color_2 = 1.0, 0.1, 0.0 ; red
Color_3 = 0.3, 1.0, 0.3 ; green
color_4 = 0.0, 0.0, 0.1 ; blue

В файле weapon.ltx замени на это и будут зелёные трассеры.
[tracers_color_table] ;color_table
color_0 = 0.0, 1.1, 0.1 ; yellow
color_1 = 1.0, 1.0, 1.0 ; white
color_2 = 1.0, 0.1, 0.0 ; red
color_3 = 0.3, 1.0, 0.3 ; green
color_4 = 0.0, 0.0, 0.1 ; blue


Убрать прицеливание

Как сделать так, чтобы при прицеливании (оптики нет) приближения не происходило?

Cтрока в конфиге оружия:
scope_zoom_factor = 90 степень приближения худа при прицеливании -чем больше
значение -тем меньше зум.


уникальное оружие

файл unique.ltx -там прописаны отличия уникального оружия от оригиналов. Там и правьте.
В этом файле прописаны только те которые отличаются от оригиналного оружия.
Например берешь Грозу 5.45:
[wpn_groza_m1]:wpn_groza ;Гроза генерала Воронина
$spawn = "weaponsuniqwpn_groza_m1"
description = enc_weapons1_wpn-groza_m1
inv_name = wpn-groza_m1
inv_name_short = wpn-groza_m1
ammo_class = ammo_5.45x39_fmj, ammo_5.45x39_ap
condition_shot_dec = 0.00005

inv_grid_x = 5
inv_grid_y = 29
тебе надо изменить например емкость магазина тепер идеш в оригинал фаил Грозы (не модификации) и копируешь оттуда параметр:
ammo_mag_size = хх
теперь меняешь параметр как надо и копируешь его под параметры которые стоят для модификата Грозы все выглядит так:
[wpn_groza_m1]:wpn_groza ;Гроза генерала Воронина
$spawn = "weaponsuniqwpn_groza_m1"
description = enc_weapons1_wpn-groza_m1
inv_name = wpn-groza_m1
inv_name_short = wpn-groza_m1
ammo_class = ammo_5.45x39_fmj, ammo_5.45x39_ap
condition_shot_dec = 0.00005
inv_grid_x = 5
inv_grid_y = 29
ammo_mag_size = хх


Уроки фотошопа

Уроки по изменению.


Частота выпадения тайников

Частота выпадения:
treasure_manager.script -редактируешь его получаешь частоту выпадание тайников -65 меняй
на что-нить допустим на 10...

Если подразумевается вероятность выпадения тайников, то в treasure_manager.script
rarets = 90 (чем меньше значение, тем чаще вападают тайники)


Часы на худ

(левый нижний угол)

ЧАСЫ НЫ ХУД _ КРАСИВЫЕ

правим в файле ui_custom_msgs.xml правим секцию hud_show_time:

<hud_show_time x="160" y="690" width="80" height="40"
complex_mode="1">
<text x="80" y="25" font="graffiti32" r="238"
g="155" b="23" a="255" align="l"/>
<texture>ui_hud_frame_clock</texture>
</hud_show_time>

2. В файле sak.script правим функцию show_time()

function show_time()
local hud = get_hud()
local cs = hud:GetCustomStatic("hud_show_time")
if cs == nil then
hud:AddCustomStatic("hud_show_time", true)
cs = hud:GetCustomStatic("hud_show_time")
end
local time_h = level.get_time_hours()
local time_m = level.get_time_minutes()
local msg
if time_m >= 10 then
if time_h>= 10 then
msg = string.format("%d:%d\\n", time_h, time_m)
else
msg = string.format("0%d:%d\\n", time_h, time_m)
end
else
if time_h>= 10 then
msg = string.format("%d:0%d\\n", time_h, time_m)
else
msg = string.format("0%d:0%d\\n", time_h, time_m)
end
end
if cs ~= nil then
cs:wnd():SetText(msg)
end
end


Что бы БТР не стрелял в ГГ

Кому нужно убрать ГГ в качестве цели для техники на блокпосту, открывайте gamedata\config\scripts\esc\, там:
Для БТРа, в файле esc_blockpost_btr.ltx - строки target=actor заменить на target=nil
Для вертолёта, в файле esc_blockpost_heli.ltx - строки combat_enemy = actor заменить на combat_enemy = nil - либо удалить