Hydra / Гидра (набор утилит и скриптового языка Papyrus)
Сегодня 24 1 Автор мода: SoleVaultBoy Автор публикации: k©קaso√® Версия: 1.0.2 Перевод: Русский

Hydra / Гидра (набор утилит и скриптового языка Papyrus)

HYDRA
2800+ ФУНКЦИЙ • ПАТЧИ ДВИЖКА • PAPYRUS
УТИЛИТЫ И РАСШИРЕНИЕ СКРИПТОВ // FALLOUT 4

Описание:

Предоставляет обширный набор утилит для игры Fallout 4 и её скриптового языка. Также содержит ряд патчей для игрового движка.
▣ ОСОБЕННОСТИ И ФУНКЦИОНАЛ
  Поддержка версий игры: Поддерживает Old-Gen, Next-Gen и Anniversary Edition.
  Архитектура: Основан на плагине «Papyrus Common Library», но полностью переписан с нуля.
  Расширение Papyrus: Добавляет более 2800 новых функций в Papyrus.
  Новые типы скриптов: Добавляет ранее недоступные типы скриптов, такие как хэш-таблицы, хэш-множества, мьютексы, 64-битные целые числа и числа с плавающей запятой.
  Оптимизация движка: Содержит ряд патчей движка для существенного повышения производительности Papyrus (экспериментально).
  Восстановление Editor ID: Восстанавливает идентификаторы редактора.
  Разнообразный инструментарий:
    • Исполнитель консольных команд (Console Command Runner)
    • Исполнитель меню (Menu Runner)
    • Исполнитель прочих/отслеживаемых характеристик (Misc/Tracked Stat Runner)
    • Исполнитель условий и требований (Requirements Runner)
    • Исполнитель файлового кэша (File Cache Runner)
    • Исполнитель функций скриптов (Script Function Runner)
    • Исполнитель объектов скриптов (Script Object Runner)
    • Исполнитель рефлексии скриптов (Script Reflection Runner)
    • Исполнитель переводов (Translation Runner)
    • Объект кода AS3 (AS3 Code Object)
▣ ВСТРОЕННЫЕ ПАТЧИ ДВИЖКА
Загрузка Editor ID
Патч для загрузки Form Editor ID при запуске игры.

Идентификаторы редактора (Editor ID) обычно доступны только внутри Creation Kit.
Благодаря этому патчу их теперь можно использовать непосредственно в игре: через скриптовые команды, в консоли управления, а также в модах, требующих этой функции (например, Base Object Swapper и Spell Perk Item Distributor).
Предзагрузка скриптов
Патч для предварительной загрузки и связывания скриптов Papyrus.

Некоторые скрипты могут оставаться незагруженными или несвязанными на момент, когда игра завершает первичную загрузку.
Обычно это не вызывает сбоев, поскольку скрипты подгружаются при первом обращении к ним. Однако такой подход может создавать микрофризы и задержки, особенно при обращении к крупным и сложным скриптам.
Этот патч предпринимает попытку заранее загрузить и связать все скрипты Papyrus ещё на этапе старта, полностью устраняя подобные просадки и задержки во время игры.
Ускорение нативных функций (экспериментально; по умолчанию отключен)
Патч для ускорения большинства нативных функций Papyrus.

При вызове потоконебезопасных нативных функций Papyrus, таких как ObjectReference.GetBaseObject, игровой движок помещает этот вызов в очередь до следующего игрового кадра, чтобы выполнить его последовательно в одном потоке.
Для понимания масштаба: при 60 FPS один кадр занимает около 16 мс. Это означает, что вызов десятков подобных функций суммарно задерживает выполнение скрипта на несколько секунд.

Как работает решение:
• Патч переносит все подобные вызовы функций в тасклеты скриптов (script tasklets), защищённые мьютексом.
• Это позволяет выполнять вызовы незамедлительно.
• Функции вроде ObjectReference.GetBaseObject теперь выполняются примерно за 0.01 мс вместо ~16 мс (приблизительно в 1 600 раз быстрее).

Ограничения и совместимость:
• Скрытые функции, такие как ObjectReference.AddItem, продолжают работать как в оригинальной игре: родительский стек ожидает полного завершения работы вызванной функции.
Внимание: Патч может изменить поведение отдельных скриптов, если их логика ранее затачивалась под обязательную задержку в один кадр.
• Для предотвращения конфликтов список задействованных функций можно гибко настраивать через шаблоны (pattern matching) в конфигурационном файле.
▣ ВКЛЮЧЁННЫЕ СКРИПТЫ (нажмите, чтобы раскрыть)
Forms:
Activator, ActiveMagicEffect, Actor, ActorBase, AimModel, Alias, Ammo, ArmorAddon, Book, Cell, Climate, ColorForm, Component, ConstructibleObject, Container, DamageType, Door, Enchantment, EncounterZone, Explosion, Faction, Flora, Form, FormList, GlobalVariable, HeadPart, Holotape, Idle, InputEnableLayer, InstanceNamingRules, LeveledActor, LeveledItem, LeveledList, Light, Location, MagicEffect, MagicItem, Message, MiscObject, MovementType, ObjectReference, Outfit, Perk, Potion, Projectile, Spell, WorldSpace.
IO:
Directory, File, Ini, Json, Link, Path, Permission, Space, Toml.
Модули и типы (Modules & Types):
Arrays, Assert, Boolean, Camera, Char, Colors, Console, Crypto, DateTimes, Events, Float32, Float64, FunctionRefs, Game, GameSettings, Hashing, IniSettings, Input, Int32, Int64, Internal, MemMap, MemSet, MiscStats, Mutex, NetImmerse, Operator, Pairs, Plugins, Random, Regex, SaveMap, Saves, SaveSet, Scaleform, ScriptObject, ScriptStack, ScriptType, Sky, StrictStrings, StringPairs, Strings, StructObject, StructType, TempMap, TempSet, Time, Timer, Translations, UI, UInt32, UInt64, Uuids, VarPairs, Vectors2, Vectors3, Vectors4, Versions, Wildcards, Xse.
Игровые объекты (Game Objects):
AcousticSpace, AddonNode, AimModel, AnimObject, ArrowProjectile, ArtObject, AttractionRule, AudioEffectChain, BarrierProjectile, BeamProjectile, BendableSpline, BodyPartData, CameraPath, Climate, CollisionLayer, ColorForm, ConeProjectile, DamageType, Debris, DefaultObjectManager, DialogueBranch, DualCastData, FlameProjectile, Footstep, FootstepSet, GodRays, Grass, GrenadeProjectile, ImageSpace, ImpactData, Landscape, LandscapeTexture, LensFlare, LightingTemplate, LoadScreen, MaterialObject, MaterialType, MissileProjectile, MovementType, MusicTrack, NavMesh, NavMeshInfoMap, NavMeshObstacleManager, ObjectVisibilityManager, PackIn, PlacedHazard, ReferenceGroup, Region, Relationship, ReverbParameters, SoundKeywordMapping, SoundMarker, SoundTagSet, StaticCollection, StoryManagerBranchNode, StoryManagerEventNode, StoryManagerQuestNode, Transform, Tree, ZoomData.
▣ ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ (FAQ)
В: Почему это не просто обновление для Papyrus Common Library?
О: Я решил вынести проект как отдельный, поскольку Hydra, хоть и похожа в некоторых аспектах, имеет множество фундаментальных различий в работе с Papyrus. Из-за этого она не была бы совместима с существующими модами, использующими Papyrus Common Library.
В: Можно ли использовать Hydra вместе с Papyrus Common Library?
О: Да.
В: Заменяет ли Hydra мод Papyrus Common Library?
О: В некотором смысле Hydra задумывалась как его замена, однако модам, у которых Papyrus Common Library указан в качестве обязательного требования, по-прежнему необходима его установка.
В: У меня появляется всплывающее сообщение об ошибке Hydra.dll «Plugin/PapyrusManager.cpp» (152): Не удалось загрузить скрипт типа «Hydra:Forms:Actvator».
О: При установке F4SE обязательно проверьте, чтобы была скопирована вся папка Data из архива F4SE со всем содержимым.
▣ ПРИМЕЧАНИЯ
  Для пользователей Baka Framework: Рекомендуется отключить патч Editor ID в файле настроек этого фреймворка. Baka Framework
  Для разработчиков модов: Если вы получаете ошибки компилятора о том, что массивы или структуры не допускаются внутри структур, установите [этот патч для компилятора].
▣ РЕКОМЕНДАЦИИ
  Addictol — существенно повышает производительность скриптовой системы игры.
  Better Help Function — позволяет искать объекты по именам через консольную функцию help, а не только по Editor ID.
  Garden of Eden — ещё один масштабный расширитель скриптовых возможностей.

Требования:

Установка:

Установить через менеджеры модов или вручную. Активация не требуется.
Примечание: Как устанавливать моды  [читаем в данной теме].
  HYDRA // 2800+ ФУНКЦИЙ PAPYRUS  
avatar
Gamer-mods.ru © 2012 - 2026. Все права защищены. Копирование материалов без указанной активной ссылки на данный сайт запрещено.