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

  • 0
pz_4

Общая проблема выключенных роботов

Вопрос

Чтобы не потерялось, запилю ка отдельную тему. Проблема касается выключенных роботов находящихся в капсулах. Вцелом аналогична растяжению пациентов в бессознании(подробнее в теме) но со спецификой.
 

В 02.07.2025 в 23:16, pz_4 сказал:

нужно написать скрипт на УДФ для похожей проблемы, но с Протектронами, 

Суть та же, протектроны(да и другие роботы) когда они отключены - в  Unconscious, соответственно если игрок запускает игру рядом с ними - их пускает по женскому половму органу.
 

  Показать контент


Но в отличии от людей на них адекавтно срабатывает Update3D, и они после него спокойно продолжают стоять в своей камере.

Получается нужен скрипт, который будет срабатывать при запуске игры, и проверять:
1) Есть ли в ячейке с игроком(или по дистанции) существо-робот. Я думаю тут адекватно будет пробить по GetCreatureType

2) Если есть, то в Unconscious ли оно.
3) Если в Unconscious, то мы делаем ему Update3D

 

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

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


Ссылка на сообщение

10 ответов на этот вопрос

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

  • 0
12 часов назад, pz_4 сказал:

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

Это да) В общем, сразу туда всунул фикс для бессознательных NPC из твоей прошлой темы. Откат правок прошлого фикса тоже сделал.

 

SFWFixUncRobots.esp

  • Спасибо! 2

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


Ссылка на сообщение
  • 0

Дополню. Проблема более критична для мистеров-помощников(и аналогичных роботов). Они будучи отключенными( Unconscious 1) и при перезагрузке(вернее первом запуске, подробнее в теме в шапке процитированной) игры в их присутствии, улетают с назначенного им места по оси Z(вверх). И при Update3D вниз не спускаются, увы. 

 

Спойлер

aViPhJU.png

 

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

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


Ссылка на сообщение
  • 0

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

 

Спойлер

IMYawet.pngAiOCHcf.png


По сути единственный способ их спустить на землю - это толкнуть по очереди:

SetUnconscious 0
update3d
и уже потом обратно из выводить в отключенное состояние 
SetUnconscious1

Впринципе я сейчас проверил, толкая все три команды сразу из батника, проблем вызвать не должно. Просто в УДФе надо будет сделать как то отдельно проверку на протектронов, отдельно на помощников. Протектронам хватит обычного апдейта, помощников же надо тремя командами фиксить.
 

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

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


Ссылка на сообщение
  • 0
26 минут назад, pz_4 сказал:

Просто в УДФе надо будет сделать как то отдельно проверку на протектронов, отдельно на помощников.

Т.к. GetCreatureType не разделяет их, можно предположить, что подойдет https://geckwiki.com/index.php?title=GetCreatureSoundsTemplate

Т.е. у протектрона нужно проверять AudioTemplateRobotProtectron "AudioTemplateRobotProtectron" [CREA:0005FCCB]

А у храбрецов AudioTemplateRobotMrHandy "AudioTemplateRobotMrHandy" [CREA:0004D036]

Единственное, что интересно, это будет ли работать, если этот параметр наследуется.

 

А, ну и я не до конца понимаю, как сделать проверку "есть ли в ячейке с игроком роботы данных типов". 

 

Думаю ,нужно сначала проверять IsInInterior, если да, то юзать GetInSameCell

А если нет, то либо GetDistance3D, либо GetInGrid

 

Но вот как правильно это прописать с учетом того, что мы ищем не конкретный реф, а любое существо указанного типа, не знаю.(

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


Ссылка на сообщение
  • 0

Аналогично. Поэтому я и пытаюсь спихнуть реалзиацию на @FNVFUN, как более толкового скриптера лучше меня понимающего возможности UDFов.


На худой конец(если FAN не захочет колупаться), конечно, можно будет сделать серпом по яйцам - в личные скрипты каждого отключенного робота(у кого они есть) - докинуть аналогичный пациентам костыль.

 

Но это оставит не охваченными:
Роботов отключенных игроком(перк робототехник как минимум)
Роботов не имеющих личного скрипта и работающих от какого то иного источника(например массовое включение по команде через квестовый скрипт и т.п.).

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

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


Ссылка на сообщение
  • 0

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

Цитата

 

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

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


Ссылка на сообщение
  • 0
В 28.10.2025 в 13:46, pz_4 сказал:

Аналогично. Поэтому я и пытаюсь спихнуть реалзиацию на @FNVFUN, как более толкового скриптера лучше меня понимающего возможности UDFов.

Как руки дойдут)

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


Ссылка на сообщение
  • 0
В 28.10.2025 в 19:45, pz_4 сказал:

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

 

Работает, но теперь при каждой перезагрузке у роботов срабатывает анимация выключения, и игрок ее может наблюдать. Оставлять так или все-таки выделить их на разные типы?

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


Ссылка на сообщение
  • 0
В 29.11.2025 в 23:21, FNVFUN сказал:

анимация выключения, и игрок ее может наблюдать.

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

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

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


Ссылка на сообщение
  • 0

Большое спасибо! Подшил. Квест и скрипт закинул в GRA.

  • Нравится 1

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


Ссылка на сообщение

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

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

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

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

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

Войти

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

Войти


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

Важная информация

Мы используем файлы cookie для обеспечения корректной работы сайта. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Узнать больше об обработке данных поможет Политика конфиденциальности