Гость
Статистика Форума
Последнии темы Популярные темы Лучшии пользователи Новые пользователи
» [18.09.2018] Создание диалогов (0)
» [18.09.2018] Добавляем статьи в ПДА (0)
» [13.09.2018] Аномальная Зона | Anomalous Zone 1.6.00 (0)
» [13.09.2018] Проект Фантом / Project Phantom (0)
» [12.09.2018] Гид по прохождению Новый Арсенал 5.0 (2)
» [12.09.2018] Прохождение Оставшийся Умирать / Left To Die (0)
» [12.09.2018] S.T.A.L.K.E.R. GONE SOUL (0)
» [12.09.2018] N.I.K.S.O.N. MOD (ТЧ) (0)
» [12.09.2018] S.T.A.L.K.E.R. Forgotten Story Часть 1 (0)
» [10.09.2018] GUNSLINGER mod [S.T.A.L.K.E.R. CALL OF PRIPYAT] (1)
» Тайники и подсказки (82)
» Русскоязычное руководство по моду Frackin' Universe... (38)
» Фоны для сталкерского сайта (32)
» Capital-Rp Wikia Code (22)
» ГИД Прохождение остальных квестов ОП - 2 (21)
» Личные сообщения (18)
» Проблемы в модуле "Пользователи" (17)
» Рамки сталкер / для аватарок / новостей. (13)
» Полный список предметов в переводе для STALKER ОП-2 (13)
» Sigerous Mod 2.2 + Albor Weapons Pack (13)
» Xemordio (2470)
» Duzeppa26 (5)
» Ghosteron (3)
» Бармен (1)
» Даниил_Хороший (1)
» Glomar (1)
» zdarg (0)
» johnnym (0)
» LENA_D (0)
» freez12332 (0)
» [16.09.2018] marinak1984
» [15.09.2018] johnnym
» [09.09.2018] LENA_D
» [09.09.2018] oleg2013
» [03.09.2018] zdarg
» [02.09.2018] nitro-oc
» [02.09.2018] oleg101
» [31.08.2018] Razilator
» [30.08.2018] Yuri_Geruk
» [21.08.2018] ugarsis

  • Страница 1 из 1
  • 1
Форум » Игры // games » S.T.A.L.K.E.R. » Моддинг » Перенос локаций из ЧН в ЗП
Перенос локаций из ЧН в ЗП
Xemordio [Offline] Дата: Воскресенье, 09.09.2018, 08:57 | Сообщение # 1
Генерал [?]
Группа: Администраторы
Сообщений: 2470
Награды: 1
Репутация: 3
Введение:
В связи с появлением простой проги от АМК в сети,подключение локации перестало быть чем-то сложным.
Но к сожалению в туторе: Подключение локаций
Описан метод подключения из ТЧ к ЗП или к ЧН. лично для меня,как для нуба при подключении локи из ЧН к ЗП возникло множество вопросов,несмотря на то,что сделать это гораздо проще(как оказалось) ,чем подключать локу из ТЧ
В связи с этим я решил поделиться опытом,чтоб повторяющие мой путь не "наступали на те же грабли".
И так начнём.

Подготовка.

Для начала скачаем программы,которые нам понадобятся при подключении.
1. Универсальный распаковщик ресурсов игр Сталкер
2. ActivePerl
3. ggtool
4. ACDC_Cs
5. ACDC_Cop
6. ggEditor_01

При помощи распаковщика распакуем ресурсы ЧН и ЗП (прога имеет интуитивно понятный интерфейс,думаю проблем тут не возникнет)
Устанавливаем active perl.

Создаём папку с программой ggEditor_01.Создаем там папки Cs и Cop.В папке CS создаем папку gamedata.В папке gamedata создаем папку levels и кидаем туда папку с уровнем, который мы хотим портировать. Далее возвращаемся в папку CS и туда кидаем папку с ACDC для CS, туда же кладём all.spawn.Запускаем соответствующий батник для распаковки all.spawn`а.

Далее в папку ggEditor_01\ Cop,распаковываем соответствующий ACDC, опять-же кладем туда all.spawn, распаковываем.

В итоге у нас должно получиться 2 распакованных all.spawn`а и папка с переносимым уровнем.

С приготовлениями всё.

Основная работа.

Запускаем программу ggEditor.Видим там два окошка. В левом открываем graph.bin от ЧН, а в правом — section4.bin от ЗП(они появятся после распаковки all.spawn`а) Нужно выбрать тип файлов для ЧН — graph.bin, а для ЗП — все файлы и открыть в папке с ACDC файл . В окошках мы видим список уровней. В левом окошке находим нужный нам уровень и нажимаем на соответствующую стрелку для переноса уровня в нужный нам граф. Нажимаем в правом окошке «сохранить».После того, как граф сохранился, можно закрыть программу, она нам больше не понадобится. Потом этого шагаем в папку с ACDC для ЗП и удаляем старые файлы section4.bin.Затем переименовываем файл section4.bin.new в section4.bin.

Далее идем в папку с ACDC от ЧН, находим там файл alife_наша_локация и копируем его. Затем шуруем в папку с ACDC от ЗП, вставляем скопированный нами файл. Открываем этот файл, сносим все, оставляем только одну секцию спавна(Лучше всего если это будет какой-нибудь объект,я например всегда оставляю Campfire, костёр.), присваиваем секции номер не меньше 20000, сворачиваем на время этот файл. Далее нужно подогнать вертексы. Для этого запускаем батник ggtool, ждем некоторое время, после чего появляются имена локаций, а рядом с ними числа. Смотрим это число рядом с нашей локацией(в ЗП это скорее всего будет 934).Далее разворачиваем alife_ файл с нашей локацией, ищем там строку «game_vertex_id» и пишем там число которое появилось рядом с нашей локацией при запуске батника ggtool. Далее, в добавляемых потом секциях спавна нужно писать эти числа. Мы подогнали вертексы.

Затем открываем файл all.ltx.Вписываем туда свой alife_ файл локации, way_ файлы не трогаем. Меняем на соответствующее число локации строку level_count.

После этого открываем файл alife_zaton(для ЗП) и ищем там гг по строке «section_name = actor».Нашли?Отлично. Теперь присваиваем этой секции спавна позицию(новую позицию прописываем также в строке "upd:position = ") и вертексы как у единственного предмета в файле alife_новая_локация. При следующей распаковке, если вы все сделали правильно, наш актор окажется в файле alife_новая_лока.

Мы почти закончили с пробной сборкой новой локации(пока без перехода).

Осталось только прописать наш новый уровень в файл ACDC Cop\acdccop.pl(для ЗП)

В этом файле ищем такие строки(для ЗП):
Код
use constant levels_info => (
        { gvid0 => 934,   },
        { gvid0 => 883,         name => 'jupiter_underground' },
        { gvid0 => 857,         name => 'labx8' },
        { gvid0 => 666,         name => 'pripyat' },
        { gvid0 => 317,         name => 'jupiter' },
        { gvid0 => 0,           name => 'zaton' },

И если у вас число когда мы запускали батник ggtool тоже 934 то прописываем так:
Код
use constant levels_info => (
        { gvid0 => 934,         name => 'ваша_локация' },
        { gvid0 => 883,         name => 'jupiter_underground' },
        { gvid0 => 857,         name => 'labx8' },
        { gvid0 => 666,         name => 'pripyat' },
        { gvid0 => 317,         name => 'jupiter' },
        { gvid0 => 0,           name => 'zaton' },

Всё.Собираем all.spawn.

Сборка геймдаты.

Осталось собрать gamedat`у для игры и смотреть что получилось. Итак, приступим:

В папке с игрой создаем папку gamedata, а в ней папки configs, levels, spawns.В папку spawns ложим получившийся при сборке all.spawn.new(или new.spawn), не забывая переименовать его в all.spawn.В папку levels ложим уровень из ggEditor_01\Soc\gamedata\levels\ваша_локация.

Теперь осталось только прописать уровень в конфигах.Из распакованной геймдаты игры берем файлы configs\game_graphs.ltx, game_levels.ltx, game_maps_single.ltx.

game_graphs.ltx для ЗП должен выглядеть так:
Код
[location_0]
  000          = "..."
  001          = "ваша_локация"
  002          = "sim_smart_2"
  003          = "sim_smart_3"
  004          = "sim_smart_4"
  005          = "sim_smart_5"
  006          = "sim_smart_6"
  007          = "sim_smart_7"
  008          = "sim_smart_8"
  009          = "sim_smart_base"

[location_1]
  000          = "..."
  001          = "ограниченный доступ"
  002              = "запрещенный доступ"

[location_2]
  000          = "..."
  001              = "не для игрока"

[location_3]
  000          = "..."
  ...          . .......................
  112          = "pri_a22_smart_terrain"
  113          = "pri_a25_smart_terrain"
  114          = "pri_a28_arch"
  115          = "pri_a28_base"
  116          = "pri_b28_evac"
  117          = "pri_a28_heli"
  118          = "pri_a28_school"
  119          = "pri_a28_shop"
  120          = "pri_b301"
  121          = "pri_b302"
  122          = "pri_b303"
  123          = "pri_b304_monsters_smart_terrain"
  124          = "pri_b305_dogs"
  125          = "pri_b306"
  126          = "pri_b307"
  127          = "pri_b35_mercs"
  128          = "pri_b35_military"
  129          = "pri_b36_smart_terrain"
  130          = "pri_sim_1"
  131          = "pri_sim_2"
  132          = "pri_sim_3"
  133          = "pri_sim_4"
  134          = "pri_sim_5"
  135          = "pri_sim_6"
  136          = "pri_sim_7"
  137          = "pri_sim_8"
  138          = "pri_sim_9"
  139          = "pri_sim_10"
  140          = "pri_sim_11"
  141          = "pri_sim_12"
  142          = "ваша_локация"

[graph_points_draw_color_palette]
default                         = 0x6000ffff
000_000_000_000         = 0x60ff00ff

Далее лезем в game_levels.ltx. Там в самом начале, где список уровней, вписываем "level183"(число не менее 183.) Листаем файл до самого конца и в конце пишем следующее:
Код
[level183]
name   = ваша_локация
caption = "ваша_локация"
offset  = 700.0,     1000.0,    -840.0
weathers = [default]
id  = 183

Затем открываем файл game_maps_single.ltx и прописываем свой уровень в секции "[level_maps_single]", а затем создаем примерно такую секцию для нашего уровня:
Код
[ваша_локация]
        global_rect                      = 307.0, 90.0, 717.0, 500.000000
        weathers                         = dynamic_default

Всё.Запускайте игру и пробуйте, что получилось.

Возможные вылеты:
Код
FATAL ERROR
[error]Expression : cross_table().header().level_guid() == level_graph().header().guid()
[error]Function : CAI_Space::load
[error]File : D:\prog_repository\sources\trunk\xrGame\ai_space.cpp
[error]Line : 113
[error]Description : cross_table doesn't correspond to the AI-map

Данный вылет свидетельствует о том,что вы использовали распаковщик ресурсов игры не из этой темы.У вас при распаковке вашего уровня "съехала АИ-сетка"
Лечение: Использовать распаковщик предложенный выше.

Код
[error]Expression : fs
[error]Function : CResourceManager::_CreateVS
[error]File : D:\prog_repository\sources\trunk\Layers\xrRender\ResourceManager_Resources.cpp
[error]Line : 166
[error]Description : shader file doesnt exist
[error]Arguments : c:\program files (x86)\gsc world publishing\s.t.a.l.k.e.r. - Зов Припяти\gamedata\shaders\r2\deffer_impl_flat.vs

Лечение:
В папке gamedata создаёте папки shaders\r2 переносите из ЧН файл deffer_impl_flat_d.vs переименовываете его в deffer_impl_flat.vs

как пример: Локация "агропром " прикрученная к ЗП за полчаса.
Агропром

Примечание: На компьютере должен быть обязательно установлен NetFramework версией не ниже 2.0
Это для тех,кто использует старые сборки ХР.
Скачать можно Тут
Форум » Игры // games » S.T.A.L.K.E.R. » Моддинг » Перенос локаций из ЧН в ЗП
  • Страница 1 из 1
  • 1
Поиск:

18:08