Пятница, 24.01.2025, 11:37
| RSS
F.O.R.U.M.
Главная | Работа с спавном через acdc.exe - Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Работа с спавном через acdc.exe
frontДата: Вторник, 13.10.2009, 22:03 | Сообщение # 1
Admin
Группа: Администраторы
Сообщений: 152
Репутация: 229
Статус: Оффлайн
значит так.. фух.. начну тут расписывать по немногу как пользоваться acdc
я не знаю какие бывают програмы для работы с ней =) я пользуюсь самонаписанными батниками и мне их хватает с головой =)

устанавливать её не надо, только скопируйте в папку gamedata/spawns где лежит ваш all.spawn( или freeplay.spawn в случае если у вас ФС или "патч 1.1б")

распаковывается спавн коммандой: acdc.exe -d all.spawn -o all_dir
жирным я выделил то что вы можете тут поменять на своё усмотрение, тоесть имя спавн-файла и all_dir в данном случае это каталог куда будет этот файл распакован

запаковка: acdc.exe -c all.ltx -o all.spawn
тут "all.ltx" почти всегда, он будет создан при распаковке и я обычно не меняю его имени, а "all.spawn" в данном случае тоже можно заменить
только не забывайте учитывать каталоги в которых вы работаете

вкратце по распаковке\запаковке всё

структура распакованного all.spawn

теперь структура распакованного спавна.
обычно all.spawn распакованный состоит из таких файлов:
alife_l01_escape.ltx
alife_l02_garbage.ltx
alife_l03_agroprom.ltx
alife_l03u_agr_underground.ltx
alife_l04_darkvalley.ltx
alif e_l04u_labx18.ltx
alife_l05_bar.ltx
alife_l06_rostok.ltx
alife_l07_military.ltx
alife_l08_yantar.ltx
alife_l08u_brainlab.ltx
alife_l10 _radar.ltx
alife_l10u_bunker.ltx
alife_l11_pripyat.ltx
alife_l12_stancia.ltx
alife_l12_stancia_2.ltx
alife_l12u_control_monolith.ltx
a life_l12u_sarcofag.ltx
all.ltx
section2.bin
way_l01_escape.ltx
way_l02_garbage.ltx
way_l03_agroprom.ltx
way_l03u_agr_underground.ltx
w ay_l04_darkvalley.ltx
way_l04u_labx18.ltx
way_l05_bar.ltx
way_l06_rostok.ltx
way_l07_military.ltx
way_l08_yantar.ltx
way_l08u_brainlab .ltx
way_l10_radar.ltx
way_l10u_bunker.ltx
way_l11_pripyat.ltx
way_l12_stancia.ltx
way_l12_stancia_2.ltx
way_l12u_control_monolith.ltx
way_l12u_sarcofag.ltx

файлы начинающиеся с "alife_" содержат в себе информацию о объектах, какие и где спавнить, какая у них будет логика и всё такое
они разделены на уровни но учтите что объект заспавнится по координатам а не по тому в каком файле вы его прописали

файлы начинающиеся с "way_" содержат в себе пути, пути нужны чтоб на них принудительно стояли, по ним принудительно ходили и спали.. тоесть по сути все работы в лагерях организовываются этими путями.. так же их можно использовать и без лагерей например чтоб заставить НПЦ стоять на месте или ходить по пути можно ему прописать логику "walker" и в ней указать "path_walk" и можно но кажется не обязательно "path_look".... вообще об этом надо отдельно, так как это не очень то относится с спавну =)

дальше:
all.ltx содержит в себе общее описание спавн структуры, и по большому счету туда лазить не стоит

section2.bin насколько я понимаю относится к АИ, что именно уже не помню даже если и знал когдато


 
frontДата: Вторник, 13.10.2009, 22:03 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 152
Репутация: 229
Статус: Оффлайн
объекты, их изменение и добавление

объекты в спавне выглядят примерно* так:
[65]
; cse_abstract properties
section_name = physic_object
name = trader_pribor_0002
position = -245.461166381836,-23.9442577362061,-133.349502563477
direction = 0,-0.0872577428817749,0

; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 594270
object_flags = 0xfffffffa
custom_data = <<END
[collide]
ignore_static
END

; cse_visual properties
visual_name = physics\decor\priemnik_gorizont

; cse_ph_skeleton properties
skeleton_name =

; cse_alife_object_physic properties
physic_type = 0x3
mass = 10
fixed_bones = link

* примерно потому что их структура и количество свойств зависят от того какая секция у объекта

это вот описание приёмника стоящего у Сидоровича.
его внешний вид (по сути это имя файла с геометрией) находится в строке
visual_name = physics\decor\priemnik_gorizont

имя секции объекта, это практически тип объекта
section_name = physic_object

в данном случае это просто физический объект (неразбиваемый)

дальше галопом по строкам так как время не детское =)
name = trader_pribor_0002 ;имя объекта
position = -245.461166381836,-23.9442577362061,-133.349502563477 ;позиция объекта
direction = 0,-0.0872577428817749,0 ;направление объекта

; cse_alife_object properties
game_vertex_id = 0
distance = 0
level_vertex_id = 594270
......про три последних параметра углублятся не буду, вам только важно знать что это тоже часть позиции объекта чтото вроде дополнительных координат.. насчет "distance" я не уверен что она на чтото влияет

еще, важно знать что номер объекта, в данном случае он "[65]" должен быть уникальным, чтоб посмотреть с какого номера можно начинать свои номера откройте файл "alife_l10u_bunker.ltx" и посмотрите какой номер у самого последнего объекта(у меня при распаковке стандартного all.spawn с патча 1.0005 последний номер был [8640]), вот следующий номер ваш, в принципе не обязательно чтоб номер был прям следующим, вы можете взять и намного больший номер, главное чтоб он был больше

так же вам надо учитывать имя объекта, желательно чтоб оно не повторялось

кстати вот что еще важно .. коментарии в данных файлах кто не заметил начинаются с ";" всё что после неё будет проигнорировано компилятором и не попадет в спавн

это было о редактировании... а как добавлять? я незнаю как правильно, но я ищу объект с той секцией которая мне нужна, например если хочу заспавнить кабана то ищу объект с секцией "boar_weak" или "boar_strong" потом копирую от номера до конца объекта и после этого меняю ему имя, координаты.. и если это нужно то свойства
то же с любыми другими, ищите те которые уже есть, копируйте и меняйте


 
  • Страница 1 из 1
  • 1
Поиск:

Для добавления необходима авторизация

Copyright Front Сайт оптимизирован под браузер Opera © 2025