Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском по разделу, ответ на него, вероятно, уже есть.
Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода.
Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа).
Благодарность выражаем в личке или же ставим плюсик в историю репутации. Подобные посты будут удаляться.
В следующий раз пишите, что работаете на ЧН, товарищ партизан! Prostomod, Все вроде верно, вероятная причина при которой надпись туториала не появиться - это логика рестриктора не находиться на секции sr_idle@use в момент захода в рестриктор: 1. Логика на секции sr_idle@task но предмета jup_sr_anomaly_scanner_device у ГГ нет 2. Логика не переключалась на секцию sr_idle@task в принципе.
Сообщение отредактировал denis2000 - Воскресенье, 01.09.2019, 18:08
1. Играю в Call of Chernobyl, как - то раз обратил внимание на то, что при вкл. ПНВ отсутствует звук его работы, в ЧН такая фишка была, я нашел данный звуковой файл, он был заменен на пустышку, я с ЧН звук взял, заменил, все работает, но с изъяном - при отключении ПНВ звук не пропадает, т.е. он зацикливается и пропадет только в том случае, если я перезагружу сохранение. Как исправить это недоразумение? Понятно, что в скриптах, но в каком и как
2. Во втором случае все непонятно вообще, снова же в Call of Chernobyl. В игре есть звук, который должен срабатывать, когда игрок вешает артефакт на пояс (inv_belt), но он не работает, в том плане, что он не вызывается игрой что - ли. В конфиге инвентаря ГГ звук прописан, в скрипте (bind.stalker.scripts) также присутствует наряду с другими, но он не "пашет". Почему? Где еще надо что - либо сделать?
Работаю в ЧН но думаю что данной проблеме тоже иметь место быть, ведь версии движка в этом плане я так думаю отличаются не сильно. Перейдем к проблеме: перенес костры на Радаре, но всё портит вот эта вот текстура с надписями и что означают эти комментарии разработчиков?
P.S главное на других локациях всё нормально.
Сообщение отредактировал Paradox27kms - Вторник, 03.09.2019, 03:07
Если серьезно, то на локациях Зова Припяти и Чистого Небо у некоторых объектов разные текстуры.
Когда мы подключаем локу к Зову Припяти, то движок берет текстуры из ресурсов игры. Чистонебовские текстуры разрабы хотели заменить или удалить, поэтому украсили их такими надписями. Но так и не удалили.
Поэтому на подключенных локах и вылезают такие глюки. Локации из оригинала Зова Припяти используют новые текстуры и там таких надписей нет.
Лечение в принципе простое. Найти в СДК нужный объект. Выяснить, как называются текстуры. Взять их из ресурсов Чистого Неба и скопировать в геймдату Зова Припяти. Если нужно, то с заменой файлов.
Добавлено (03.09.2019, 16:16) --------------------------------------------- Вот еще вопросик: как сделать чтобы при переходе на другую локацию заместо выбора переходить или нет, в окошке был написан текст по типу "нельзя тебе перейти" и.т.д вот пример в ui_st_screen.xml (ЧН)
Цитата
<string id="level_changer_disabled"> <text>Вы не можете найти дорогу</text> </string>
Подскажите как и где зарегистрировать всё это?
Сообщение отредактировал Paradox27kms - Вторник, 03.09.2019, 16:17
Если использовать первый, не передав второй параметр, сообщением будет level_changer_disabled.Но есть нюанс. Если ты пилишь всё это дело на ванильном движке, то ничего не выйдет. Тут два выхода: или делать движковую правку, которая чинит появление окон при переходах, или же использовать скриптовую схему sr_level_changer, которая много где в модах используется. Второй вариант можешь посмотреть в моде «Путь во мгле», например. Или в популярном сейчас «Call of Chernobyl».
Код
// Восстановление окна перехода
// В UIGameSP.cpp строку void CChangeLevelWnd::Show()
// Заменить на void CChangeLevelWnd::ShowDialog(bool bDoHideIndicators)
// В конец функции ShowDialog() добавить inherited::ShowDialog(bDoHideIndicators);
// Тут же, строку void CChangeLevelWnd::Hide()
// Заменить на void CChangeLevelWnd::HideDialog()
// В конец функции HideDialog() добавить inherited::HideDialog();
// Потом в UIGameSP.h строки virtual void Show(); virtual void Hide();
// Заменить соответственно на virtual void ShowDialog (bool bDoHideIndicators); virtual void HideDialog();
Теперь в свойствах перехода можно снять флажок Silent mode и пользоваться окнами. Спасибо товарищу SkyLoader.
Overfirst, Спасибо, попробую, по экспериментировать с этим. А возможно ли сделать так: создать рестриктор, прикрутить ему стори айди и воспользоваться данной функцией? Чтобы получилось так чтобы игрок зашел в зону рестриктора и сработала логика с окошком. Просто создавать переходы неохота, хочу "заткнуть дыры" в тех местах где должны быть переходы но которые не будут использоваться чтобы не выйти за карту. Это же вроде легко реализуемо в теории... но должно ли сработать?
Вот набросал пример
Цитата
[4075]
; cse_abstract properties section_name = space_restrictor name = sar_level_changer_disabled_1 position = -17.9504299163818, -34.5734100341797, -0.878252685070038 direction = 0, -0, -0 id = 65535 version = 124 script_version = 8 spawn_id = 10264
Еще например можно попробовать при окончании работы логики прописать чтобы игрока телепортировало назад или в определённую точку добавив функцию %=teleport_actor(teleport_way1:teleport_way2)%. В общем я затестил... рестриктор работает и выполняет все функции кроме %=disable_level_changer(story_id:message)% если я её правильным образом прописал. Видимо она только для переходов и айди к ним не присобачишь вроде, но мне нужно сделать рестриктором. А проще просто выдрать уже готовый телепорт "откидывающий назад" с оригинальных переходов и всё, мда... сам написал и сам же себе ответил, тогда другим неопытным модмейкерам пример будет для использования
Пример для новичков, ставим рестриктор в месте телепорта и в логику прописываем:
Добавлено (04.09.2019, 06:16) --------------------------------------------- Эм, а вот эту как текстуру найти? Как-бы по старинке все текстуры из ТЧ перенёс, но тут отсутствует... только не надо говорить что не все перенес, однако и других вариантов я тоже не вижу мб эта текстура заменилась на альфапрозрачную?
Сообщение отредактировал Paradox27kms - Среда, 04.09.2019, 06:22
После компиляции локации образуется странный баг с валлмарками. Они почему-то привязываются к первому сектору, а не к тому в котором реально находятся. Как это исправить?
function actor_binder:load(reader) set_save_marker(reader, "load", false, "actor_binder") object_binder.load(self, reader) --' Загружаем уровень сложности local game_difficulty = reader:r_u8() printf("load game_difficulty %s", tostring(game_difficulty)) get_console():execute("g_game_difficulty "..game_difficulty_by_num[game_difficulty]) local stored_input_time = reader:r_u8() if stored_input_time == true then self.st.disable_input_time = utils.r_CTime(reader) end
Вылет gamedata\scripts\bind_stalker.script:473: attempt to concatenate field '?' (a nil value)
473 строка выделена жёлтым
Сообщение отредактировал Policai - Четверг, 05.09.2019, 02:19