I. Распаковка файла all.spawn с помощью программы acdc:
1. Помещаем файл all.spawn в папку, где находятся файлы от acdc. Лучше создать ее на диске С:
2. Открываем командную строку
3. В нем пишем cd\ Далее нажимаем enter. Эта команда задает диск С для работы с ним.
4. Далее пишем cd C:\"название папки, куда поместили acdc". Нажимаем enter. Теперь задали папку с которой будем работать.
5. Вводим acdc.pl -d all.spawn Нажимаем enter.
6. Если асдс подходит для данного алл.спавна, то вскоре все распакуется и распакованные файлы можно будет обнаружить в папке с асдс.
7. Если асдс не подходит, то он выдаст ошибку. Тут же в этом черном окне. Надо будет внимательно прочитать о чем ошибка. Обычно для разных модов не хватает какого-нибудь описания чего-нибудь. Например, может ругаться что не может найти af_soul.
Тогда надо будет открыть файл acdc.pl блокнотом. Там найти, где описываются артефакты и в конце строк с артефактами сделать запись для af_soul, напримере других артефактов. После сохранить файл и заново набрать команду по распаковке.
8. После того, как сделали изменения в алл.спавне, надо будет таким же образом войти в папку с acdc, как описывалось раньше.
9. Набрать следующую команду: acdc.pl -c all.ltx
10. Если все сделали правильно в алл.спавне, то через некоторе время в папке с асдс появится файл all.spawn.new. Его надо будет переименовать в all.spawn .
P.S. Правило при работе с all.spawn - не забывайте правильно пронумеровывать вновь создаваемые секции. Для этого надо найти самый большой номер секции в алл.спавне. И присваивать своим секциям номера по порядку за этим номером.
II. Работа непосредственно с самой программой ACDC:
Главное отличие ACDC от xrSpawner тем, что xrSpawner не определяет не game_vertex, ни level_vertex. А также он измеряет только позицию. А проявляется это в том, что порой обьекты которые мы спауним спаунером не всегда появляются на месте. Или вообще не появляются...
1. После распаковки у нас появится много файлов в формате .ltx
Мы там видим файлы alife и way. В файлах alife только обьекты которые спаунятся. А в way только пути. Путь - это и есть путь по которому может двигаться живой обьект.
Для начала найдём файл alife_l01_escape, а в нём:
Для начала припишем актору после строк:
[dont_spawn_character_supplies] [spawn]
Вот этот код:
wpn_binoc wpn_vintorez ammo_9x39_ap = 22 wpn_usp ammo_11.43x23_hydro = 22 novice_outfit device_torch
Таким образом при старте новой игры у Меченного в самом начале в рюкзаке будет лежать Винторез и 600 патронов к нему, пистолет USP и 420 патронов к нему.
2. Также можно изменить количество денег у ГГ при старте:
Находим такой код:
; cse_alife_trader_abstract properties money = 40 trader_flags = 0 character_profile = actor
В строчке money напишем любое число. Что будет, я думаю обьяснять не надо!
3. А теперь изменим начальные координаты при старте новой игры...к примеру пусть Меченный стартует не в бункере у Сидоровича, а на втором этаже блокпоста военных.
Находим вот такой код:
position = -139.449829101563,-29.6908683776855,-351.492797851563 direction = 0,0.00895109120756388,0
Теперь позиция и дирекция:
; cse_alife_object properties game_vertex_id = 19 (вертекс на игре) distance = 0.699999988079071 level_vertex_id = 111256 (вертекс на уровне) object_flags = 0xffffffbf custom_data = <<END
А теперь мы изменим их на:
То есть ГГ окажется на втором этаже блокпоста пр начале новой игры.
P.S. Для того чтобы узнать координаты ГГ пишем в консоли команду: rs_stats on и видим окно с разными параметрами(примерно пол экрана). Там находим самую нижнюю строчку: координаты будут в формате X/Y/Z. К примеру так: -167.232299804688,-25.4363708496094,-354.692901611328
4. Создание нового НПС:
a)Создадим нового непися на Кордоне. Открываем alife_l01_escape и листаем в самый низ. Если у вас чистая игра и вы ничего не делали в Олл спавне, то последняя секция у вас будет под номером 869.
Если стоит Солянка, то смотрим на номер последней секции и ставим следующий.
В самый коней вставляем такой код:
P.S:
upd:position = -172.21215820313,-19.941787719727,-161.09272766113 -//таже самая позиция
То, что начинается с знака -// и дальше - надо убрать, во всех строках, где есть описание!!! Написал для ознакомления, за что отвечает каждый параметр!
Компилируем, получаем файл all.spawn.new , копируем его в gamedata/spawns и переименовываем просто в all.spawn .
НО это ещё не всё!
c)Теперь открываем файл character_desc_escape и перед профилем Волка вставляем вот этот код:
То есть у нас будет непись с визуалом военного, иконкой Волка, и голосом обычного сталкера!
d)Теперь создаем файл логики, в папке config/scripts создаем файл volazar_logic.ltx и пишем туда код:
[logic] active = remark1 danger = danger_ignore [danger_ignore] ignore_distance = 5 [remark1] no_move = true
Таким образом он будет стоять на месте и никуда не уйдёт...пока на него никто не нападёт!
e)Теперь открываем файл game_story_ids и в самый конец дописываем: 10000 = "esc_volazar"
f)Nеперь открываем файл npc_profile, вставляем туда код:
<character id="esc_volazar"> <class>esc_volazar</class> <specific_character>esc_volazar</specific_character> </character>
g)Далее открываем файл spawn_sections и вписываем следующее:
[esc_volazar]:stalker $spawn = "respawn\esc_volazar" character_profile = esc_volazar spec_rank = novice community = stalker
Всё! Готово! Теперь при старте игры мы увидим нового сталкера Волазар!
Немного элементарной логики...
К примеру: hodim_dvor - это путь по которому будет ходить НПС. Непися то мы сделали, но у него нет пути по которому он бы ходил, для этого создадим его (путь) в файле way_l01_escape.
Для этого пропишем ему такие строчки:
То есть, тут мы сделали так, что непись будет ходить туда сюда, а если не написать линкс (links), то он остановится на месте!
[moder]
Дополнение.
Теперь уже известно, что такую логику использовать нельзя:
[logic] active = remark1
т.к. секция remark не предусмотрена, для использования в качестве активной.
Лучше так:
[logic] active = walker [walker] path_walk = volazar_walk path_look = volazar_look danger = danger_ignore [danger_ignore] ignore_distance = 5 [smart_terrains] none = true
Fagot.
[/moder]