Войти на сайт Регистрация Лента форума Пользователи Правила сайта Поиск по форуму
Модератор форума: 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, 11:56 | Сообщение # 421
Сталкер
Разработчики
Сообщений: 260
Награды: 1
Репутация: [ 136 ]

Цитата denis2000 ()
Видимо потому, что настроен не верно.


Возможно я неправильно назвал его. На АМК нашел, что надо типа правильно написать: локация_fake_0000.
Может ли название влиять на работу fake?

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


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

Дизель, От названия ничего не зависит, хоть "горшком" назовите. Все определяется типом объекта и его свойствами. Что-то в свойствах прописано не так: выложите свойства или сравните с работающим из оригинального уровня.

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

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


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

Как у меня:

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



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

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

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


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

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

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


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

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

 
ДизельДата: Вс, 05.10.2014, 22:38 | Сообщение # 426
Сталкер
Разработчики
Сообщений: 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 | Сообщение # 427
Командир д.г. быстрого реагирования
Пользователи
Сообщений: 688
Награды: 14
Репутация: [ 552 ]

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


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

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




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

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

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

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

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


andreyholkin
 
sergej5500Дата: Ср, 05.11.2014, 19:10 | Сообщение # 429
Полевой Исследователь
Ученые сталкеры
Сообщений: 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 | Сообщение # 430
Сталкер
Разработчики
Сообщений: 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 | Сообщение # 431
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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

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

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


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

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

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


andreyholkin

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

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

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


"Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..."
(Чугунный всадник)
 
sergej5500Дата: Пн, 01.12.2014, 13:19 | Сообщение # 434
Полевой Исследователь
Ученые сталкеры
Сообщений: 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 | Сообщение # 435
Полевой исследователь
Ученые сталкеры
Сообщений: 2399
Награды: 35
Репутация: [ 1918 ]

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

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


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