Создание полноценных аномальных зон в ЗП Материал из S.T.A.L.K.E.R. Inside Wiki. (Перенаправлено с Создание полноценных аномальных зон) Перейти к: навигация, поиск
Данная статья посвещена созданию полноценных аномальных зон в ЗП. Расчитана на неопытных мододелов.
Итак начнем, для работы нам понадобятся: распакованный all.spawn, долька фантазии и не очень кривые руки.
РАСПАКОВКА all.spawn:
[1] интерпретатор, нужный для работы ACDC
[2] ACDC от bardak'а
[3] скрипт от bardak'а для вывода на экран информации о позиции игрока.
1) Ставим ActivePerl
2) Закидываем ACDC в C:Perl\Bin
3) Создаём в C:Perl\Bin файл Распаковка.txt и вставляем в него текст:
perl.exe acdccop.pl -d all.spawn pause
4) Создаём в C:Perl\Bin файл Запаковка.txt и вставляем в него текст:
perl.exe acdccop.pl -c all.ltx pause done
5) Меняем расширение обоих .txt на .bat
6) Кидаем сюда же all.spawn и жмем на распаковку. И видим кучу файлов типа alife_локация.ltx, way_локация.ltx, section2.bin, section4.bin и all.ltx
7) Всё all.spawn распакован оставим его пока что.
ДОЛЬКА ФАНТАЗИИ:
1) Закидываем скрипт bardak'а в gamedata'у соглашаясь на замену и запускаем игру. На экране должна отобразится информация о позиции игрока на локации.
2) Находим место для нашей аномальной зоны(естественно она состоит из нескольких аномалий). Для примера находим какое нибудь деревце на затоне и делаем 4 скрина (кнопочка F12) с разных сторон (крестом) на расстоянии 5 метров от деревца. Далее 1 скрин возле самого деревца. Выходим из игры.
3) Заходим в (S.T.A.L.K.E.R. - Зов Припяти\users\screenshots) и видим там 5 скринов. Ну с приготовлениями справились =)
НЕ ОЧЕНЬ КРИВЫЕ РУКИ:
1) Открываем alife_zaton.ltx и в самом конце вставляем 4 вот таких секции. (Не забудьте удалить коменты)
[?7?7?7?] ;Уникальный номер секции, должен идти последовательно (если последняя секция [1358] то наша должна быть [1359]) ; cse_abstract properties section_name = ?7?7?7? ;Имя секции (Типа чё ставим) Аномалии описаны в gamedata\configs\zones Пример(zone_mine_electric_weak) name = ?7?7?7? ;Уникальное имя секции (УНИКАЛЬНОЕ!!!)Не должно повторяться) position = ?7?7?7? ;Позиция на локации по X,Y,Z Допустимые варианты заполнения 364.154896,-14.153879,259.145987 или 364,-14,259 direction = 0,0,0 ;Направление объекта (Для аномалий можно не трогать)
; cse_alife_object properties game_vertex_id = ?7?7?7? ;Вертикс distance = 32.2000007629395 ;Дистанция (Для аномалий можно не трогать) level_vertex_id = ?7?7?7? ;Вертикс object_flags = 0xffffff3e ;Метка (Х.З. Чё значит)
; cse_shape properties shapes = shape0 shape0:type = sphere ;Тип аномалии (в данном случае сфера) shape0:offset = 0,0,0 shape0:radius = ?7?7?7? ;Радиус сферы
; cse_alife_space_restrictor properties restrictor_type = 3 ;Тип рестриктора (Х.З. Чё значит)
; cse_alife_custom_zone properties max_power = 0 ;Сила аномалии (при 0 используется стандартное из конфига, если меняем то вписываем по образцу 1.0 и т.д.) enabled_time = ?7?7?7? ;Включенное состояние(указывать в секундах, если постоянно то 0 или удалить строку) disabled_time = ?7?7?7? ;Выключенное состояние(указывать в секундах, если постоянно то 0 или удалить строку) start_time_shift = ?7?7?7? ;Задержка включения(без задержки 0, если использованны предъидущие строки то эта строка обязательна!!!)
; cse_alife_anomalous_zone properties offline_interactive_radius = 30 ;(Х.З. Чё значит) artefact_spawn_count = 32 ;Чё та про спавн артефактов(Х.З. Чё значит) artefact_position_offset = 0x460 ;Чё та про спавн артефактов(Х.З. Чё значит)
; se_zone_anom properties
2) Заполняем ВСЕ (?7?7?7?). Откуда спросите вы =) позиции и вертиксы со скринов. section_name в данном случае из gamedata\configs\zones. Радиус и временные параметры из головы. Получится что то типа:
[2180] ; cse_abstract properties section_name = zone_mine_electric_weak name = zaton_testing_anomaly_01 position = -73,-7,575 direction = 0,0,0
; cse_alife_object properties game_vertex_id = 48 distance = 32.2000007629395 level_vertex_id = 795179 object_flags = 0xffffff3e
; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 3.0
; cse_alife_space_restrictor properties restrictor_type = 3
; cse_alife_custom_zone properties max_power = 10 enabled_time = 10 disabled_time = 5 start_time_shift = 0
; cse_alife_anomalous_zone properties offline_interactive_radius = 30 artefact_spawn_count = 32 artefact_position_offset = 0x460
; se_zone_anom properties
3) Ну естественно у вас должно получится с другими координатами =)
4) И так заполняем все 4 секции каждую с разных позиций вокруг дерева главное не перестараться с радиусом =)
5) В итоге у нас есть 4 электры вокруг дерева. Согласитесь этого мало для полноценной аномалии. А что еще нужно? А нужно нам что бы в аномальной зоне появлялись артефакты, что бы они постепенно перемещались внутри аномальной зоны, да еще и саму зону на карте отметить.
НУ ПРИСТУПИМ К ОЖИВЛЕНИЮ:
1) Создадим секцию
[2204] ; cse_abstract properties section_name = anomal_zone name = zaton_test_anomal_zone position = 257.686218261719,19.0880222320557,541.813903808594 direction = 0,0,0
; cse_alife_object properties game_vertex_id = 292 distance = 0 level_vertex_id = 1407607 object_flags = 0xffffff3e custom_data = <<END [anomal_zone] cfg = scripts\zaton\anomaly\zaton_test_anomal_zone.ltx END
; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 2
; cse_alife_space_restrictor properties restrictor_type = 3
Здесь координаты и вертиксы берем со скрина возле дерева.
2) Создаём в папке gamedata\configs\scripts\zaton\anomaly файл zaton_test_anomal_zone.ltx и вставляем в него:
[anomal_zone] layers_count = 1 respawn_tries = 2 max_artefacts = 5 ;applying_force_xz = 200 applying_force_y = 200 artefacts = af_electra_sparkler, af_electra_flash, af_electra_moonlight, af_dummy_battery, af_dummy_dummy, af_ice start_artefact = af_electra_moonlight coeff = 3, 3, 2, 2, 1, 1 artefact_ways = zaton_testing_af_way
3) Открываем way_zaton.ltx и в низу вставляем секцию:
[zaton_testing_af_way] points = p0,p1,p2,p3 p0:name = wp00 p0:position = ?7?7?7? p0:game_vertex_id = ?7?7?7? p0:level_vertex_id = ?7?7?7? p0:links = p1(1)
p1:name = wp01 p1:position = ?7?7?7? p1:game_vertex_id = ?7?7?7? p1:level_vertex_id = ?7?7?7? p1:links = p2(1)
p2:name = wp02 p2:position = ?7?7?7? p2:game_vertex_id = ?7?7?7? p2:level_vertex_id = ?7?7?7? p2:links = p3(1)
p2:name = wp02 p2:position = ?7?7?7? p2:game_vertex_id = ?7?7?7? p2:level_vertex_id = ?7?7?7? p2:links = p0(1)
Здесь позиции и вертиксы ставим из первых 4х скринов(тоесть центры аномалий)
4) Опять открываем alife_zaton.ltx вставляем:
[2205] ; cse_abstract properties section_name = space_restrictor name = zaton_test_anomaly_spot position = 257.686218261719,19.0880222320557,541.813903808594 direction = 0,0,0
; cse_alife_object properties game_vertex_id = 292 distance = 0 level_vertex_id = 1407607 object_flags = 0xffffff3e custom_data = <<END [story_object] story_id = zaton_test_anomaly_spot END
; cse_shape properties shapes = shape0 shape0:type = sphere shape0:offset = 0,0,0 shape0:radius = 1
; cse_alife_space_restrictor properties restrictor_type = 3
С координатами возле деревца.
5)Запаковываем all.spawn запустив Запаковка.bat
6)Полученный all.spawn.new кидаем на место оригинального и переименовываем в all.spawn
7)Идем в gamedata\scripts открываем pda.script и находим строку:
local primary_objects_tbl =
Добавляем по анологии строку:
{target="zaton_test_anomaly_spot", hint="zaton_test_anomaly_spot_name"},
Получится что то типа
{target="zat_b12_spot", hint="st_zat_b12_name"}, {target="zat_b28_spot", hint="st_zat_b28_name"}, {target="zat_b103_spot", hint="st_zat_b103_name"}, {target="zaton_test_anomaly_spot", hint="zaton_test_anomaly_spot_name"},
8)Идем в gamedata\configs\text\rus и открываем блокнотиком st_land_names.xml И добавляем новую секцию с string id="zaton_test_anomaly_spot_name" по анологии.
9)Если всё сделано правильно то в игре вас будет ждать новая аномалия =)
Автор: WincentDark69
|