Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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 по ссылке из шапки и соседнюю тему "Курс молодого бойца",
возможно Ваш вопрос уже рассматривался.


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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ДизельДата: Вс, 05.10.2014, 16:34 | Сообщение # 421
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Цитата denis2000 ()
Все определяется типом объекта и его свойствами. Что-то в свойствах прописано не так: выложите свойства или сравните с работающим из оригинального уровня.


Дело в том, что в оригиналах нет ни шейдеров, ни компилей.

Как у меня:

Обьекты находятся в статическом состоянии. Их два. Один фейсами наружу, другой фейсами вовнутрь.



Какие можно применить свойства?

Добавлено (05.10.2014, 16:34)
---------------------------------------------
denis2000, мне тут нашептали, что это амбиент светит. И что не существует решения геометрически исправить это, это возможно только исправить изменением погодой.

Весело! Опять косяк в движке!


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

Цитата Дизель ()
Какие можно применить свойства?

1. Тип объекта надеюсь Static
2. Попробуй Shader и Compile поставить def_shaders/def_vertex
3. Компиляция уровня должна быть не Draft
4. Амбиент светит? Почему тогда существует множество уровней (как оригинальных так и самопальных) где нет такой засветки хотя уровень содержит и подземную и надземную часть, причем погода на уровне не меняется в зависимосте от положения ГГ.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ДовакинДата: Вс, 05.10.2014, 21:50 | Сообщение # 423
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Добрый вечер. При переносе локации из ЧН в ЗП столкнулся с одной проблемкой. Все перенес правильно, все работает и на карте все показывается. Но все вещички - бочки, лампы и т.д остались в ЧН sad Последовал уроку 8а в КМБ и застрял на самой последней стадии. Перед сборкой спавна, у меня все секции в одной строчке, а как их все перевести в столбец не знаю. Можно конечно все в ручную сделать, но их там 2000 с лишним. Может есть какой способ полегче, или этого вообще не нужно делать?

 
ДизельДата: Вс, 05.10.2014, 22:38 | Сообщение # 424
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Цитата Довакин ()
Добрый вечер. При переносе локации из ЧН в ЗП столкнулся с одной проблемкой. Все перенес правильно, все работает и на карте все показывается. Но все вещички - бочки, лампы и т.д остались в ЧН sad Последовал уроку 8а в КМБ и застрял на самой последней стадии. Перед сборкой спавна, у меня все секции в одной строчке, а как их все перевести в столбец не знаю. Можно конечно все в ручную сделать, но их там 2000 с лишним. Может есть какой способ полегче, или этого вообще не нужно делать?


У тебя не проходят спавн-обьекты.

При переносе конвертором Барадака, ты забыл прописать локацию в СДК в конфигах?

http://apo-game.ru/forum/115-342-36572-16-1411838066 посмотри тут.

Или ты переносишь из СДК в СДк?

Тогда еще проще: Можно копированием в одном СДК, вставкой в другом. Выделить все обьекты Ctrl+A, скопировать Ctrl+С, вставить Ctrl+V

Либо part - файл скопировать и вставить в другом СДК.

Короче, эта проблема решаема.

А может я не правильно понял, ты используешь ggEditor podkluchenie_livels_soc_i_cs_v_cop?

У тебя засада с АСDC?

Тогда в ручную правь. Способа отделить строчки в блокноте и нотепаде - я не знаю. Но уже видел такое. А зачем их писать в столбец, для удобства? Работать и так должно.

Короче, я не понял...Подробнее.


andreyholkin

Сообщение отредактировал Дизель - Вс, 05.10.2014, 22:54
 
ДовакинДата: Вс, 05.10.2014, 23:17 | Сообщение # 425
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

Цитата Дизель ()
Тогда в ручную правь. Способа отделить строчки в блокноте и нотепаде - я не знаю. Но уже видел такое. А зачем их писать в столбец, для удобства? Работать и так должно.


Вот скрин моей проблемы.

И у меня опечатка в вопросе. Все секции по строчкам, а не в столбец, как надо.




Сообщение отредактировал Довакин - Вс, 05.10.2014, 23:17
 
ДизельДата: Вс, 05.10.2014, 23:32 | Сообщение # 426
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Я понял. Все хают блокнот, но у меня такого никогда не было.

Найди нормальный распаковщик аллспавна ЧН. Это стандартный Кордон? из оригинала?

https://yadi.sk/d/5ijdEkL4bqBPn Во стандартный АСDC - для оригиналов ТЧ,ЧН,ЗП

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


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

Добрый день. В СГМ имеются СГМ-аномалии. Отличаются от обычных тем, что удаляются по команде "Убрать СГМ-аномалии".

[cut=СГМ-аномалии];---------------------------------------------------------------------------------------;
; Новые аномалии ;
;---------------------------------------------------------------------------------------;
[sgm_acidic_field_weak]:zone_field_acidic_weak
idle_particles = zones\zone_acidic_idle
max_start_power = 0.20
[sgm_acidic_field_average]:zone_field_acidic_weak
idle_particles = zones\zone_acidic_idle
max_start_power = 0.40
[sgm_acidic_field_strong]:zone_field_acidic_weak
idle_particles = zones\zone_acidic_idle
max_start_power = 0.80

[sgm_psychic_field_weak]:zone_field_psychic_weak
max_start_power = 0.25
[sgm_psychic_field_average]:zone_field_psychic_weak
max_start_power = 0.40
[sgm_psychic_field_strong]:zone_field_psychic_weak
max_start_power = 0.80

[sgm_radioactive_field_weak]:zone_field_radioactive_weak
max_start_power = 0.025
[sgm_radioactive_field_average]:zone_field_radioactive_weak
max_start_power = 0.040
[sgm_radioactive_field_strong]:zone_field_radioactive_weak
max_start_power = 0.080

[sgm_thermal_field_weak]:zone_field_thermal_weak
idle_particles = zones\zone_thermal_idle
max_start_power = 0.20
[sgm_thermal_field_average]:zone_field_thermal_weak
idle_particles = zones\zone_thermal_idle
max_start_power = 0.40
[sgm_thermal_field_strong]:zone_field_thermal_weak
idle_particles = zones\zone_thermal_idle
max_start_power = 0.80

[sgm_thermal_streem_weak]:zone_mine_thermal_weak
max_start_power = 0.20
[sgm_thermal_streem_average]:zone_mine_thermal_weak
max_start_power = 0.40
[sgm_thermal_streem_strong]:zone_mine_thermal_weak
max_start_power = 0.80

[sgm_blue_thermal_streem_weak]:zone_mine_steam_weak
max_start_power = 0.20
[sgm_blue_thermal_streem_average]:zone_mine_steam_weak
max_start_power = 0.40
[sgm_blue_thermal_streem_strong]:zone_mine_steam_weak
max_start_power = 0.60

[sgm_red_thermal_streem_weak]:zone_mine_thermal_weak
max_start_power = 0.20
[sgm_red_thermal_streem_average]:zone_mine_thermal_weak
max_start_power = 0.40
[sgm_red_thermal_streem_strong]:zone_mine_thermal_weak
max_start_power = 0.60

[sgm_gravitational_field_weak]:zone_mine_gravitational_weak
max_start_power = 0.85
[sgm_gravitational_field_average]:zone_mine_gravitational_weak
max_start_power = 1.10
[sgm_gravitational_field_strong]:zone_mine_gravitational_weak
max_start_power = 1.60

[sgm_electric_field_weak]:zone_mine_electric_weak
max_start_power = 0.8
[sgm_electric_field_average]:zone_mine_electric_weak
max_start_power = 1.0
[sgm_electric_field_strong]:zone_mine_electric_weak
max_start_power = 1.5

[sgm_throw_field]:zone_base
GroupControlSection = spawn_group_zone
$def_sphere = 15
class = ZS_RADIO
hit_impulse_scale = .01
effective_radius = 1.00
postprocess = postprocess_psi
ef_anomaly_type = 3
ef_weapon_type = 15
max_start_power = 0
attenuation = 0.5
idle_particles = anomaly2\teleport_idle
idle_particles_dont_stop= true
idle_sound = anomaly\teleport_idle
blowout_sound = anomaly\teleport_work_2
hit_sound = anomaly\anomaly_gravy_hit1
body_tearing_sound = anomaly\gravity_entrance
entrance_sound = anomaly\gravi_idle01
hit_type = telepatic
disable_time = -1
disable_time_small = -1
disable_idle_time = -1
ignore_nonalive = true
ignore_small = false
ignore_artefacts = true
blowout_light = off
idle_light = off
awaking_time = 100
blowout_time = 2500
accamulate_time = 100
blowout_wind = off
shape_transp_color = 200, 200, 0, 60
shape_edge_color = 32, 32, 32, 255

[sgm_spatial_bladder_for_zat]:sgm_throw_field
idle_particles = anomaly2\anomaly_teleport

[sgm_spatial_bladder_for_jup]:sgm_throw_field
idle_particles = anomaly2\anomaly_teleport[/cut]

Я решил сделать из СГМ-аномалий полноценную аномальную зону со спавном артефактов. Пользовался утилитой "Редактор all.spawn". Все получилось, как я хотел. В зонах спавнятся арты после выбросов. Зоны удаляются командой "убрать СГМ-аномалии".

[cut=Аномальные зоны в игре]


[/cut]

Далее решил посмотреть, как выглядят зоны в СДК. Воспользовался данной рекомендацией.

[cut=Инструкция]1. Скопировать мод-источник в отдельную папку (чтобы не запароть исходный)
2. Распаковть в папку spawns архив с universal acdc.
3. Первое что нужно сделать, настроить программу на распознание неизвестных ей секций, для этого декомпилируем all.spawn коммандой:
Код
universal_acdc.pl -d all.spawn -out all
и внимательно смотрим лог, там будут сообщения типа "unknown class for section stalker_outfit_anom", что значит что программа не знает к какому классу объектов отнести объект с именем секции stalker_outfit_anom. Из редми к программе мне стало известно, что нужно в файл clsids.ini добавить секции путем добавления строк, одна беда как я ни пытался программа не видела внесенные изменения в этот файл (если у кого получиться - сообщите как удалось). Поэтому я пошел другим путем - прямое редактирование скрипта stkutils\scan.pm, там после строки:
Код
'zone_mine_steam_weak' => 'ZS_MBALD',
я добавил:
Код
'stalker_outfit_anom' => 'E_STLK',
Почему E_STLK? Потому что объект с именем секции stalker_outfit_anom вероятнее всего бронежилет, а он имеет идентификатор clsid равный E_STLK, что соответствует классу cse_alife_item_custom_outfit. Если после добавления строки декомпиляция не проходит до конца и вылет отличается от unknown class for section, то вероятнее всего класс определен не верно и нужно пытаться выбрать другой.
Итак определяя классы недостающих секций добираемся до момента когда all.spawn будет полностью декомпилирован.
4. Итак секции настроены пора приступить к разбивке all.spawn на группу файлов level.spawn (спавн объекты) и level.game (точки путей), это делается командой:
Код
universal_acdc.pl -split all.spawn -out levels -way -use
Тут вероятна ситуация как у меня, файлы появились при этом level.game сформированы нормально (еще бы формат точек путей не менялся со времен древних билдов), а вот при формировании level.spawn программа вылетела с ошибкой. Что делать? Вероятно формат all.spawn не совсем подходит universal acdc, но он же его декомпилировал! Вот и выход: в третьем шаге файл all.spawn был полностью декомпилирован, вот теперь мы его скомпилируем снова командой:
Код
universal_acdc.pl -compile all -out all.spawn
И разделяем полученный файл по новой командой:
Код
universal_acdc.pl -split all.spawn -out levels -way -use
На этот раз разбивка на файлы прошла без ошибок и можно заменить файлы в папке gamedata\levels\<имя уровня> на полученные файлы level.spawn и level.game.
5. Декомпилируем локацию программой converter.exe (тут подробно не останавливаюсь благо есть много инструкций), но возможна опять "назадача" и программа при декомпиляции уровня споткнется как раз на файле level.spawn! Что-же остается? Лечить!
6. Если level.spawn не подошел декомпилятору converter.exe, то попробуем получить его другим путем, благо universal acdc предоставляет последнюю возможность.
Переименуем файл alife_<имя локации>.ltx в level_spawn.ltx и запустим компиляцию файла level.spawn из файла level_spawn.ltx командой:
Код
universal_acdc.pl -compile all -l
Полученный файл level.spawn поместим в папку уровня и снова пробуем декомпиляцию уровня в формат SDK, на этот раз все проходит успешно (по крайней мере у меня).
7. Открываем нашу локацию в SDK (надеюсь без вылетов) и видим все спавн-элементы и пути теперь доступны для редактирования в более удобной форме.[/cut]

Загрузил локацию в СДК. Увидел это.

[cut=Зоны]

[/cut]

Видны только рестрикторы зон и пути артов. Загрузка локации в СДК прошла успешно. Тайник, который я сделал на крыше, выглядит нормально.



Вопрос, как сделать, чтобы СДК показал СГМ-аномалии?


Сообщение отредактировал sergej5500 - Ср, 05.11.2014, 20:04
 
ДизельДата: Чт, 06.11.2014, 00:52 | Сообщение # 428
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Цитата sergej5500 ()
Вопрос, как сделать, чтобы СДК показал СГМ-аномалии?


Аномалии и выглядят, как рестриктор - они шаром - шутка. Аномалия не может появиться в СДК, это сущность нематериальна. Я не видел не одной аномалии реально в СДК.

[cut noguest=Там только зоны][37]
; cse_abstract properties
section_name = zone_mine_gravitational_weak
name = ostrova_zone_mine_gravitational_weak_0000
position = -170.463317871094,12.620644569397,-245.79475402832
direction = 0,0,0

; cse_alife_object properties
game_vertex_id = 39
distance = 58.7999992370605
level_vertex_id = 245816
object_flags = 0xffffff3e

; cse_shape properties
shapes = shape0
shape0:type = sphere
shape0:offset = 0,0,0
shape0:radius = 3

; cse_alife_space_restrictor properties
restrictor_type = 0

; cse_alife_custom_zone properties
max_power = 0

; cse_alife_anomalous_zone properties
offline_interactive_radius = 30
artefact_spawn_count = 32
artefact_position_offset = 0x80

; se_zone_anom properties[/cut]


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

sergej5500, Аномалии в SDK выглядят как красные сферы. В крайнем случае флажек или зеленая сфера если SDK не понял по классу объекта, что это аномалия.

Цитата sergej5500 ()
Вопрос, как сделать, чтобы СДК показал СГМ-аномалии?

Если вы правильно декомпилировали all.spawn в формат SDK, то аномалии будут видны (не забывайте о наличии соответствующих этим аномалиям секций в геймдате SDK)


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
ДизельДата: Сб, 08.11.2014, 10:31 | Сообщение # 430
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Такой сложный вопрос, я даже сам не знаю на него ответа: smile Возможно ли в Сталкере реализовать смену времён года, как в Мафии-2. Если есть такое в сталкере, ткните носом в мод пожалуйста. Я хочу что бы и снег и дождь были в одном моде.

Не задавайте вопрос: почему в этой теме. Потому как тут, хоть куда и правильно и не правильно.


andreyholkin

Сообщение отредактировал Дизель - Сб, 08.11.2014, 10:33
 
denis2000Дата: Сб, 08.11.2014, 11:51 | Сообщение # 431
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата Дизель ()
Возможно ли в Сталкере реализовать смену времён года

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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Пн, 01.12.2014, 13:19 | Сообщение # 432
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер.

Для удобства работы с СГМ в СДК скопировал геймдату СГМ в папку editors с заменой файлов. При каждом запуске СДК вылазит ошибка.

[cut=Лог]* Detected CPU: GenuineIntel P3 family, F6/M10/S9, 2594.00 mhz, 26-clk 'rdtsc'
* CPU Features: RDTSC, MMX, SSE, SSE2

Initializing File System...
'xrCore' build 0, (null)

RegisterCommand: command '(null)' overridden by command '(null)'.
-----loading gamedata\configs\system.ltx
* ImageLibrary version: 3.9.3
* 26 supported formats
Starting RENDER device...
* GPU [vendor:8086]-[device:166]: Intel® HD Graphics 4000
* GPU driver: 8.17.10.1191
* CREATE: DeviceREF: 1
* Vertex Processor: PURE HARDWARE
* Texture memory: 1780 M
* DDI-level: 9.0
* GPU shading: vs(fffe0300/3.0/30), ps(ffff0300/3.0/30)
* GPU vertex cache: unrecognized, 16
* DVB created: 2048K
* DIB created: 2048K
count of .thm files=2876

FATAL ERROR

[error]Expression : assertion failed
[error]Function : X:\stalker_addon\sources\trunk\xrCore\FS.h
[error]File : X:\stalker_addon\sources\trunk\xrCore\FS.h
[error]Line : 278
[error]Description : (Pos<=Size) && (Pos>=0)


stack trace:
[/cut]

В гугле нарыл (Проблема с текстурами, двоичная папка нахождения текстуры). Что это значит и как решить проблему?
 
denis2000Дата: Пн, 01.12.2014, 17:24 | Сообщение # 433
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата sergej5500 ()
Что это значит и как решить проблему?

Во первых - это не проблема. Игнорируем и пашем!
Во вторых все текстуры должны именоваться по определенному шаблону: имя файла текстуры должно начинаться с имени директории в которой она находиться и вложенные папки текстур не приветствуются SDK.


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Пн, 01.12.2014, 21:02 | Сообщение # 434
Полевой Исследователь
Ученые сталкеры
Сообщений: 3793
Награды: 29
Репутация: [ 1355 ]

Добрый вечер.

После копирования геймдаты от СГМ 2.1 поверх геймдаты СДК возникла масса жалоб на дублирование секций спавна.
Пришлось в секции предметов забивать строки типа $spawn = "respawn\zat_b14_stalker_1".
Жалобы на дубликаты пропали. Можно спавнить любые предметы из СГМ.

Возникла другая проблема. При декомпиляции локации вылезает это.



Разборка локаций зависает. Не разбираются даже локи из оригинального ЗП. Можно ли это устранить?
 
denis2000Дата: Пн, 01.12.2014, 23:43 | Сообщение # 435
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

Цитата sergej5500 ()
Пришлось в секции предметов забивать строки типа $spawn = "respawn\zat_b14_stalker_1"

Параметр $spawn показывает, где и как в меню SDK будет появляться предмет (раздел respawn имя zat_b14_stalker_1), поэтому называть все объекты одинаково мягко говоря неправильно и КАЖДАЯ секция предмета/объекта должна иметь уникальное имя, для независимого спавна через SDK.

Цитата sergej5500 ()
Можно ли это устранить?

Причину краша не знаю, возможно проблема решиться правильным именованием предметов, а возможно придется искать, что за предмет без секции в файле actor.ltx...


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