Регистрация ·
Имя: Пароль:  
· Забыли пароль?
 



Как работать с all.spawn

Ответить на тему
 
Автор Сообщение

Alex39 ®

Стаж: 11 лет

Сообщений: 415

Откуда: Украина, Одесса

Пост 10-Июл-2013 11:59

[Цитировать]

Как работать с all.spawn

Как работать с all.spawn

По распаковке алл.спавна с помощью acdc. ( качаем эту прогу )
Расскажу, как делать это без батников.
Если надо распаковать алл.спавн.
1. Помещаем файл алл.спавн в папку, где находятся файлы от acdc. Лучше создать ее на диске С:
2. Нажимаем ПУСК - Выполнить. Появляется командное окно.
3. Вводим команду cmd. Появляется черное окно.
4. В нем пишем cd\ Далее нажимаем enter. Происходит перенос на другую строчку. Эта команда задает диск С для работы с ним.
5. Далее пишем cd C:"название папки, куда поместили acdc". Нажимаем enter. Переход на другую строчку. Теперь задали папку с которой будем работать. Вот здесь и надо будет вводить команды для acdc.
6. Вводим acdc.pl -d all.spawn Нажимаем enter.
7. Если асдс подходит для данного алл.спавна, то вскоре все распакуется и распакованные файлы можно будет обнаружить в папке с асдс.
8. Если асдс не подходит, то он выдаст ошибку. Тут же в этом черном окне. Надо будет внимательно прочитать о чем ошибка. Обычно для разных модов не хватает какого-нибудь описания чего-нибудь. Например, может ругаться что не может найти af_soul.
Тогда надо будет открыть файл acdc.pl блокнотом. Там найти, где описываются артефакты и в конце строк с артефактами сделать запись для af_soul, напримере других артефактов. После сохранить файл и заново набрать команду по распаковке.
9. После того, как сделали изменения в алл.спавне, надо будет таким же образом войти в папку с acdc, как описывалось раньше.
10. Набрать следующую команду: acdc.pl -c all.ltx
11. Если все сделали правильно в алл.спавне, то через некоторе время в папке с асдс появится файл all.spawn.new. Его надо будет переименовать в all.spawn
12. Правило при работе с алл.спавном - не забывайте правильно пронумеровывать вновь создаваемые секции. Для этого надо найти самый большой номер секции в алл.спавне. И присваивать своим секциям номера по порядку за этим номером.
Работа с ACDC
Сегодня мы разберем основу работы с ACDC. Но... Для начала небольшое отступление. Вы зададите вопрос, почему же лучше работать с ACDC нежели чем с xrSpawner? Отвечаю: xrSpawner при всех его преимуществах имеет множество более значительных минусов. Во первых, xrSpawner не определяет не game_vertex, ни level_vertex. А также он измеряет только позицию. Я думаю работающие с xrSpawner, замечали что, порой обьекты которые они спаунят спаунером не всегда появляются на месте. Или вообще не появляются. Потому что повторяю xrSpawner не определяет вертексы т.е. точная позиция и распределение по АИ-сетке. Итак начнём работу! У нас есть программа ACDC, руки и мозги в голове. Кладём all.spawn в папку utils и жмём на батник "распаковка". Итак all.spawn распакован!Мы там видим файлы alife и way. В файлах alife только обьекты которые спаунятся. А в way только пути. Я думаю с алайфом всё понятно. Разберем way. Пути. Путь это и ест путь. По которому может двигаться живой обьект.Сейчас мы это рассмотрим: Для начала устроим текстовый беспредел Найдём файл alife_l01_escape, а в нём
Код
[869]
; cse_abstract properties
section_name = actor
name = level_prefix_actor_0001
s_rp = 0
position = -139.449829101563,-29.6908683776855,-351.492797851563
direction = 0,0.00895109120756388,0
s_flags = 0x29
[dont_spawn_character_supplies]
[spawn]
wpn_binoc
novice_outfit
device_torch
END
; cse_visual properties
visual_name = actors\hero\stalker_novice
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 0
g_group = 0
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 1
upd:timestamp = 0x75732029
upd:creature_flags = 0x70
upd:position = -139.449829101563,-29.6908683776855,-351.492797851563
upd:o_model = 0
upd:o_torso = 0.00895109120756388,0,-0.999959945678711
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0
; cse_alife_trader_abstract properties
money = 40
trader_flags = 0
character_profile = actor
; cse_ph_skeleton properties
; cse_alife_creature_actor properties
upd:actor_state = 0xd20
upd:actor_accel_header = 0
upd:actor_accel_data = 0
upd:actor_velocity_header = 0
upd:actor_velocity_data = 0
upd:actor_radiation = 0
upd:actor_weapon = 110
upd:num_items = 0
Примерно такие строки. Для начала расщедримся Припишем актору в [dont_spawn_character_supplies]
[spawn] такие строки.
[dont_spawn_character_supplies]
Код
[spawn]
wpn_binoc
wpn_vintorez
ammo_9x39_pab9 = 20
wpn_usp
ammo_11.43x23_hydro = 22
novice_outfit
device_torch
Получиться что мы подарим Меченому при начале игры Винторез, 600 патронов к нему, пистолет USP и 420 патронов к нему. Так. Теперь Меченый у нас будет крутым рэмбо Теперь ещё и подарим ему денежек.
Код
; cse_alife_trader_abstract properties
money = 40
trader_flags = 0
character_profile = actor
В строчке money напишем любое число. Тока астрономические не надо(не проверял). Ну теперь Меченый не только рэмбо но и миллионер. Теперь займемся кординатами. У нас они такие:
Код
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
А теперь пропишем туда такие кординаты:
Код
position = -167.232299804688,-25.4363708496094,-354.692901611328
direction = 0,-0.365248799324036,0
; cse_alife_object properties
game_vertex_id = 0
distance = 0.699999988079071
level_vertex_id = 82413
object_flags = 0xffffffbf
custom_data = <<END
upd:health = 1
upd:timestamp = 0x75732029
upd:creature_flags = 0x70
upd:position = -167.232299804688,-25.4363708496094,-354.692901611328
upd:o_model = 0
upd:o_torso = -0.365248799324036,0,0.930909931659698
upd:g_team = 0
upd:g_squad = 0
upd:g_group = 0
Тепер игра начнётся в здании блокпоста на 2 этаже. С этим мы закончим. Теперь создадим нового НПС:
Код
[871]
; cse_abstract properties
section_name = stalker
name = esc_bridge_soldier1
position = -133.27989196777,-30.146812438965,-372.0263671875
direction = 0.028013030067086,0,0.9996075630188
; cse_alife_trader_abstract properties
money = 5000
character_profile = esc_soldier_regular
; cse_alife_object properties
game_vertex_id = 20
distance = 16.1000003814697
level_vertex_id = 118083
object_flags = 0xffffffbf
custom_data = <<END
[logic]
active = walker
[walker]
path_walk = hodim_dvor
END
; cse_visual properties
visual_name = actors\soldier\soldier_bandana_3
; cse_alife_creature_abstract properties
g_team = 0
g_squad = 1
g_group = 2
health = 1
dynamic_out_restrictions =
dynamic_in_restrictions =
upd:health = 1
upd:timestamp = 0
upd:creature_flags = 0
upd:position = -133.27989196777,-30.146812438965,-372.0263671875
upd:o_model = 0
upd:o_torso = 0.028013030067086,0,0.9996075630188
upd:g_team = 0
upd:g_squad = 1
upd:g_group = 2
; cse_alife_monster_abstract properties
upd:next_game_vertex_id = 65535
upd:prev_game_vertex_id = 65535
upd:distance_from_point = 0
upd:distance_to_point = 0
; cse_alife_human_abstract properties
predicate5 = 1,2,2,1,2
predicate4 = 0,1,1,1
; cse_ph_skeleton properties
upd:start_dialog =
; se_stalker properties
Так вот он наш друг НПС солдат на блокпосте Тут уже знакомы строки. Позиция, дирекция вертексы... Но есть кое что новое
Код
[logic]
active = walker
[walker]
path_walk = hodim_dvor
Элементарная логика НПС. hodim_dvor-Это путь по которому будет ходить НПС. НПС есть всё готово. Но путя то у нас нет Создадим его в файле way_l01_escape. Припишем вот такие строчки.
[hodim_dvor]
points = p0,p1
p0:name = name00
p0:position = -120.44634246826,-30.15016746521,-363.68786621094
p0:game_vertex_id = 24
p0:level_vertex_id = 132887
p0:links = p1(1)
p1:name = name01 номер точки
p1:position = -132.61611938477,-30.142726898193,-363.87365722656 - только позиция
p1:game_vertex_id = 19 вертекс на игре
p1:level_vertex_id = 118862 вертекс на уровне
p1:links = p0(1) на какую точку после этой перейдёт НПС. (тут он будет ходить туда сюда, если не написать линкс то он остановиться на месте)
Вне форума
[Профиль] [ЛС]
Показать сообщения:    
Ответить на тему

Текущее время: Сегодня 13:26

Часовой пояс: GMT + 2



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