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

[SoC] Ковыряемся в файлах


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

5 часов назад, Houdini_one сказал(а):

Как можно сделать в самой игре снимок локации сверху, если статическое освещение в игре отсутсвует? Нужно для того, чтобы создать det карту. На динамике снимок жёлтым заливает, может исправить это как-то можно, или ещё какой способ снимка есть?

Сперва выставить погоду с именем map:

Скрытый текст

Подходит для снимков на р2

 

\config\weathers\weather_mаp.ltx

 

[map_01]
flares        =
sky_texture    = sky\sky_7_cube
sky_rotation    = 0
sky_color    = 0.344, 0.344, 0.344
clouds_texture    =
clouds_color    = 0, 0, 0, 0
far_plane    = 9000
fog_distance    = 8900
fog_color    = 1, 1, 1
fog_density    = 0
rain_density    = 0
rain_color    = 1, 1, 1
thunderbolt    =
bolt_period    = 0
bolt_duration    = 0
wind_velocity    = 0
wind_direction    = 0
ambient        = 0.6, 0.6, 0.6
hemi_color    = 0.5, 0.5, 0.5, 1.0
sun_color    = 0, 0, 0
sun_dir        = -0.1, 0

 

Если нужно с солнцем, сперва отключить тени от облаков (заремить #define USE_SUNMASK в \shaders\r2\common.h), и в игре выставить r2_sun_depth_near_bias: -.5 (убирает баг с тенями во время снимка, но после обязательно вернуть значение: 0)

 

[map_01]
flares        = flares_default10
sky_texture    = sky\sky_7_cube
sky_rotation    = 0
sky_color    = 0.344, 0.344, 0.344
clouds_texture    =
clouds_color    = 0, 0, 0, 0
far_plane    = 9000
fog_distance    = 8900
fog_color    = 1, 1, 1
fog_density    = 0
rain_density    = 0
rain_color    = 1, 1, 1
thunderbolt    =
bolt_period    = 0
bolt_duration    = 0
wind_velocity    = 0
wind_direction    = 0
ambient        = 0.6, 0.6, 0.6
hemi_color    = 0.5, 0.5, 0.5, 1.0
sun_color    = 1, 0.957, 0.859
sun_dir        = -90, 292

 

Ещё можно в папке с уровнем, создать папку detail и туда закинуть текстуру жёлтого цвета с именем detail_grnd_asphalt

 

  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

Господа, доброго времени суток, я тут новичёк. Решил немного (много, как оказалось - много) заняться моддингом на ТЧ, сначала для себя, а дальше как пойдёт. Начал с правки параметров оружия, а закончил (пока что) написанием диалогов. Возникли вопросы касательно работы с DialogEditor. Я сделал диалог с Сидоровичем, который имеет три варианта завершения (три ветки), и он работал исправно, пока я не захотел сделать его "одноразовым". Прочитав про инфопоршни (инфопорции), а также посмотрев ролик на YouTude "Как создать простой диалог", я попытался реализовать это в своём диалоге, но столкнулся с проблемой, понять точную причину я не могу в силу опыта (или, возможно, я просто тупой). Дело в том, что при завершении диалога (нажатии на одну из последних строчек) просходит вылету, лог которой в блокноте выглядит следующим образом:

Expression    : no_assert
Function      : CXML_IdToIndex<class CInfoPortion>::GetById
File          : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line          : 112
Description   : item not found, id
Arguments     : escape_trader_talk_actor_alter_start_done

Я прочитал в справочнике про этот вылет, и пытался найти причину, почему игра не видит/не находит id. Я прилагаю ниже скриншоты файлов, с которыми работаю. Прошу опытных взглянуть на эти скриншоты и "поставить диагноз" (не автору, файлам:grin2:), в чём может заключаться ошибка. И также хотелось задать вопросы, про которые не написано в справочных материалах: можно ли использовать один инфопрошень, для создания одноразового диалога с тремя ветками, или нужно сделать три разных инфопоршня для каждой отдельной ветки, и является ли DialogEditor панацеей при работы с диалогами (тут дело в том, что я вчера вот этим всем занялся, и ещё не успел толком материал "для профи" освоить, некоторые проблемы с восприятием "новой для мозга" информации, поэтому мне интересно, на что вообще нужно делать ставку при работе с диалогами; на редактирование всех файлов отдельно вручную, или с помощью DE можно обойтись? Я имею введу удобно всё записывать и сохранять через него). Заранее благодарю всех неравнодушных, спасибо:az1000106:. Возможно, но приложить ещё какие-то фаилы. Если кто посмотрит скриншоты, напишите, что ещё нужно приложить)

Ссылка на папку со скриншотами (там 4 шутки, всё с описанием) - https://disk.yandex.ru/d/_hq3iA80FHxTCg

P.S. - Возможно, но приложить ещё какие-то фаилы. Если кто посмотрит скриншоты, напишите, что ещё нужно приложить
 

  • Нравится 1
Ссылка на комментарий
52 минуты назад, Fly сказал(а):

escape_trader_talk_actor_alter_start_done

Тут ясно написано, что игра не находит escape_trader_talk_actor_alter_start_done. Если это твой новый инфопоршень, для ТЧ его нужно отдельно регистрировать в любом файле с инфопоршнями.

  • Согласен 1
Ссылка на комментарий
13 минут назад, Капрал Хикс сказал(а):

 для ТЧ его нужно отдельно регистрировать в любом файле с инфопоршнями.

Так в этом и дело, что я не могу понять, где его ещё надо регистрировать. Я уже оставил id в том файле с остальными инфопоршнями Кордона (на скрине в папке отображено). Я понимаю, что где-то мой косяк или недочёт, но не могу понять где:dash2:, потому что делал по видео с ютуба, а там у парня всё получилось, вот. И да, я пробовал подумать своей головой и самому некоторые моменты поправить, но это ничего не дало, и я вернулся к началу:mebiro_01:.
 

Ссылка на комментарий
1 час назад, Fly сказал(а):

почему игра не видит/не находит id

Возможно сам файл, в котором Вы прописываете id инфопоршня не зарегистрирован. В файле system.ltx есть секция

[info_portions]
;список xml файлов, содержащих info_portions
files = info_portions,

Так вот здесь через запятую указаны файлы с инфопоршнями. В вашем случае, там должен быть файл info_escape.xml, если его нет то и id игра не будет находить.

Ссылка на комментарий
28 минут назад, Manool сказал(а):

Возможно сам файл, в котором Вы прописываете id инфопоршня не зарегистрирован. В файле system.ltx есть секция

 

Так вот здесь через запятую указаны файлы с инфопоршнями. В вашем случае, там должен быть файл info_escape.xml, если его нет то и id игра не будет находить.

Я нашёл этот фаил. Добавил через запятую тот info_escape.xml Теперь мне игра выдаёт ошибку вот с таким логом.

Expression    : xml_result
Function      : CXML_IdToIndex<class CInfoPortion>::InitInternal
File          : e:\stalker\sources\trunk\xr_3da\xrgame\xml_str_id_loader.h
Line          : 162
Description   : error while parsing XML file
Arguments     : info_escape.xml.xml

Я пробовал стереть xml в слове, всё равно выдаёт ту же ошибку. Причём этот файл info_escape.xml это родной фаил SoC, странно. А если я напишу инфопоршень в другой, поддерживаемый фаил, это ничего не сломает? Могу ли я взять, например, info_l01escape, который system.ltx поддерживается, создать в самом низу раздел для ВСЕХ своих поршней и туда вписывть?

Ссылка на комментарий
2 минуты назад, Fly сказал(а):

Могу ли я взять, например, info_l01escape, который system.ltx поддерживается

Да, так можно сделать. К тому же это и проще.

  • Нравится 1
  • Согласен 1
Ссылка на комментарий
6 минут назад, Manool сказал(а):

Да, так можно сделать. К тому же это и проще.

О Великие Силы, оно заработало!:hm: Спасибо тебе/вам огромное Manool. Так глядишь и мод состряпаю, если ноги себе раньше не отстрелю в этих файлах. 

Добавлено  Опричник,

Изучите "Правила цитирования". https://www.amk-team.ru/forum/topic/13514-obyavleniya/

  • Нравится 2
  • Смешно 1
Ссылка на комментарий

@Fly для разветвления диалогов, как по мне, лучше юзать прекондишены. 

 Поршни могут и удалятся и снова выдаваться, в зависимости от сюжета. 

А прекондишены не могут. 

Хотя, да, тоже не всегда удобно. Только по квестовым итемам например. 

  • Согласен 1

"Кругом зомби.....у меня кончаются патроны...."

Ссылка на комментарий
4 часа назад, Fly сказал(а):

Description   : error while parsing XML file
Arguments     : info_escape.xml.xml

Скорее всего, в этом файле (info_escape.xml) что-то не так с синтаксисом. Синтаксис xml довольно широко употребляемая вещь, так что его легко можно проверить.

Вот например, первый попавшийся чекер по запросу xml syntax check online :)

Засовываешь туда свой файл, чекер тебе сообщает где и что не так, исправляешь - и когда с синтаксисом будет все ок, игра его примет.

3 часа назад, BFG сказал(а):

Поршни могут и удалятся и снова выдаваться, в зависимости от сюжета. 

А прекондишены не могут. 

Прекондишен это вообще говоря, функция. В которой может быть все что угодно :rolleyes: в т.ч. и инфопоршни.

Добавлено BFG,

Согласен. Поэтому и добавил, что не всегда. 

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на X-Ray) На базе модифицированного движка OGSR Engine.

Бывший мододел на X-Ray / Начинающий игродел на Unreal Engine. Программист.

AMD Ryzen 9 7950X (16 ядер, 32 потока, 5.75 ГГц); RTX 3080; 128 ГБ DDR5; Arctic Liquid Freezer II-420; 3 ТБ SSD PCIe 4.0; 4ТБ HDD.

Ссылка на комментарий
27.05.2021 в 22:33, Zander_driver сказал(а):
27.05.2021 в 19:27, BFG сказал(а):

 

Прекондишен это вообще говоря, функция. В которой может быть все что угодно :rolleyes: в т.ч. и инфопоршни.

Все верно, именно так. Для веток диалогов удобнее именно прекондишнами пользоваться, а в них можно написать все, что угодно.

  • Согласен 1

Сталкер - наше всё!

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

ребята подскажите пожалуйста 

как сделать чтобы гг после пробуждения сам что то случайным образом ел?

Еда есть в рюкзаке и выбирается случайным образом из того что в нем есть

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

@Askar, примерно так:

 

function eat()
	local food	= {
		[1] = "bread",
		[2] = "kolbasa",
		[3] = "conserva"
	}
	for k,v in pairs(food) do
		local item = db.actor:object(v)
		if item then
			db.actor:eat(item)
			return
		end
	end
end

 

  • Спасибо 1
  • Полезно 2
Ссылка на комментарий

Ребят, помогите найти ошибку. Добавила инфу про туториальный тайник на элеваторе новичку возле толика, а новичку у входа в тоннель рядом инфу про тайник под деревом, у жд тоннеля. Тот что на элеваторе назвала tutorial_secret, тот что у жд тоннеля называется tutorial_secret_place. Вроде все сделано правильно (добавляла новую инфу по аналогии с той, которая уже есть в игре - спавн, инфопоршни), но в случае с кпк трупа напротив туннеля у вагончика (где раненый толик) все нормально, а у нового кпк не тот текст который должен быть в дневнике, а тот что отображается на карте при наводке на серый кружочек. И получается что и на карте и в кпк написано "Тайник, оставленный погибшим новичком", а в кпк должно быть все чуть поподробнее расписано, и ссылка вроде как на подробный текст есть. Надеюсь понятно все расписала, очень все запутано)

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

@Ninna , нам бы попроще, и в картинках. Зело борзо, ничё не понятно. :biggrin:

 

Попробуй по аналогии:

storyline_info_escape.xml

Скрытый текст

<article id="tutorial_secret_place" name="Flash dead stalker" <!-- наименование статьи (слева в ПДА)> 
article_type="journal"
group="Found_PDA"> <!-- подраздел, куда будет помещена статья (слева в ПДА)>
        <text>tutorial_secret_place</text> <!-- само описание статьи (справа в ПДА)>
</article>

 

info_l01escape.xml

Скрытый текст

<info_portion id="esc_tutorial_secret_place"> <!-- поршень, для которого выдаётся статья -->
        <article>tutorial_secret_place</article> <!-- id статьи для storyline_info_escape.xml -->
</info_portion>

 

Ну, а сам поршень в данном случае, в профиле NPC в all.spawn:

Скрытый текст

 

name = esc_stalker_corpse

...

[known_info]
esc_tutorial_secret_place

 

 

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

@Купер как еще проще не знаю, честно) В любом случае проблему уже решила - в escape_tasks.script сделала level_tasks.add_location(026, "crlc_small", "tutorial_secret1") вместо level_tasks.add_location(026, "crlc_small", "tutorial_secret") + в string_table_mapspots_escape добавила единичку после tutorial_secret. Теперь получается что у названия кпк ссылка на tutorial_secret1, а у описания на tutorial_secret, и теперь все как надо. Надеюсь не запутала еще сильнее :biggrin:

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

@Askar На всякий случай, сверим формат команды: db.actor:eat( db.actor:object("секция") ). При пустом объекте не будет ни действия, ни вылета; если объект указан, будет действие без сообщения – сообщение выдается только при использовании предмета через контекстное меню в инвентаре.

Мини-моды: ТЧ ЧН ЗП

Шпаргалка

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

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

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

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

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

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

Войти

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

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

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