Перейти к контенту

[CoP] Перенос и создание карт


Halford

Рекомендуемые сообщения

Работа над ошибками в Spawn_parser 2.0

В прежней версии моего парсера обнаружена глупая ошибка, когда в alife-файлах появлялась строка вида

game_vertex_id = 934.ltx

 

Выкладываю исправленную версию парсера:

Spawn_parser 2.0 beta.7z (375.2 КБ)

http://ifolder.ru/18709410 30.07.2010

http://rghost.ru/2268044

 

 

 

Спасибо камраду Kostya V за найденный глюк.

 

 

Удачи Всем!

Ссылка на комментарий

Создал на своей локации кордон переход на затон, где стартует игрок в оригинале. Словил вылет:

* Saving spawns...
* Saving objects...
* 11902 objects are successfully saved
* Game Александр - quicksave.scop is successfully saved to file 'c:\users\public\docume~1\stalke~1.-\savedgames\Александр - quicksave.scop'
stack trace:

001B:02BCCDC0 xrGame.dll, CDialogHolder::CDialogHolder()

[error][     183]    : Невозможно создать файл, так как он уже существует.

 

Если я правильно понимаю, то он хочет создать сохранение, но такое существует, отсюда и вылет.

[6573]

; cse_abstract properties

section_name = level_changer

name = zaton_from_l01_escape

position = 29.34641456604,16.5561962127686,686.241638183594

direction = 0.988783955574036,0,-0.149352878332138

cse_abstract__unk1_h16 = 0x1

 

; cse_alife_object properties

game_vertex_id = 935

distance = 38.5

level_vertex_id = 309788

object_flags = 0xffffff3e

custom_data = <<END

[pt_move_if_reject]

path = zaton_way_if_reject

END

 

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 8.25219917297363,0,0

shape0:axis_y = 0,3.09340000152588,0

shape0:axis_z = 0,0,8.25219917297363

shape0:offset = 0,0,0

 

; cse_alife_space_restrictor properties

restrictor_type = 3

 

; cse_alife_level_changer properties

dest_game_vertex_id = 292

dest_level_vertex_id = 1405060

dest_position = 256.240051269531,19.8124237060547,550.824279785156

dest_direction = -0.0120869996026158,2.81339907646179,-0.0158249996602535

dest_level_name = zaton

dest_graph_point = zat_b104_graph_point_0020

silent_mode = 1

 

; se_level_changer properties

 

 

Что делать?

Ссылка на комментарий

Я щас специально по твоему вопросу звонил пысам. Сказали удалить тот файл, который существует.

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий

Вот решил что для мапперов полезна программа будет-GeoControl.v2.0.41. Предназначена для создания террейнов. Очень гибкая.

сцылко-http://narod.ru/disk/start/04.dl17sd-narod.yandex.ru/22853389000/hc8bbf4c6449e86b897db78af2b6edca7/GeoControl.v2.0.41.7z

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий

напишите пожалуйста полный faq по присоединению локаций из тч и чн к зп и как создать проводника для перехода на подключёные локации

Создание глобального мода для Зов Припяти

http://led-story-mod.ucoz.ru/

Ссылка на комментарий

В шапку погляди!

>>Программа для подключения уровней к ЗП<<

Тутор для начинающих от БАТЯ-STALKER по использованию сей программы для подключения уровней к ЧН и ЗП.

Русскими буквами.

РикошетТ какой гугль? вон вверху в шапке погляди.

Изменено пользователем alexwew

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий

Там по русски написано, берем графы 2 игр, открываем в граф редакторе(ггэдитор)перетаскиваем локу в нужный графф и готово(остается ручная писанина)

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий
Там по русски написано, берем графы 2 игр, открываем в граф редакторе(ггэдитор)перетаскиваем локу в нужный графф и готово(остается ручная писанина)

можеш по подробнее описать что и где прописывать и что где оставлять

а с графиком я разобрался уже

Строгое предупреждение от модератора n6260
Пишем грамотно и не забываем про заглавные буквы и знаки препинания.

Создание глобального мода для Зов Припяти

http://led-story-mod.ucoz.ru/

Ссылка на комментарий

Для начала качаешь программу от АМК(ggEditor(РЕСПЕКТ колмогору)). Создаешь папку(1)в ней тч(2) и зп(3).В папке 2 создаешь gamedata и кидашь в нее файл game.graph от ТЧ. В папке gamedata создаешь папку levels и кидаешь туда папку с уровнем, который хочешь подключить. В корень папки 2 кидаешь ACDC для ТЧ, туда же кладёшь all.spawn от ТЧ(и расспаковываешь спавн путем нажатия на соответствуюший батник).

В папку 3 кидаешь папку с соответствующим ACDC, опять-же кладешь туда all.spawn от ЗП, распаковывашь.

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

Копируем алайф локи от ТЧ(которую подключали) в папку с распакованным спавном от ЗП. Тут небольшое отступление-можно использовать программу АК47(и ему тоже РЕСПЕКТ) для перегонки секций. Здесь мы упрощаем себе работу. Программа так же прописывает все где надо(сам проверял)

и в принципе готово. осталось собрать спавн, распихать все в ЗП и запускать. Но если нету проги от АК47 то вот так!

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

 

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

 

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

 

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

 

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

 

В этих файлах ищем такие строки(для ЗП):

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' },

 

А в файле level.pm от ACDC ЧН вы увидите такой текст:

use constant levels_info => (

{ gvid0 => 1620, },

{ gvid0 => 1573, name => 'l12_hospital' },

{ gvid0 => 1565, name => 'l11_stancia2' },

{ gvid0 => 1524, name => 'l10_limansk' },

{ gvid0 => 1511, name => 'l09_agroprom_undeground' },

{ gvid0 => 1313, name => 'l08_military' },

{ gvid0 => 1212, name => 'l07_yantar' },

{ gvid0 => 1057, name => 'l06_agroprom' },

{ gvid0 => 961, name => 'l05_red_forest' },

{ gvid0 => 743, name => 'l04_darkvalley' },

{ gvid0 => 472, name => 'l03_escape' },

{ gvid0 => 245, name => 'l02_garbage' },

{ gvid0 => 0, name => 'l01_marsh' },

 

Прописать там свой уровень нужно точно так-же как в файле от ACDC ЗП:

use constant levels_info => (

{ gvid0 => 1620, name => 'ваша_локация' },

{ gvid0 => 1573, name => 'l12_hospital' },

{ gvid0 => 1565, name => 'l11_stancia2' },

{ gvid0 => 1524, name => 'l10_limansk' },

{ gvid0 => 1511, name => 'l09_agroprom_undeground' },

{ gvid0 => 1313, name => 'l08_military' },

{ gvid0 => 1212, name => 'l07_yantar' },

{ gvid0 => 1057, name => 'l06_agroprom' },

{ gvid0 => 961, name => 'l05_red_forest' },

{ gvid0 => 743, name => 'l04_darkvalley' },

{ gvid0 => 472, name => 'l03_escape' },

{ gvid0 => 245, name => 'l02_garbage' },

{ gvid0 => 0, name => 'l01_marsh' },

 

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

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

 

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

 

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

 

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

 

game_graphs.ltx для ЧН должен выглядеть так:

[location_0]

000 = "..."

001 = "эскейп"

002 = "свалка"

003 = "агропром"

004 = "агропром-подземка"

005 = "темная долина"

006 = "лаборатория X-18"

007 = "даркскейп"

008 = "Бар"

009 = "Росток"

010 = "Янтарь"

011 = "лаборатория X-16"

012 = "Милитари"

013 = "Мертвый город"

014 = "Радар"

015 = "Радар бункер"

016 = "Припять"

017 = "станция АЭС"

018 = "ваша_локация"

 

 

[location_1]

000 = "..."

001 = "ограниченный доступ"

002 = "запрещенный доступ"

 

[location_2]

000 = "..."

001 = "не для игрока"

 

[location_3]

000 = "..."

001 = "ваша_локация"

 

game_graphs для ЗП должен выглядеть так:

[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

 

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

 

 

Соединение с остальными уровнями.

 

Предлагаю вам не терять зря времени просто бегая по подключенной локации, а замерить координаты для создания перехода.Координаты будем снимать на 2-х локациях:на подключенной и на той на которую вы хотите сделать переход соответственно.На каждой локации нам нужно снять по две координаты(координата самого перехода и координата места в которое будет бросать при переходе с второй локации, вторую координату делаем на пару метров дальше, потому как если сделать близко, то сразу же будет кидать обратно, на локацию с которой переходим.).Как снять координаты, я думаю все знают, поэтому объяснять здесь не буду.

 

Мы отмерили все необходимые нам координаты.

 

Затем распаковываем сделанный нами ранее all.spawn.Теперь в нужных нам локациях, в alife_ файлах добавляем следующую секцию спавна:

[1]

; cse_abstract properties

section_name = level_changer

name = escgar_level_changer - уникальное имя

position = 28.060224533081,16.556184768677,685.80151367188 - координаты перехода

direction = 0,0,0

cse_abstract__unk1_h16 = 0x1

; cse_alife_object properties

game_vertex_id = 1142 - геймвертексы

distance = 0

level_vertex_id = 308110 - геймвертексы

object_flags = 0xffffff3e

; cse_shape properties

shapes = shape0

shape0:type = box

shape0:axis_x = 1.25219917297363,0,0

shape0:axis_y = 0,3.09340000152588,0

shape0:axis_z = 0,0,1.25219917297363

shape0:offset = 0,0,0

; cse_alife_space_restrictor properties

restrictor_type = 3

; cse_alife_level_changer properties

dest_game_vertex_id = 1187 - вертексы локи на которую ведет переход

dest_level_vertex_id = 212769 - вертексы локи на которую ведет переход

dest_position = 39.396331787109,0.48722490668297,-299.7674505469 - позиция куда кидает

dest_direction = 0,0,0 - поворот гг

dest_level_name = l02_garbage - на какую локу кидает

dest_graph_point = start_actor_01

silent_mode = 1

; se_level_changer properties

 

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий

У меня щщас ее нету, но в этой теме поищи, она точно тут есть.

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий
У меня щщас ее нету, но в этой теме поищи, она точно тут есть.

а как она называеться?

Создание глобального мода для Зов Припяти

http://led-story-mod.ucoz.ru/

Ссылка на комментарий

Parser........давно я пользовался ей, дальше не помню.

 

Поиск могучая вещь.

http://www.amk-team.ru/forum/index.php?sho...st&p=473097

 

Строгое предупреждение от модератора n6260
Не оставляем два сообщения подряд. Тебе два преда до полного бана осталось... Может просто счас забанить, что бы ты не мучился?

я изменился. пью, курю, употребляя наркотические средства.

Жизнь-говно. Бабы -консервы.

Забьюсь под стол, чтоб никто не трогал.

Ссылка на комментарий

У меня проблема после упакования спаунера обратно он становиться размером меньше

Создание глобального мода для Зов Припяти

http://led-story-mod.ucoz.ru/

Ссылка на комментарий

Если в пределах килобайта и при этом работает - то нормально.

Даже если просто перекомпилить, ничего не меняя в файлах - размер может отличаться.

Ссылка на комментарий
Если в пределах килобайта и при этом работает - то нормально.

Даже если просто перекомпилить, ничего не меняя в файлах - размер может отличаться.

размер стал на кучу мегабайтов меньше

Создание глобального мода для Зов Припяти

http://led-story-mod.ucoz.ru/

Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...