Перейти к содержанию

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

 
 

Как объединить два скомпилированных файла .spawn разных локаций в all.spawn?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
3 минуты назад, Gerbys сказал:

Как объединить два скомпилированных файла .spawn разных локаций в all.spawn?

А зачем? для компиляции общего all.spawn, в батнике прописываешь все локации через запятую и получится общий спавн - all.spawn.

Пример батника:
 

@start bin\designer\release\xrai.exe -no_separator_check -s k00_marsh,l01_escape,l02_garbage,l03_agroprom,l03u_agr_underground,k01_darkscape,k02_trucks_cemetery,l04_darkvalley,l04u_labx18,l05_bar,l06_rostok,l07_military,l08_yantar,l08u_brainlab,l09_deadcity,l10_limansk,l10_radar,l10u_bunker,l10_red_forest,l11_hospital,l11_pripyat,l12_stancia,l12_stancia_2,l12u_sarcofag,l12u_control_monolith,l13_generators,l13u_warlab,zaton,jupiter,jupiter_underground,pripyat,labx8,fake_start -keep_temp_files

 


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 минуты назад, WolfHeart сказал:

А зачем? для компиляции общего all.spawn, в батнике прописываешь все локации через запятую и получится общий спавн - all.spawn.

Пример батника:
 


@start bin\designer\release\xrai.exe -no_separator_check -s k00_marsh,l01_escape,l02_garbage,l03_agroprom,l03u_agr_underground,k01_darkscape,k02_trucks_cemetery,l04_darkvalley,l04u_labx18,l05_bar,l06_rostok,l07_military,l08_yantar,l08u_brainlab,l09_deadcity,l10_limansk,l10_radar,l10u_bunker,l10_red_forest,l11_hospital,l11_pripyat,l12_stancia,l12_stancia_2,l12u_sarcofag,l12u_control_monolith,l13_generators,l13u_warlab,zaton,jupiter,jupiter_underground,pripyat,labx8,fake_start -keep_temp_files

 

Так и делал, но all.spawn не появился

Спойлер

start bin\designer\release\xrai -no_separator_check -s razvilka,test_test -keep_temp_files

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

А ты сравни свой батник:

2 минуты назад, Gerbys сказал:

start bin\designer\release\xrai

И мой:

3 минуты назад, Gerbys сказал:

@start bin\designer\release\xrai.exe

Разницу никакую не замечаешь?


EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

 

23 часа назад, WolfHeart сказал:

А ты сравни свой батник:

И мой:

Разницу никакую не замечаешь?

Так я уже попробовал, но тот же результат:

Спойлер

@start bin\designer\release\xrai.exe -no_separator_check -s razvilka,test_test -keep_temp_files

 

 

Не знаю, верно ли это, но вроде всё таки появляется all.spawn, только с именем одной локации (razvilka.spawn). Посмотрел по времени обновления файла


Дополнено 30 минуты спустя

Теперь при попытке перехода следующая ошибка:

Спойлер

User Message:
----------------------------------------
Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
Function      : CALifeSwitchManager::add_online
File          : alife_switch_manager.cpp
Line          : 64
Description   : Invalid vertex for object 
Arguments     : arc_art_box_basic1281

Также с локации пропали все отряды (кроме заспавненных скриптом), пропал предмет, спавнящийся при старте по скрипту (этот самый arc_art_box_basic)


Дополнено 47 минуты спустя

Проблема исчезновения сквадов решилась созданием секции подключенной новой локации в simulation.ltx


Дополнено 53 минуты спустя

Переход наконец заработал! (Если убрать скрипт, который у меня спавнит предмет на локации при начале игры)

Спойлер

User Message:
----------------------------------------
Expression    : !object->used_ai_locations() || ai().level_graph().valid_vertex_id(object->m_tNodeID)
Function      : CALifeSwitchManager::add_online
File          : alife_switch_manager.cpp
Line          : 64
Description   : Invalid vertex for object 
Arguments     : arc_art_box_basic1281

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Когда НПС играют или начинают играть на музыкальных инструментах, то отказываются разговаривать. Есть ли фитча чтобы НПС не отказывались от разговора.


И создание фанатских модов — это не следствие популярности S.T.A.L.K.E.R., это причина по которой когда-нибудь появится на свет S.T.A.L.K.E.R. 2
© С. Григорович.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

После добавления новой локации и удаление всех оригинальных локаций, то когда НПС находится в бою с кем-либо то он ведёт себя странно. Идёт в одну и ту же точку укрытия, даже если это группа нпс. На любые издаваемые звуки врагом/ГГ никакого внимания. На локации есть 1 смарт террейн, аи сетка, граф поинты. Когда на новой локации НПС в бою, то в консоли высвечивается вот это:
! Cannot find saved game ~#i#:ads:wrong mechanic for level escape!!!
Как исправить такое поведение у НПС?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Помогите решить две проблемы: 

1. Поставил неписю путь в казарму (где изначально не было аи-сетки) после получения инфопоршня, но вместо этого он попросту стоит, будто там нету аи-сетки, но в СДК она есть:

Спойлер

image.png.3eefb7182fa51e3d6de782efba8f7a79.png

2. После получения инфопоршня, непись должен проигрывать анимацию через смарт_ковер, но вместо этого, он лишь подходит к смарт_ковру, стоит и ничего не делает... 

Спойлер

image.png.54afc0c2c638ae9b7003916848ca0a6e.png

Как исправить этих два трабла?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

NewValveCom,

1. АИ-сетку, проложенную в СДК, необходимо экспортировать с помощью кнопки "Make AI-Map", после чего скомпилировать её через батник и положить в папку с уровнем в игре. Также нужно заново скомпилировать и спавн.

2. Что за анимацию нужно проиграть: какую-то новую или уже присутствующую в игре? В любом случае, не все анимации работают через каверы, для некоторых, в основном незацикленных, лучше использовать схему [remark].

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Чо за бред? В system.ltx подключил инклуд файла с контейнерами артефактов из Dead Air, а игра жалуется на то, что нету секции af_base. Хоть она есть и она в artefacts.ltx, я пробовал подключать иклуд артов в файл контейнеров, пробовал вставлять эту секцию в файл, а игра всё равно жалуется.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
8 часов назад, Stgs сказал:

NewValveCom,

1. АИ-сетку, проложенную в СДК, необходимо экспортировать с помощью кнопки "Make AI-Map", после чего скомпилировать её через батник и положить в папку с уровнем в игре. Также нужно заново скомпилировать и спавн.

 

Было бы хорошо, если бы не всё так плохо: Это дело я уже проворачивал 2-3 раза (Make AI -> Make Game -> Компиляция_сетки -> Компиляция_спавна). И никаких изменений...

8 часов назад, Stgs сказал:

NewValveCom,

2. Что за анимацию нужно проиграть: какую-то новую или уже присутствующую в игре? В любом случае, не все анимации работают через каверы, для некоторых, в основном незацикленных, лучше использовать схему [remark].

Анимация присутствует в игре. Я в этом моменте присобачил эту анимацию четырём сталкерам, и три из них нормально их проигрывают (анимация сидения Зулуса (у костра)), а четвёртый вот...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

NewValveCom Верификацию АИ-сетки сделайте, если укажет на наличие проблем устраните их все.


Дополнено 3 минуты спустя

NewValveCom 

17 часов назад, NewValveCom сказал:

лишь подходит к смарт_ковру, стоит и ничего не делает

Возможно смарт недоступен для НПС по причине кривой АИ-сетки (или смарт не на сетке) или в модели НПС не прописан соответсвующий файл с анимациями (хотя оба этих случая скорее вылет вызовут).

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как реализована бутылка в руке Кардана в зп, когда он пьет, делаю для мода похожую сценку, все сделал, но не знаю как сделать бутылку в руке, кто знает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
10 минут назад, denis2000 сказал:

NewValveCom Верификацию АИ-сетки сделайте, если укажет на наличие проблем устраните их все.

Спойлер

image.png.c58f7a701a196e0a03817d1ea85e57cd.png

 

 

 


Дополнено 2 минуты спустя
12 минут назад, denis2000 сказал:

NewValveCom Возможно смарт недоступен для НПС по причине кривой АИ-сетки (или смарт не на сетке) или в модели НПС не прописан соответсвующий файл с анимациями (хотя оба этих случая скорее вылет вызовут).

Перед этим этот НПС отыгрывает ещё одну анимацию и всё здесь в порядке. Только в этом моменте

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

NewValveCom Ваша АИ-сетка НЕВАЛИДНА (AI-map is NOT valid), правьте ошибки и проверяйте снова, пока не получите сообщение о валидности.

Исправите АИ-сетку, возможно смарт станет доступен для данного НПС и автоматом решиться проблема номер два.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 Как реализована бутылка в руке Кардана в зп, когда он пьет, делаю для мода похожую сценку, все сделал, но не знаю как сделать бутылку в руке, может, вы знаете?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

o4kostr3l Как прикрепляемый предмет (attachable_items).

Спойлер

 

Если делаете через анимационные состояния, то там есть флаги аттач (a=vodka) и детач (d=vodka):
 


animpoint_sit_low_drink_vodka	= {	prop	= { maxidle = 5,
									sumidle = 3,
									rnd = 80,
									moving = true },
						into	= { [0] = { "animpoint_sit_low_drink_in_1", {a="vodka"}, "animpoint_sit_low_drink_in_2" },
									[1] = { "animpoint_sit_low_drink_in_1", {a="vodka"}, "animpoint_sit_low_drink_in_2" }},
						out		= { [0] = { "animpoint_sit_low_drink_out_1", {d="vodka"}, "animpoint_sit_low_drink_out_2" },
									[1] = { "animpoint_sit_low_drink_out_1", {d="vodka"}, "animpoint_sit_low_drink_out_2" }},

Движковый же метод function enable_attachable_item(boolean) применяется так:
 


-- Аттач предмета
	if attach_object ~= nil then
		local obj = npc:object(attach_object)
		if obj then
			obj:enable_attachable_item(true)
		end
	end
	-- Детач предмета
	if attach_object ~= nil then
		local obj = npc:object(attach_object)
		if obj then
			obj:enable_attachable_item(false)
		end
	end


 

 


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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Как передать в game.translate_string цвет текста, если game.translate_string вызывается в функции db.actor:give_game_news? Я пробовал много раз менять цвет текста,в string_id, и %c[] делал перед текстом, и в локальной, не помогало.
Конкретно : хочу чтобы был цветной заголовок при получении определённого сообщения, например при потери предмета.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

denis2000 А как мне это реализовать-то?
Вот моя логика нпс:
 

Спойлер

[logic@esc_alkash_1]
suitable = {=check_npc_name(esc_alkash_1)} true
prior = 200
can_select_weapon = false
active = animpoint

[animpoint]
cover_name = esc_alcogol_smart_vtoroy_alco_animpoint
avail_animations = zat_b3_tech_idle_short
use_camp = false
on_info = {+drink_1_butilka} animpoint@drinking
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[animpoint@drinking]
cover_name = esc_alcogol_smart_vtoroy_alco_animpoint
reach_distance = 2
avail_animations = zat_b3_tech_drink
on_game_timer = 42 | animpoint@sleep
use_camp = false
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

[animpoint@sleep]
cover_name = esc_alcogol_smart_vtoroy_alco_animpoint
avail_animations = zat_b3_tech_drunk
use_camp = false
meet = no_meet
combat_ignore_cond = true
combat_ignore_keep_when_attacked = true
invulnerable = true
gather_items_enabled = false
help_wounded_enabled = false
corpse_detection_enabled = false

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, Igor_Misery сказал:

Чо за бред?

Это не бред, а вы что-то деалете неправильно. Например файл контейнеров заинклужен раньше файла артефактов. Других причин этому не нахожу.


Еще один злодей!
6 ГБ ОЗУ DDR3 1094 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.57 ГГц (OC)
Видеокарта Gigabyte Radeon RX 580 8192 МБ GDDR5 (Micron) DirectX v12.0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Igor_Misery потому что "инклуд" с контейнерами для артефактов нужно прописывать непосредственно в файл [artefact.ltx] в самый его конец после всех секций с артефактами. "Инклуд", который прописывал в [system.ltx] - удали.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

o4kostr3l Анимационное состояние zat_b3_tech_drink уже содержит флаги аттача и детача предмета vodka! Просто добавьте соответствующий предмет в инвентарь НПС и во время анимации он будет присоединяться/отсоединяться в нужный момент.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
6 часов назад, XRay сказал:

Igor_Misery потому что "инклуд" с контейнерами для артефактов нужно прописывать непосредственно в файл [artefact.ltx] в самый его конец после всех секций с артефактами. "Инклуд", который прописывал в [system.ltx] - удали.

Сработало. Но игра теперь жалуется на то, что нету файла items_container.ltx

Прописал в конце artefacts.ltx #include "misc\items_container.ltx"

 


Дополнено 57 минуты спустя

Уже пофиксил.

Просто создал в misc папку items и поменял инклуд.


Дополнено 5 минуты спустя

Новый вылет. Игра жалуется, что у закрытого контейнера нету секции absorbation, а она там и не нужна. lead_box_closed строится на lead_box, который в свою очередь строится на af_aim, который в свою очередь строится на af_base. Логично, что будет жалоба absorbation.

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Цитата

Igor_Misery  Сработало. Но игра теперь жалуется на то, что нету файла items_container.ltx

Прописал в конце artefacts.ltx #include "misc\items_container.ltx"

Смотри что ты пишешь, ты указал "инклуд" вместе с папкой (mics), да ещё и создав папку затычку для этого "инклуда", надо было всего лишь создать "инклуд" <относительно> папки (misc) => #include "items_container.ltx", переделай по человечески.

 

Цитата

Igor_Misery  Новый вылет. Игра жалуется, что у закрытого контейнера нету секции absorbation, а она там и не нужна. lead_box_closed строится на lead_box, который в свою очередь строится на af_aim, который в свою очередь строится на af_base. Логично, что будет жалоба absorbation.

потому что секция с "absorbation" должна быть у  "af_aim" или, если и не у него, то у той секции к которой он обращается выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, XRay сказал:

Смотри что ты пишешь, ты указал "инклуд" вместе с папкой (mics), да ещё и создав папку затычку для этого "инклуда", надо было всего лишь создать "инклуд" <относительно> папки (misc) => #include "items_container.ltx", переделай по человечески.

 

потому что секция с "absorbation" должна быть у  "af_aim" или, если и не у него, то у той секции к которой он обращается выше.

Ошибочка, не aim, а iam. И af_iam тоже контейнер, а не артефакт. У них нету absorbation и не быть не должно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   1 пользователь онлайн