Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: denis2000, FantomICW  
Модостроение. Создание и редактирование локаций
denis2000Дата: Пн, 10.10.2011, 21:29 | Сообщение # 1
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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

Работа с SDK и дополнительными программами для создания, редактирования и добовления локаций

Если у вас появились вопросы по созданию, редактированию, переносу локаций, а так же по добавлению их в игру. Задавайте их в этой теме - умные головы,
модосторители и просто разбирающиеся в программировании люди вам ответят.


Много интересного материала здесь (wiki), Lua_help.script, Help из SDK 0.7

Сборник модостроения ЗП v10.10.11 (автор: XOBAH): *.CHM, *.HTML
[cut noguest=Если у вас не открывается файл CHM]Если у вас не открывается файл:
1. Запустите [Пуск]=>[Выполнить] (либо хот-кей [WIN]+[R])
2. Введите команду (без кавычек) "regsvr32 %windir%\system32\hhctrl.ocx"
3. Если вылезло окно об успешном завершении вы все сделали правильно и можете перезагружать компьютер (а может и не надо)
Также: файлы МОГУТ не открываться если в пути к файлу есть: символы кириллицы, "_", "#"
Также: есть не стандартные программы-просмоторщики CHM файлов. Например: FBReader[/cut]

[cut=Декомпиляция уровней в формат SDK. Спасибо VERvolF]Для декомпиляции игровых карт в формат LevelEditor'a используется консольная утилита converter.exe, входящая в пакет X-ray Game asset tools pack или X-ray Engine Tools (converter). Последнюю версию искать на сайте

Настройка Конвертера.

Открываем любым текстовым редакором файл converter.ini, в нем находим строки:
Code
; 2947+ (финалка включая обновления)
[2947_config]:2945_config
$game_data$ = c:\temp\1\gamedata.3312\
$game_levels$ = c:\temp\1\gamedata.3312\levels\

; 3456+ (Clear Sky включая обновления)
[3456_config]:2947_config
$game_data$ = c:\temp\1\gamedata.3502\
$game_levels$ = c:\temp\1\gamedata.3502\levels\
fake_mu_gamemtls = 34xx_fake_mu_gamemtls
fake_gamemtls = 34xx_fake_gamemtls

Здесь $game_data$ - путь до папки gamedata с распаковаными ресурсами игры, $game_levels$ - до папки levels в gamedata соответственно. Необходимо указать полные пути.

В файле fsconverter.ltx находим следующую строку:
Code
$sdk_root$ = false| false| c:\program files\x-ray sdk\level_editor\

Здесь $sdk_root$ - путь до полного SDK (русифицированный не работает нормально с converter.exe). Правим путь на свой, не забывая поставить слэш в конце.

Более конкретная настройка СДК см. Ссылки.

Декомпиляция.

Конвертер полностью настроен, теперь нужно создать .bat-файл для конвертирования в формат SDK. Для этого создаем текстовой файл, пишем внутри команду и меняем формат файла с .txt на .bat:
Code
converter -level <имя_карты> -out <имя_сцены> -mode maya|le|le2 -with_lods
pause

Здесь <имя_карты> - имя папки с картой в каталоге gamedata\levels\, например l08_yantar (локация Янтарь из ТЧ), <имя_сцены> - имя карты после декомпиляции, можно не писать, в этом случае имя карты после декомпиляции не изменится.
Далее выдержка из docs\converter.txt:

Quote
Ключ -mode задаёт режим работы:
maya - декомпилировать только геометрию карты.
le - декомпилировать в формат LE.
le2 - декомпилировать в формат LE (для l12_stancia_2).
raw - декомпилировать в формат LE (отладочный режим).


Ключ -with_lods обрабатывается в зависимости от значения -mode. Если он задан совместно с -mode maya, программа выдаст ещё и MU-модели. С остальными
режимами его наличие заставляет converter разбивать LOD-текстуры, что
необходимо для полной пересборки. Также ключ ''-with_lods'' следует использовать
если планируется дальнейшая перекомпиляция уровня.

Отладочные параметры: -dbgcfrm, -dbgmrg.

То есть команда для декомпиляции в формат SDK, например, уровня l08_yantar будет выглядеть так:
Code
converter -level l08_yantar -out l08_yantar_decompiled -mode le -with_lods

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

Найти декомпилированную карту можно будет в каталоге $sdk_root$\maps (файл, читаемый SDK) и $sdk_root$\rawdata\objects\levels (обьекты, используемые данным уровнем). Ну а далее думаю всё и так понятно - в ЛЕ жмём File -> Open и открываем нашу карту. [/cut][cut=Создание LOD-текстур]Изначально в пакете SDK отсутствуют LOD'ы. Их придется создать самостоятельно.
В свитке Scene Level Editor'a кликаем Objects-->Library Editor (Объекты-->Библиотека объектов). В открывшемся диалоговом окне выбираем нужный объект, ставим флажок Preview (Предпросмотр). Нажатием кнопки Make LOD (High Quality) или Make LOD (Low Quality) запускаем процесс создания LOD-текстур соответственно в высоком или низком качестве. Созданные LOD'ы можно найти в \rawdata\textures\lod\ (.tga) и \gamedata\textures\lod\ (.dds и .thm).

Если у объекта отсутствует .thm-файл с картинкой-превьюшкой, то можно создать его нажатием кнопки Make Thumbnail (Создать миниатюру), выбрав перед этим удобный ракурс для "съемки". [/cut]

[cut=Где найти лог игры после вылета]Что такое LOG ошибки, и как мне его найти?
Это система отладки происходивших вылетов, которая подается игрой в форме текста, хотя не всегда.
Для того чтоб найти LOG необходимо зайти вот сюда:

В Win хр лог находится:

C:\Documents and Settings\All Users\Документы\S.T.A.L.K.E.R. - Зов Припяти\logs

Затем открываете первый файл в формате TXT, и в нем отбираете с низу 25 строчек. После кидаете эти 25 строчек в сообщение на форум.

В Win7 лог находится C:\Users\Public\Documents\S.T.A.L.K.E.R. - Зов Припяти\logs

Путь к папке с логом можно найти открыв файл fsgame.ltx который находится в корневой директории ЗП, за это отвечает строка:
...
$app_data_root$ = true | false| $fs_root$| users\
(тут мы указываем что папка пользователя, будет хранится рядом с Fsgame.ltx)
...
$logs$ = true| false| $app_data_root$| logs\
(а тут мы указываем что в папке пользователя, в подпапке Logs будут храниться наши логи)
...
[/cut][cut=Получение более подробной информации о вылете (ХОВАН)]
Открываем файл _g.script и ищем такую функцию: function abort(fmt, ...)
Там есть заккомментированная строчка "--error_log(reason)", ее и надо расскомментировать, должно получиться вот так:
Code
function abort(fmt, ...)
                         local reason = string.format(fmt, ...)
                         error_log(reason)
end

Вот для примера два одинаковых вылета, первый с функцией по умолчанию, второй - с поправленной функцией

Первый:
Code
Expression    : !m_error_code
Function      : raii_guard::~raii_guard
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp
Line          : 748
Description   : ....a.l.k.e.r. - Зов Припяти\gamedata\scripts\_g.script:478: bad argument #2 to 'format' (string expected, got nil)

Второй:
Code
Expression    : 0
Function      : ErrorLog
File          : D:\prog_repository\sources\trunk\xrServerEntities\script_engine_script.cpp
Line          : 49
Description   : 'Attempt to read a non-existant string field 'path_walk' in section 'walker@mechanic'

[/cut]


Перед тем, как задать вопрос в этой теме, прочтите все предыдущие страницы,
статьи в wiki по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


Если произошел вылет - выкладываем лог! Вопрос ставим четко, не забываем указывать версию игры, установленные моды их версии, установленные фиксы модов и подробно ваши правки.
Помните чем подробнее вопрос, тем точнее ответ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ТиграДата: Ср, 13.04.2016, 00:57 | Сообщение # 541
Зам лидера. Специалист-зоопсихолог НС
Ночные сталкеры
Сообщений: 2413
Награды: 18
Репутация: [ 1056 ]

Огромное спасибо за прояснение! У меня, к сожалению, вопросы вызывают любые мелочи, вплоть до того, важен ли размер смарт-террейна на карте. ))) Сейчас попробую все переделать с учетом замечания. ))))

Добавлено (13.04.2016, 00:57)
---------------------------------------------

Цитата sergej5500 ()
red_sim_1_hunters_scout_walk.

Так, все сделали, как ты сказал, имена путей перепроверили. Неписи спавнятся, но сидят и не ходят по точкам. Сквад сделали дефолтный. Может, для дефолтного сквада надо как-то иначе?
Второй вопрос: target_smart - это, как я понимаю, смарт-террейн, в котором сквад должен заспавнится или это куда он должен придти в конце концов?


 
denis2000Дата: Ср, 13.04.2016, 07:58 | Сообщение # 542
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Тигра ()
важен ли размер смарт-террейна на карте.

Нет не важен.
Цитата Тигра ()
Может, для дефолтного сквада надо как-то иначе?

Дефолтный сквад как правило не обладает параметром target_smart, за назначение цели данному скваду отвечает симборд (sim_board.script скрипт симуляции жизни отрядов в игре).
Цитата Тигра ()
target_smart - это, как я понимаю, смарт-террейн, в котором сквад должен заспавнится или это куда он должен придти в конце концов?

Если перевести название параметра, то да, это смарт террейн в который должен занять сквад. Смарт для спавна и целевой смарт могут совпадать.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Вт, 26.04.2016, 23:18 | Сообщение # 543
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Всем доброй ночи! При компиляции локации в СДК-07 столкнулся с таким вылетом:
[cut noguest=лог]FATAL ERROR

[error]Expression : assertion failed
[error]Function : X:\stalker_addon\sources\trunk\editors\LevelEditor\Edit\ESceneCustomOTools.cpp
[error]File : X:\stalker_addon\sources\trunk\editors\LevelEditor\Edit\ESceneCustomOTools.cpp
[error]Line : 283
[error]Description : _name

stack trace[/cut]

Подскажите, как можно исправить. Заранее спасибо.




Сообщение отредактировал lychagin0 - Вт, 26.04.2016, 23:22
 
denis2000Дата: Ср, 27.04.2016, 09:26 | Сообщение # 544
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

lychagin0, Что делали?

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Ср, 27.04.2016, 12:28 | Сообщение # 545
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Цитата denis2000 ()
Что делали?

Денис здравствуйте. В связи с долгим перерывом в модинге (2 года) многое забыл, так что заранее прошу прощение за вероятную тупость.

В моём старом моде подключена локация к СГМ-2.2 она полностью рабочая, на ней выполняются квесты, полностью заселена, симуляция и т.д. Для размещения снайпера на вышке возникла необходимость добавить Ai-сетку.
Разбил ал-спавн командой acdc_split декомпилировал в формат СДК, открыл, добавил сетку, подправил ориентацию некоторых спавн объектов (рестрикторы и анимпоинты) и больше ничего не трогал. Сетку сгенерил всё прошло нормально, а вот дальше затык.

Добавлено (27.04.2016, 12:28)
---------------------------------------------
Ещё раз доброго дня.
Сейчас попробовал открыть уровень в СДК и опешил:
[cut noguest=лог]* Detected CPU: Intel® Core™ i3-4360 CPU @ 3.70GHz [GenuineIntel], F6/M12/S3, 3712.00 mhz, 30-clk 'rdtsc'
* CPU features: RDTSC, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2
* CPU threads: 4

Initializing File System...
$fs_root$ = D:\X-Ray_CoP_SDK\editors
using fs-ltx fsfactory.ltx
FS: 2194 files cached 0 archives, 610Kb memory used.
Init FileSystem 0.017702 sec
'xrCore' build 0, (null)

CRT heap 0x03140000
Process heap 0x00730000
-----loading gamedata\configs\system.ltx
* loading script _G.script
* loading script class_registrator.script
* loading script smart_terrain.script
* loading script se_level_changer.script
* loading script se_actor.script
* loading script se_stalker.script
* loading script se_heli.script
* loading script se_zones.script
* loading script se_item.script
* loading script se_smart_cover.script
* loading script se_artefact.script
* loading script se_monster.script
* loading script sim_squad_scripted.script
* loading script game_registrator.script

FATAL ERROR

[error]Expression : fatal error
[error]Function : CInifile::r_section
[error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 475
[error]Description : <no expression>
[error]Arguments : Can't open section 'levels'. Please attach [*.ini_log] file to your bug report


stack trace:


FATAL ERROR

[error]Expression : fatal error
[error]Function : CInifile::r_section
[error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 475
[error]Description : <no expression>
[error]Arguments : Can't open section 'music\limansk'. Please attach [*.ini_log] file to your bug report


stack trace:


FATAL ERROR

[error]Expression : fatal error
[error]Function : CInifile::r_string
[error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 486
[error]Description : <no expression>
[error]Arguments : Can't find variable caption in [music\limansk]


stack trace:


FATAL ERROR

[error]Expression : fatal error
[error]Function : CInifile::r_section
[error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 475
[error]Description : <no expression>
[error]Arguments : Can't open section 'levels'. Please attach [*.ini_log] file to your bug report


stack trace:

* loading script smart_covers.script
! [LUA] 0 : [C] [C](-1) :
! [LUA] 1 : [main] gamedata\scripts\smart_covers.script(1) :
* trying to access variable object, which doesn't exist, or to load script object.script, which doesn't exist too
* loading script smart_covers_combat_prone.script
! [LUA] 0 : [C] [C](-1) :
! [LUA] 1 : [main] gamedata\scripts\smart_covers_combat_prone.script(2) :
! [LUA] 2 : [C] [C](-1) :
! [LUA] 3 : [main] gamedata\scripts\smart_covers.script(556) :
* trying to access variable move, which doesn't exist, or to load script move.script, which doesn't exist too
* loading script smart_covers_loophole_prone.script
* loading script smart_covers_combat_front.script
* loading script smart_covers_loophole_crouch_front_left.script
* loading script smart_covers_loophole_crouch_front.script
* loading script smart_covers_loophole_crouch_front_right.script
* loading script smart_covers_loophole_stand_front_left.script
* loading script smart_covers_loophole_stand_front_right.script
* loading script smart_covers_animpoint_stay_wall.script
* loading script smart_covers_loophole_animpoint_stay_wall.script
* loading script smart_covers_animpoint_stay_table.script
* loading script smart_covers_loophole_animpoint_stay_table.script
* loading script smart_covers_animpoint_sit_high.script
* loading script smart_covers_loophole_animpoint_sit_high.script
* loading script smart_covers_animpoint_sit_normal.script
* loading script smart_covers_loophole_animpoint_sit_normal.script
* loading script smart_covers_animpoint_sit_low.script
* loading script smart_covers_loophole_animpoint_sit_low.script
* loading script smart_covers_animpoint_sit_ass.script
* loading script smart_covers_loophole_animpoint_sit_ass.script
* loading script smart_covers_animpoint_sit_knee.script
* loading script smart_covers_loophole_animpoint_sit_knee.script
* loading script smart_covers_animpoint_stay_ohrana.script
* loading script smart_covers_loophole_animpoint_stay_ohrana.script
* loading script smart_covers_animpoint_stay_bar.script
* loading script smart_covers_loophole_animpoint_stay_bar.script
* loading script smart_covers_animpoint_sit_wait.script
* loading script smart_covers_loophole_animpoint_sit_wait.script
* loading script smart_covers_animpoint_stay_wait.script
* loading script smart_covers_loophole_animpoint_stay_wait.script
* loading script smart_covers_animpoint_pri_a15.script
* loading script smart_covers_loophole_animpoint_pri_a15.script
* loading script smart_covers_anim_pri_a22.script
* loading script smart_covers_loophole_anim_pri_a22.script

FATAL ERROR

[error]Expression : fatal error
[error]Function : CInifile::r_section
[error]File : D:\prog_repository\sources\trunk\xrCore\Xr_ini.cpp
[error]Line : 475
[error]Description : <no expression>
[error]Arguments : Can't open section 'levels'. Please attach [*.ini_log] file to your bug report


stack trace:


FATAL ERROR

[error]Expression : assertion failed
[error]Function : SFillPropData::~SFillPropData
[error]File : D:\prog_repository\sources\trunk\xrServerEntities\xrServer_Objects_ALife.cpp
[error]Line : 112
[error]Description : 0==counter


stack trace:
[/cut]

Если продолжить, то открывает только геометрию карты, без спавн элементов. Поэксперементировал: если файл game_levels.ltx заменить на чистый ЗП то открывает локу со всеми спавн объектами, с ними можно работать, но ничего нового нельзя добавить. Выскакивает лог который описал вчера.
Конечно можно плюнуть и посадить снайпера в другое место и не трогать карту, но тут уже задет творческий интерес.


 
sergej5500Дата: Ср, 27.04.2016, 13:00 | Сообщение # 546
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Цитата lychagin0 ()
но ничего нового нельзя добавить.


У меня была похожая проблема. Дело в граф-пойнтах. Подробности тут. Могу предложить такой путь. Декомпилировать локацию без граф-пойнтов. Затем расставить их заново. И скомпилировать локацию.
 
denis2000Дата: Ср, 27.04.2016, 13:10 | Сообщение # 547
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

При разбивке на level.spawn пробуйте ключ -use_graph.

Цитата lychagin0 ()

[error]Arguments : Can't open section 'levels'. Please attach [*.ini_log] file to your bug report
[error]Arguments : Can't open section 'music\limansk'. Please attach [*.ini_log] file to your bug report
[error]Arguments : Can't find variable caption in [music\limansk]

Файл game_levels.ltx пуст или поврежден. Во всяком случае именно такую цепочку ошибок я получал при очистке содержимого файла game_levels.ltx.

И да посмотрите переписку на которую указал sergej5500, там много информации по вашей проблематике.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Чт, 28.04.2016, 09:54 | Сообщение # 548
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Цитата denis2000 ()
Файл game_levels.ltx пуст или поврежден.

Денис, вот файл
[cut noguest=файл]
[levels]
level01
level02
level03
level04
level05
level06
level07
level08
level09
level10
level11
level12
level13
level14
level15
level16
level17
level18
level19
level20
level21
level22
level23
level24
level25
level26
level27
level28
level29
level30
level31
level32
level33
level34
level35
level36
level37
level38
level39
level40
level41
level42
level43
level44
level45
level46
level47
level48
level49
level50
level51
level52
level53
level54
level55
level56
level57
level58
level59
level60
level61
level62
level63
level64
level65
level66
level67
level68
level69
level70
level71
level72
level73
level74
level75
level76
level77
level78
level79
level80
level81
level82
level83
level84
level85
level86
level87
level88
level89
level90
level91
level92
level93
level94
level95
level96
level97
level98
level99
level100
level101
level102
level103
level104
level105
level106
level107
level108
level109
level110
level111
level112
level113
level114
level115
level116
level117
level118
level119
level120
level121
level122
level123
level124
level125
level126
level127
level128
level129
level130
level131
level132
level133
level134
level135
level136
level137
level138
level139
level140
level141
level142
level143
level144
level145
level146
level147
level148
level149
level150
level151
level152
level153
level154
level155
level156
level157
level158
level159
level160
level161
level162
level_lain_0
level_lain_1
level_lain_2
level_lain_3
level163
level164
level165
level166
level167
level168
level169
level170
level171
level172
level173
level174
level175
level176
level177
level178
level179
level180
level181
level182
level183
tgm_bug_test_3
tgm_jupiter_test
level184
level185
level186
level187
level188
level189
level190
level191
level192
level193

[level_lain_0]
name = smay_test01
caption = "smay_test01"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 10000

[level_lain_1]
name = monster_test_snork
caption = "monster_test_snork"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 10001

[level_lain_2]
name = monster_test_boar
caption = "monster_test_boar"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 10002

[level_lain_3]
name = monster_test_bloodsucker
caption = "monster_test_bloodsucker"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 10003

[level01]
name = test_level
caption = "test_level"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 01

[level02]
name = aidhz_selo
caption = "aidhz_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 02

[level03]
name = tgm_selo
caption = "tgm_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 03

[level04]
name = aidhz_selo_empty
caption = "aidhz_selo_empty"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 04

[level05]
name = prot_camp_vs_camp
caption = "prot_camp_vs_camp"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 05

[level06]
name = prot_def_resp
caption = "prot_def_resp"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 06

[level07]
name = prot_block_camp
caption = "prot_block_camp"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 07

[level08]
name = prot_bottleneck
caption = "prot_bottleneck"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 08

[level09]
name = prot_hi_cover
caption = "prot_hi_cover"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 09

[level10]
name = prot_minigun
caption = "prot_minigun"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 10

[level11]
name = prot_minigan
caption = "prot_minigan"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 11

[level12]
name = prot_canyon
caption = "prot_canyon"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 12

[level13]
name = prot_camp_def
caption = "prot_camp_def"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 13

[level14]
name = y_selo
caption = "y_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 14

[level15]
name = stohe_selo
caption = "stohe_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 15

[level16]
name = selo
caption = "selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 16

[level17]
name = prot_job_gprc
caption = "prot_job_gprc"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 17

[level18]
name = prot_job_kswg
caption = "prot_job_kswg"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 18

[level19]
name = prot_job_sneak_defender
caption = "prot_job_sneak_defender"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 19

[level20]
name = prot_job_sniper_assault
caption = "prot_job_sniper_assault"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 20

[level21]
name = test_btr
caption = "test_btr"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 21

[level22]
name = katacomb
caption = "katacomb"
offset = 1000.0, 1000.0, 2000.0
weathers = [default]
id = 22

[level23]
name = generator
caption = "generator"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 23

[level24]
name = marsh
caption = "marsh"
offset = 1050.0, 1000.0, -3830.0
weathers = [default]
id = 24

[level25]
name = fresh_selo
caption = "fresh_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 25

[level26]
name = 1hit_selo
caption = "1hit_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 26

[level27]
name = plecha_selo
caption = "plecha_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 27

[level28]
name = garbage
caption = "garbage"
offset = 2130.0, 1000.0, -2845.0
weathers = [default]
id = 28

[level29]
name = anomaly_test
caption = "anomaly_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 29

[level30]
name = katacomb_empty
caption = "katacomb_empty"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 30

[level31]
name = escape
caption = "escape"
offset = 2130.0, 1000.0, -3970.0
weathers = [default]
id = 31

[level32]
name = bes_selo
caption = "bes_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 32

[level33]
name = darkvalley
caption = "darkvalley"
offset = 2735.0, 1000.0, -2845.0
weathers = [default]
id = 33

[level34]
name = ai_test
caption = "ai_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 34

[level35]
name = red_forest
caption = "red_forest"
offset = 1530.0, 1000.0, -1540.0
weathers = [default]
id = 35

[level36]
name = agroprom
caption = "agroprom"
offset = 1450.0, 1000.0, -2845.0
weathers = [default]
id = 36

[level37]
name = anton_selo
caption = "anton_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 37

[level38]
name = marsh_r
caption = "marsh_r"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 38

[level39]
name = fresh_field
caption = "fresh_field"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 39

[level40]
name = bes_selo_skin
caption = "bes_selo_skin"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 40

[level41]
name = yantar
caption = "yantar"
offset = 1530.0, 1000.0, -2150.0
weathers = [default]
id = 41

[level42]
name = sea
caption = "sea"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 42

[level43]
name = hit_test
caption = "hit_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 43

[level44]
name = military
caption = "military"
offset = 2130.0, 1000.0, -2150.0
weathers = [default]
id = 44

[level45]
name = fresh_func
caption = "fresh_func"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 45

[level46]
name = test_patrol
caption = "test_patrol"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 46

[level47]
name = stohe_tir
caption = "stohe_tir"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 47

[level48]
name = arena
caption = "arena"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 48

[level49]
name = agroprom_underground
caption = "agroprom_underground"
offset = 1000.0, 800.0, 10000.0
weathers = indoor
id = 49

[level50]
name = limansk
caption = "limansk"
offset = 700.0, 1000.0, -1540.0
weathers = indoor
id = 50

[level51]
name = stancia_2
caption = "stancia_2"
offset = 700.0, 1000.0, -325.0
weathers = stancia2
id = 51

[level52]
name = weapons_test
caption = "weapons_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 52

[level53]
name = granata_test
caption = "granata_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 53

[level54]
name = granata2_test
caption = "granata2_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 54

[level55]
name = smart_cover_test_1
caption = "smart_cover_test_1"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 55

[level56]
name = peacemaker_selo
caption = "peacemaker_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 56

[level57]
name = smart_cover_test_2
caption = "smart_cover_test_2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 57

[level58]
name = tgm_bug_test
caption = "tgm_bug_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 58

[level59]
name = tgm_bug_test_2
caption = "tgm_bug_test_2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 59

[tgm_bug_test_3]
name = tgm_bug_test_3
caption = "tgm_bug_test_3"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 184

[tgm_jupiter_test]
name = tgm_jupiter_test
caption = "tgm_jupiter_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 185

[level60]
name = anim_smart_cover_5
caption = "anim_smart_cover_5"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 60

[level61]
name = smart_cover_test_3
caption = "smart_cover_test_3"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 61

[level62]
name = artefact_test
caption = "artefact_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 62

[level63]
name = slipch_test
caption = "slipch_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 63

[level64]
name = marsh_amk
caption = "marsh_amk"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 64

[level65]
name = artefact_test_lab
caption = "artefact_test_lab"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 65

[level66]
name = weapon_upgrades
caption = "weapon_upgrades"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 66

[level67]
name = z_fog
caption = "z_fog"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 67

[level68]
name = cover_test
caption = "cover_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 68

[level69]
name = cover_test2
caption = "cover_test2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 69

[level70]
name = zharka_test
caption = "zharka_test"
offset = 0, 0, 0
weathers = [default]
id = 70

[level71]
name = choko_selo
caption = "choko_test"
offset = 0, 0, 0
weathers = [default]
id = 71

[level72]
name = hospital
caption = "hospital"
offset = 700.0, 1000.0, -840.0
weathers = [default]
id = 72

[level73]
name = distemper_selo
caption = "distemper_test"
offset = 0, 0, 0
weathers = [default]
id = 73

[level74]
name = bes_selo_death
caption = "bes_selo_death"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 74

[level75]
name = ragdoll_test
caption = "ragdoll_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 75

[level76]
name = military_nvidia
caption = "military_nvidia"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 76

[level77]
name = s_cover_8
caption = "s_cover_8"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 77

[level78]
name = s_cover_2
caption = "s_cover_2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 78

[level79]
name = s_cover
caption = "s_cover"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 79

[level80]
name = bes_selo_anomaly
caption = "bes_selo_anomaly"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 80

[level81]
name = monster_test
caption = "monster_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 81

[level82]
name = monster_test_poltergeist
caption = "monster_test_poltergeist"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 82

[level83]
name = corr_selo
caption = "corr_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 83

[level84]
name = test_ai
caption = "test_ai"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 84

[level85]
name = marsh_animation
caption = "marsh_animation"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 85

[level86]
name = agr_u_nvidia
caption = "agr_u_nvidia"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 86

[level87]
name = monster_test_dogs
caption = "monster_test_dogs"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 87

[level88]
name = bes_selo_weapons
caption = "bes_selo_weapons"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 88

[level89]
name = stancia_2_test
caption = "stancia_2_test"
offset = 10000.0, 1000.0, 10000.0
weathers = stancia2
id = 89

[level90]
name = marsh_animation_2
caption = "marsh_animation_2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 90

[level91]
name = monster_test_bloodsucker
caption = "monster_test_bloodsucker"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 91

[level92]
name = monster_test_all
caption = "monster_test_all"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 92

[level93]
name = ai_test_2
caption = "ai_test_2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 93

[level94]
name = monster_test_controller
caption = "monster_test_controller"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 94

[level95]
name = bes_mega
caption = "bes_mega"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 95

[level96]
name = machine_gunner
caption = "machine_gunner"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 96

[level97]
name = smart_cover_test_4
caption = "smart_cover_test_4"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 97

[level98]
name = fox_selo
caption = "fox_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 98

[level99]
name = monster_test_dog
caption = "monster_test_dog"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 99

[level100]
name = monster_test_psydogs
caption = "monster_test_psydogs"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 100

[level101]
name = ai_test_3
caption = "ai_test_3"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 101

[level102]
name = z_artefact
caption = "z_artefact"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 102

[level103]
name = smart_cover_test_5
caption = "smart_cover_test_5"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 103

[level104]
name = test_khaleckiy
caption = "test_khaleckiy"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 104

[level105]
name = stohe_selo_1
caption = "stohe_selo_1"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 105

[level106]
name = stohe_selo_2
caption = "stohe_selo_2"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 106

[level107]
name = lain_selo
caption = "lain_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 107

[level108]
name = zaton
caption = "zaton"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 108

[level109]
name = zaton_b5
caption = "zaton_b5"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 109

[level110]
name = yojig_selo
caption = "yojig_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 110

[level111]
name = pripyat_a17
caption = "pripyat_a17"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 111

[level112]
name = jupiter_a10
caption = "jupiter_a10"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 112

[level113]
name = zaton_b22
caption = "zaton_b22"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 113

[level114]
name = jupiter_b25
caption = "jupiter_b25"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 114

[level115]
name = jupiter
caption = "jupiter"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 115

[level116]
name = zaton_b38
caption = "zaton_b38"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 116

[level117]
name = pripyat_a20
caption = "pripyat_a20"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 117

[level118]
name = pripyat
caption = "pripyat"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 118

[level119]
name = jupiter_b16
caption = "jupiter_b16"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 119

[level120]
name = zaton_b103
caption = "zaton_b103"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 120

[level121]
name = bandicoot_selo
caption = "bandicoot_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 121

[level122]
name = zaton_b100
caption = "zaton_b100"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 122

[level123]
name = zaton_b101
caption = "zaton_b101"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 123

[level124]
name = zaton_b33
caption = "zaton_b33"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 124

[level125]
name = zaton_b57
caption = "zaton_b57"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 125

[level126]
name = jupiter_b200
caption = "jupiter_b200"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 126

[level127]
name = pripyat_b304
caption = "pripyat_b304"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 127

[level128]
name = zaton_b52
caption = "zaton_b52"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 128

[level129]
name = zaton_b18
caption = "zaton_b18"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 129

[level130]
name = jupiter_b202
caption = "jupiter_b202"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 130

[level131]
name = jupiter_b19
caption = "jupiter_b19"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 131

[level132]
name = jupiter_b9
caption = "jupiter_b9"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 132

[level133]
name = pripyat_a21
caption = "pripyat_a21"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 133

[level134]
name = jupiter_b43
caption = "jupiter_b43"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 134

[level135]
name = zaton_b215
caption = "zaton_b215"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 135

[level136]
name = jupiter_b46
caption = "jupiter_b46"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 136

[level137]
name = zaton_b28
caption = "zaton_b28"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 137

[level138]
name = zaton_b215_on_jupiter
caption = "zaton_b215_on_jupiter"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 138

[level139]
name = jupiter_b15
caption = "jupiter_b15"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 139

[level140]
name = jupiter_b4
caption = "jupiter_b4"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 140

[level141]
name = zaton_b40
caption = "jzaton_b40"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 141

[level142]
name = jupiter_b213
caption = "jupiter_b213"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 142

[level143]
name = jupiter_b203
caption = "jupiter_b203"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 143

[level144]
name = zaton_b44
caption = "zaton_b44"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 144

[level145]
name = pripyat_b36
caption = "pripyat_b36"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 145

[level146]
name = Hein_selo
caption = "Hein_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 146

[level147]
name = pripyat_b305
caption = "pripyat_b305"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 147

[level148]
name = zaton_a23
caption = "zaton_a23"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 148

[level149]
name = plecha_selo_1
caption = "plecha_selo_1"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 149

[level150]
name = labx8
caption = "labx8"
offset = 10000.0, 1000.0, 10000.0
weathers = indoor
id = 150

[level151]
name = rimaxch_selo
caption = "rimaxch_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 151

[level152]
name = redstain_selo
caption = "redstain_selo"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 152

[level153]
name = sepul_selo
caption = "sepul_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 157

[level154]
name = zaton_a1
caption = "zaton_a1"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 154

[level155]
name = pripyat_b303
caption = "pripyat_b303"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 155

[level156]
name = jupiter_b221
caption = "jupiter_b221"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 156

[level157]
name = corr_selo
caption = "corr_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 157

[level158]
name = jupiter_underground
caption = "jupiter_underground"
offset = 12000.0, 1000.0, 10000.0
weathers = indoor_ambient
id = 158

[level159]
name = renderman_selo
caption = "renderman_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 159

[level160]
name = lain_selo_hard
caption = "lain_selo_hard"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 160

[level161]
name = conrack_selo
caption = "conrack_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 161

[level162]
name = bes_selo_jup
caption = "bes_selo_jup"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 162

[level163]
name = corr_snorks
caption = "corr_snorks"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 163

[level164]
name = corr_bloodsuckers
caption = "corr_bloodsuckers"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 164

[level165]
name = corr_snorks2
caption = "corr_snorks2"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 165

[level166]
name = corr_controler
caption = "corr_controler"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 166

[level167]
name = corr_burer
caption = "corr_burer"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 167

[level168]
name = corr_chimera
caption = "corr_chimera"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 168

[level169]
name = corr_tushkano
caption = "corr_tushkano"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 169

[level170]
name = bes_smart_test
caption = "bes_smart_test"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 170

[level171]
name = corr_poltergeist
caption = "corr_poltergeist"
offset = 10000.0, 1000.0, 10000.0
weathers = [default]
id = 171

[level172]
name = alex_selo
caption = "alex_selo"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 172

[level173]
name = corr_selo_02
caption = "corr_selo_02"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 173

[level174]
name = bloods
caption = "bloods"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 174

[level175]
name = fox_anim
caption = "fox_anim"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 175

[level176]
name = rimaxch_selo_silencer
caption = "rimaxch_selo_silencer"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 176

[level177]
name = rimaxch_selo_not_silence
caption = "rimaxch_selo_not_silence"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 177

[level178]
name = bes_selo_zaton
caption = "bes_selo_zaton"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 178

[level179]
name = bes_selo_jupiter
caption = "bes_selo_jupiter"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 179

[level180]
name = bes_selo_lab
caption = "bes_selo_lab"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 180

[level181]
name = jupiter_hein
caption = "jupiter_hein"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 181

[level182]
name = bes_selo_zat
caption = "bes_selo_zat"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 182

[level183]
name = darkvalley
caption = "darkvalley"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 183

[level184]
name = digger_stash
caption = "Тайник Чёрного Диггера"
offset = 1.0, 2.0, 0.0
id = 184

[level185]
name = l04u_labx18
caption = "X-18"
offset = 3.0, 4.0, 0.0
id = 185

[level186]
name = military
caption = "military"
offset = 12000.0, 1000.0, 10000.0
weathers = [default]
id = 186

[level187]
name = agroprom
caption = "agroprom"
offset = 3000.0, 1000.0, 0.0
id = 187

[level188]
name = agroprom_underground
caption = "agroprom_underground"
offset = 3000.0, 1000.0, 0.0
id = 188

[level189]
name = marsh
caption = "marsh"
offset = 3000.0, 1000.0, 0.0
id = 189

[level190]
name = escape
caption = "escape"
offset = 3000.0, 1000.0, 0.0
id = 190

[level191]
name = red_forest
caption = "red_forest"
offset = 3000.0, 1000.0, 0.0
id = 191

[level192]
name = collector22
caption = "collector22"
offset = 2000.0, 800.0, 1000.0
weathers = [indoor]
id = 192

[level193]
name = garbage_old
caption = "garbage_old"
offset = 3000.0, 1000.0, 0.0
weathers = [default]
id = 193
[/cut]

Добавлено (27.04.2016, 15:33)
---------------------------------------------
denis2000, Спасибо, дело действительно оказалось в этом файле, но забодай меня комар, если я понял в чём дело.
Выдернул чистый файл из чистого СГМ и последовательно удалял добавленные локации, пока не привёл к оригиналу ЗП,
результат тот же. Вписал в ЗПшный файл все локации, в том числе и мои всё работает. Теперь разберусь с граф-поинтами.
Есть мыслишка. По результату отпишусь.
Ещё раз благодарю.

Добавлено (28.04.2016, 09:54)
---------------------------------------------
Доброго дня всем. Как обещал озвучу результат:
"Мыслишка" с треском провалилась. Сделал всё с помощью конвертации алайф-файла локации в level.spawn. Но и тут не обошлось без непоняток, одна локация прошла успешно, я на ней раставил заново графы, а вот вторая лока не пошла.
С конвертировалась, все спавн-элементы есть, графы есно исчезли, а вот новые не ставятся. Вообще ничего нового добавить нельзя. Только редактировать старый спавн можно. При попытке поставить новый элемент не выдаёт ни какой ошибки, а просто тупо не реагирует на попытки размещения. Пробовал заново всё переконвертировать, результат тот же.
Может у кого есть мысли о причине такого поведения?




Сообщение отредактировал lychagin0 - Ср, 27.04.2016, 13:21
 
denis2000Дата: Пт, 29.04.2016, 08:33 | Сообщение # 549
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

lychagin0,
Кроме как КМБ Урок 64 и переписки по этому поводу с уважаемым sergej5500, ничего предложить не могу.
Имхо самое оптимальное решение вообще отказаться от идеи вытащить геймграфы из all.spawn/game.graph. Вытащить остальные спавн элементы, а графы расставить заново, с необходимыми настройками (связка локаций в единый граф). Кстати настройки левел-ченджеров тоже портятся и их приходиться восстанавливать вручную.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Сб, 30.04.2016, 07:39 | Сообщение # 550
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

denis2000, Я уже так и сделал, одну локу уже скомпилировал, вторая компилируется. Ещё раз спасибо за помощь.

Добавлено (30.04.2016, 07:39)
---------------------------------------------
Доброе утро, снова зашёл за помощью. Решил собрать спавн с помощью сдк, но тут начались чудеса. Родные локации ЗП и две локации которые добавил я проходят нормально, а вот локации добавленные СГМ-2.2 постоянно вылетают с логом:
не могу найти секцию. Причём этих секций нет в игре, все они есть в чистом небе и откуда СДК черпает такую инфу? И как это можно устранить.
Спасибо.
P.S. в ACDC-1.38 глючный parse поэтому не могу присоединить локи вручную, так сказать. Может у кого есть рабочий.




Сообщение отредактировал lychagin0 - Сб, 30.04.2016, 07:46
 
denis2000Дата: Сб, 30.04.2016, 12:11 | Сообщение # 551
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

lychagin0, Вероятнее всего в спавн этих локаций попали секции из оригинального ЧН их нужно удалить или добавить их в конфиги.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Вс, 01.05.2016, 08:21 | Сообщение # 552
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

denis2000, если я правильно понял, почистить надо level, потому что в ал спавне подобных секций нет.

 
denis2000Дата: Вс, 01.05.2016, 10:13 | Сообщение # 553
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

lychagin0, Да.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
lychagin0Дата: Чт, 05.05.2016, 16:14 | Сообщение # 554
Легенда Зоны
Вольные сталкеры
Сообщений: 1303
Награды: 9
Репутация: [ 278 ]

Добрый день! Подскажите, может есть способ устранить ошибку при компиляции спавна в СДК-07:
[cut noguest=Ошибка]Level darkvalley with id 183 has an INVALID connection point val_graph_point_to_escape_1,
which references to graph point esc_graph_point_to_darkvalley_1 on the level escape with id 190[/cut]
бес декомпиляции локации.

Я подключаю две своих локации к СГМ-2.2 и другие локации в СДК не трогал.
Заранее спасибо.


 
denis2000Дата: Чт, 05.05.2016, 18:37 | Сообщение # 555
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

lychagin0, В логе четко и совершенно конкретно указана проблема и ее источник. Проверьте указанные графпоинты.

"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
Поиск: