SoC. Активация артефактов — S.T.A.L.K.E.R. Inside Wiki

SoC. Активация артефактов

Материал из S.T.A.L.K.E.R. Inside Wiki

Перейти к: навигация, поиск

Распишу по пунктам, как добавить например к "огненому шару" аномалию Жарка...

Открываете файл 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
 

В принципе, можно прописать там не _static, а _weak. Не знаю, что из них правильнее использовать... _static работает тоже.В той же папке есть файл 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, anomaly\gravi_idle00,     0.5, 1.0, 1.5,   5.0,    "anomaly2\artefact_gravi_blast_start",    "idle"
flying               =  2.0, anomaly\gravi_idle01,     0.8, 1.0, 1.2,   3.0,    "anomaly2\artefactartefact_gravi",        "idle"
idle_before_spawning =  5.0, anomaly\gravi_blowout5,   1.0, 1.0, 1,     0.0,    "anomaly2\artefact_gravi_blast_finished", "idle"
spawning             =  1,   anomaly\gravity_entrance, 0.9, 1.1, 1.01,  0.0,    "",                                      "idle"
 

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

По-хорошему надо написать свою анимацию к жарке, но это, честно говоря, не обязательно... потому что нам сейчас важна не красота, а работоспособность.... Так вот... из заголовка [af_activation_gravi] берем название последовательности af_activation_gravi и ищем сам артефакт af_fireball (кто уже забыл зачем, мы на него собирались вешать новую активацию).

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

 
[af_fireball]:af_base
GroupControlSection  = spawn_group
$spawn               = "artifacts\zharka fireball"
$npc                 = on    ; option for Level Editor
;$prefetch           = 3
cform                = skeleton
class                = ARTEFACT
 
visual               = physics\anomaly\artefact_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
 

для того артефакта, который хочу активировать.

В игре берем артефакт в первый слот и активируем.

By XiaNi.

Другие места
LANGUAGE