Возможно, вы уже много раз сталкивались с такой проблемой: враг, который очень далеко от вас, все еще находится в боевом и враждебном состоянии с вами, заставляя вас застрять в состоянии боя, из которого вы не можете выбраться. Если вас раздражает эта проблема и вы ищете способ решения, то этот плагин skse предназначен для ее исправления.
Этот плагин улучшит механизм побега из боя ванильной игры, устранит необоснованную боевую агрессию противника на сверхдальних расстояниях и привнесет в игровой процесс более разумный механизм остановки боя.
Как это работает?
В то время, когда игрок убегает от врага и перемещается между игровыми ячейками. Каждый раз, когда срабатывает событие переноса ячейки, мой плагин проверяет ситуации всех текущих врагов, отображаемых в компасе, и проверяет, соответствуют ли они приведенным ниже условиям, чтобы остановить их бой:
1. Для врага во внешних зонах:
- Плагин рассчитает расстояние между игроком и этим врагом. Если расстояние превышает "Максимальное расстояние агрессии" (значение может быть изменено в INI-файле), то плагин немедленно остановит боевое состояние этого врага.
- Когда игрок и враг находятся снаружи, расстояние будет равно расстоянию между их координатными позициями в 3D.
- Для игрока в помещении и врага снаружи расстояние будет равно расстоянию игрока до двери наружу плюс расстояние противника до двери внутрь.
2. Для врага внутри помещений:
- Поскольку в настоящее время автор не может найти способ получить надежное расстояние между игроком и врагом в помещении (необходимо глубже изучить исходный код игрового движка), поэтому в настоящее время он использует другой метод обнаружения для проверки:
- Проверяет, совпадает ли внутренняя ячейка, в которой находится этот враг, с ячейкой игрока или рядом с текущей ячейкой игрока. Если оба условия не совпадают, то плагин будет считать, что этот враг находится за пределами дистанции агрессии, и немедленно остановит состояние боя.
Примечания:
- Поскольку функции плагина срабатывают только при перемещении игрока между ячейками, вы должны продолжать двигаться, чтобы избавиться от боевого состояния. Функции плагина не будут выполняться, если вы будете оставаться в одной ячейке.
- Поскольку в настоящее время автор не может определить надежное расстояние до врага в помещении, он использовал для проверки специальный метод, упомянутый выше. Это может привести к тому, что враг, находящийся на расстоянии нескольких ячеек от игрока, всегда будет останавливать свое боевое состояние, даже если их реальное расстояние не очень большое. Эти проблемы будут решены в будущем, как только кто-нибудь откопает исходный код, связанный с расчетом интерьерного расстояния в игровом движке.
Совместимость:
- Функция, которую автор использует для остановки текущего боевого состояния противника, почти такая же, как и консольная команда "StopCombat", поэтому она должна быть безопасной и не вызовет ошибок.
Подпишись на нас