Распишу по пунктам как в игре S.T.A.L.K.E.R. добавить например к «огненому шару» аномалию Жарка…
Открываете файл: 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
;—————————————————-
st arting = 5.0, anomalygravi_idle00, 0.5, 1.0, 1.5, 5.0, «anomaly2artefact_gravi_blast_start», «idle»
flying = 2.0, anomalygravi_idle01, 0.8, 1.0, 1.2, 3.0, «anomaly2artefactartefact_gravi», «idle»
idle_before_spawning = 5.0, anomalygravi_blowout5, 1.0, 1.0, 1, 0.0, «anomaly2artefact_gravi_blast_finished», «idle»
spawning = 1, anomalygravity_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 = «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 для того артефакта, который хочу активировать.
В игре берем артефакт в первый слот и активируем.
Проект по игре сталкер