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

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

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

12.06.2023 в 16:39, imcrazyhoudini сказал:

при правке спавна появляется такое:

Изначально речь шла о том чтобы просто удалить нпс из игры.
Зачем для этого редачить all.spawn?

Все спокойно удаляется/выключается по ходу игры, не требуя никакой НИ и никакой правки all.spawn. И неписи, и работы в гулагах, и гулаги целиком.

13.06.2023 в 17:22, imcrazyhoudini сказал:

В чём проблема?

В используемых инструментах.

  • Согласен 1
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

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

Подскажите тупому, как прописать ожидание. Типо строчка wait(время) не работает. При использовании предмета надо немного подождать и воспроизвести звук.

Изменено пользователем boneset-hq
Не дописал

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

Ссылка на комментарий
1 час назад, boneset-hq сказал:

ожидание

Таймеры использовать.

Если максимально просто на пальцах, то для этого надо:

1) Использовать какую-нибудь систему сохранения данных. xvars из OGSR или se_stor by Artos или еще что-то подобное.

2) Написать свою или взять готовую (они есть но не особо удобные имхо), скриптовую систему таймеров, реализующую такой функционал что мы (сейчас) взводим таймер, в который записываем что нам надо через время X, вызвать функцию Y, и (опционально) передать ей аргументы Z.

3) Если вы пишете в коде скрипта строчки вида wait(время) даже не задавая себе вопроса, а каким вообще образом это могло бы сработать, если бы даже "гипотетически", как-то там могло бы, то наверное вам пока рано вдаваться в такие задачи. X-Ray вместе с Lua-скриптами представляет собой однопоточное приложение, и приостановка выполнения потока на некое время, неважно каким образом реализованная, привела бы к приостановке всей вообще игры на то же самое время. Так что статус приложения в диспетчере стал бы == "Не отвечает". Естественно такой фичи делать не стали.

  • Нравится 1
  • Согласен 1
  • Полезно 1

Мод, где не бывает одинаковых путей - Судьба Зоны. (Лучшее, что у меня получилось на 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.

Ссылка на комментарий
15.06.2023 в 14:27, Zander_driver сказал:

Зачем для этого редачить all.spawn?

Ну знаншь, если тебе легче скриптовой функцией удалить, то пускай так будет)

 

Мне проще спавн пересобрать, мне так больше нравится.

 

  • Согласен 1

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

Ссылка на комментарий
15.06.2023 в 14:51, boneset-hq сказал:

Подскажите тупому, как прописать ожидание. Типо строчка wait(время) не работает. При использовании предмета надо немного подождать и воспроизвести звук.

Если только звук - при проигрывании звуков можно задать время задержки штатными средствами: https://xray-engine.org/index.php?title=Класс_sound_object

Параметр timeout (если я правильно помню, float-число, например 0.5 означает 500 мс).

 

Для более сложных задач, как уже написали выше, можно использовать расширенные системы таймеров с сохранением и различными параметрами. Такие системы используются прежде всего при реализации сюжета, однако в игре есть и собственные механизмы на основе игровой логики (xr_logic) с параметрами on_timer, spawner и т.д.

Изменено пользователем RayTwitty
Ссылка на комментарий

Как сделать выбор в меню быстрее. Что-то вроде ЗПшного варианта. Тоесть вот этот ползунок которым выбираешь кнопки. Просто в тч ну очень медленно двигается. Надеюсь не придётся править движок?

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

Придется. Единственный уникальный метод класса CUIMMShniaga(), доступный в скриптах – вкл./выкл. эффекта увеличительного стекла.

  • Полезно 1

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

Шпаргалка

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

Ещё впрс, как редактировать экран загрузки? Никак не могу найти xml файл. Или надо искать в скриптах?

"Do you like what you see?" © Billy Herrington

Boneset-HQ.gif

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

Требуется помощь зала.

Что может быть не так в регулярках вида:

%s*([_%w]+)%s*%=%s*([+=-\|}{)(/@_%s%,%.%w]+)%s*

и

%s*([%\%.-_%w]+)%s*%|%s*([-_%w]+)%s*

 

Используются в качестве шаблонов для функции string.gmatch()

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

я убрал начальный диалог сидоровича, а после этого создал нпс со своим диалогом, но он не отображается у него.

 

я подозреваю, что это из-за того, что сталкера не хотят со мной разговаривать, т.к я не пообщался с сидоровичем. 

как мне убрать эту неразговорчивость и негатив со стороны одиночек из деревни новичков? 

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

@agden , гулагу лагеря новичков (gulag_escape.ltx) в настройках прописан диалог при встрече:

Скрытый текст
[logic@esc_lager_walker1]
active = walker1@esc_lager

[walker1@esc_lager]
path_walk  = guard_walk1
path_look  = guard_look1
meet = meet@lager <- вот здесь

[meet@lager]
meet_dialog = esc_lager_no_talk <- сам диалог

 

В самом диалоге настроен прекондишен для начала общения по поршню, полученному ГГ (dialogs_escape.xml):

Скрытый текст
<dialog id="esc_lager_no_talk">
            <phrase id="0">
                <text />
                <next>1</next>
...
            </phrase>

            <phrase id="1">
                <text />
это поршень, необходимый для начала диалога
                <dont_has_info>tutorial_wounded_start</dont_has_info>
                <next>11</next>
            </phrase>
иначе с ГГ общаться не будем
           <phrase id="11">
                <text>esc_lager_no_talk_11</text>
                <next>111</next>
            </phrase>

            <phrase id="111">
                <text>esc_lager_no_talk_111</text>
                <action>dialogs.break_dialog</action>
            </phrase>


А этот поршень как раз и выдаётся при стартовом диалоге Сидоровича.

Скрытый текст
    <dialog id="escape_trader_start_dialog">

...
             <phrase id="199">
                <text>escape_trader_start_dialog_199</text>
                <action>escape_dialog.give_weapon_to_actor</action>
                <action>escape_dialog.give_knife_to_actor</action>
                <give_info>esc_trader_direct</give_info>
Вот здесь
                <give_info>tutorial_wounded_start</give_info>
                <next>1999</next>
            </phrase>

 

 

Изменено пользователем Купер
  • Согласен 1
Ссылка на комментарий

@Купер спасибо большое, дружище, но я не очень разобрался.

я вставил функцию 

 <give_info>tutorial_wounded_start</give_info>

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

 

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

@agden , там у ПЫС в начале на самом деле жуткая каша из билдов и релиза. Разгребать которую...

 

В info_01escape.xml к нему привязано задание "Забрать флешку у разведчика"

    <info_portion id="tutorial_wounded_start">
         <task>esc_flash_task</task> <-- здесь
        <article>sl_first_opinions</article>   <!--commented -->
    </info_portion>

Которое тянет в свою очередь свои поршни (получил задание, взял предмет, выполнил задание и т.д.)

Т.е., либо убирать выдачу этого задания по получению поршня, либо в диалогах редактировать ветки с прекондишенами по этому поршню. Тут уж - в зависимости от желаемого :biggrin:.

Изменено пользователем Купер
Ссылка на комментарий

Ребят, приветствия в dialog_manager используются рандомными сталкерами. А у Сахарова/Круглова свои приветствия в текстовом окне? Или тоже оттуда берутся? Хочу поправить тексты приветствия, добрый день в 2 часа ночи, ну-у... такой себе день

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

Всем добрый вечер. Надеюсь, что темой не ошибся. На ТЧ происходит стабильный вылет из-за каких-то вей-поинтов. Скорее всего, из-за переключения работы НПС. Отладка показала вот такую функцию и строку:
 

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

image.png

Дальше включил отладку через _g.script. В логе перед вылетом (проверял 10 раз - последние строки всегда такие) числятся вот такие строки:
 

Скрытый текст
! Unknown command:  set_new_target_state_sleep
! Unknown command:  flush
! Unknown command:  set_new_target_state_sit
! Unknown command:  flush
! Unknown command:  [smart_terrain_esc_bridge]_task:_obj=esc_bridge_soldier1_job_path=nil,_CLEARING
! Unknown command:  flush
! Unknown command:  [smart_terrain_esc_bridge]_removed_esc_bridge_soldier1_from_gulag_type=esc_bridge,_strn_id=65535
! Unknown command:  flush

Ключевые строки только по esc_bridge.

Попробовал убрать объект esc_bridge_soldier1 - он заменился другим (esc_bridge_soldier2). И так было до тех пор, пока я полностью не удалю всех солдат с карты. Может кто-нибудь подсказать, с чем связан вылет? 

Z690 GAMING X DDR4, 12th Gen Intel(R) Core(TM) i7-12700KF, NVIDIA GeForce RTX 2060 SUPER, Windows 11.

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

@gam мои наработки. Сам смарт (НПС, Логика, вей-поинты) полностью скопированы и размещены с учётом карты.

Сейчас попробовал воспроизвести вылет. Крутил время через time_factor рядом с лагерем и НПС: никакого вылета не обнаружилось. Зашёл в онлайн к НПС, вышел, вновь покрутил время - всё равно ничего не получилось. При этом сам вылет был привязан к сейву.

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

Z690 GAMING X DDR4, 12th Gen Intel(R) Core(TM) i7-12700KF, NVIDIA GeForce RTX 2060 SUPER, Windows 11.

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

Не знаю зачем насилие - если вылет не обязателен-трудно догадаться.

 

Если есть возможность, поделитесь файлами. Нужны папка config и scripts.

Изменено пользователем gam
Ссылка на комментарий

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

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

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

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

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

Войти

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

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

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

AMK-Team.ru

×
×
  • Создать...