Address Library for SKSE Plugins at Skyrim Special Edition Nexus

您所在的位置:网站首页 anniversary edition翻译 Address Library for SKSE Plugins at Skyrim Special Edition Nexus

Address Library for SKSE Plugins at Skyrim Special Edition Nexus

2023-10-24 06:58| 来源: 网络整理| 查看: 265

About this mod

Contains header file and a database to make SKSE DLL plugins version independent easily.

Requirements This mod does not have any known dependencies other than the base game. Mods requiring this file Mod name Notes (DMC) Shiver Alpha - A Frostfall . Frostbite . CC Survival Animation Mod (FR) Completionist - Quest Tracker (FR) iEquip (FR) Mfg Fix Obligatoire sinon ça ne fonctionnera pas. 3rd Person Walk Fix Redux Hard Requirement. A Closer Look NG For SE/AE A Closer Look SSE Acolyte - Divine Covenants For SPID Actor Limit Fix Actor Value Generator And make double sure you're using the right version for your game Adamant - A Perk Overhaul (Mandarin) Hand to Hand 的前置 AddItemMenu - NG Adjustable Attribute Consumption SKSE for Skyrim SE 1.6.97 or 1.6.xx choose the one you need for your game version Advanced Notification Log NG Afterlife - Resurrected Alchemist's Journal Alchemy Plus Ammo Enchanting - Craft Magical Arrows and Bolts Analog Keyboard Helper (for Wooting users) Ancient Cultures Didn't Wear Amulets of the Divines Address Library is a requirement for CID Andrealphus' Papyrus Functions Animated Heavy Armory - DAR version with enchantments animations and patches [optional] Required by Dynamic Animation Replacer Animated Ingredients Select right version based on your game runtime Animated Poisons Animated Potions Animated Static Reload Fix Animated Static Reload Fix - NG Animation in Ashstorm Animation in Blizzard Animation Motion Revolution Required for SE and AE versions Animation Queue Fix Another Race Menu Rotation Mod Apprentice (Requied by Papyrus Extender) Arcane Disenchanter - NG Archery Locational Damage Archery Locational Damage - French Obligatoire Archery Rebalance Arcing Spells Are We There Yet Armor Rating Rescaled SKSE Remake All-in-one Aurora Fix Auto Chests All-in-one Or Your Current Version Auto Input Switch Auto Kill Move Screenshots Grab database for your game version. Auto Move Auto Parallax Auto Sheathe Weapons Auto Use Soulgems Hard requirement for offsets. Auto Use Soulgems SKSE for AE 1.6.640 Auto-Lockpicking - A Lockpicking Overhaul AutoBody AE - Configurable Randomized Bodies make sure you get the AE version. Barter Limit Fix Base Object Swapper Bash Bug Fix Beard Mask Fix - Beards Use Slot 44 SKSE Plugin For Skyrim Special Edition Beard Mask Fix - Beards Use Slot 44 SKSE Plugin - Russian Для Skyrim Special Edition Behavior Data Injector Best In Class Plus Plus SKSE Remake All-in-one or Your game version Better Combat Escape - NG Better Combat Escape - SSE Better Jumping SE Better Power Attack Direction Control - SSE Better Third Person Selection - BTPS Bikiniborn - Huntress of Skyrim Bikiniborn EX - Huntress of Skyrim Blade and Blunt - A Combat Overhaul For the DLL to load. Blended Skills - Class Perks (Both - Requirement's Requirement) BlocTheWorker's NPC AI for SSE Book 'Em Bounty Quests Redone - NG Bug Fix - Sprinting Spell Hand it's required by DAR Bug Fixes SSE Bulk Enchanting Redone Bunny Hopper Of Skyrim All-in-one Camera Follows SKSE Camera Noise Camera Persistence Fixes Carry My Burdens - Follower Carry Weight Transfer Casting Bar CatHub Challenging Spell Learning Required as of v2.0.0 Chocolate Poise Classic Sprinting Redone (SKSE64) Clean Save Auto-reloader Cold Region Behavior - Beta Test Necessary CoMAP - Common Marker Addon Project Combat AI All-in-one Or Your Current Version Combat Music Fix NG Combat Music Fix SKSE Combat Pathing Revolution Combat Speechcraft Community Shaders Completionist - Rastreador de Misiones y Objetos Latino-Castellano Completionist - Skyrim Completion Tracker (NG) Mandatory Comprehensive Attack Rate Patch - SKSE And make double sure you're using the right version for your game Conditional Equipment Conditional Expressions - Subtle Face Animations - Polish Translation configurable discover distance multiplier Console Commands Extender Console Commands Extender - Anniversary Edition Update Console Tweaks Required for copy / paste to and from clipboard. ConsoleUtilSSE ConsoleUtilSSE NG Constructible Object Custom Keyword System For Skyrim Special Edition Container Item Distributor Contextual Crosshair Controlled Casting For v2.0.0 and above; have the correct version for your game version CoolStaggers All-in-one Or Your Current Version Copy Character Appearance Crafting Recipe Distributor Crash Logger Crash Logger SSE AE VR - PDB support Select SSE or AE only if using CRITICAL SSE BUG FIX MOD Custom Hair Color Custom Skills Framework Daily Spell List This is a requirement for Papyrus Extender Deadly Combat 2023 Edition Detached Lightning For SE or AE Detection Meter Devola Racemenu Preset Dialogue More NPC Info SE or AE Version Pick the one you need Dialogue Movement Enabler Different casting time All-in-one Or Your Current Version Difficulty Balance Difficulty Mult Adjuster Disable Fast Travel SKSE - No Janky Map UI Disable Follower Collision Disk Cache Enabler Display Enemy Level Diziet's Player Home Bath Undressing for SkyrimSE This is a dependency for powerofthree's Papyrus Extender. dMenu Don't Eat Spell Tomes (API) For Skyrim Special Edition Don't hit me. I'm loading. Required for MCM Helper Don't send me there again (dosemetha) Don't Stay in The Water - NPC Water AI Fix Dragonborn Voice Over Address Library for SKSE Plugins is required for ConsoleUtilsSSE NG dTry's Key Utils Dual Wield Parrying SKSE Dynamic Animation Casting - NG Mandatory. Use AE/SE version match your SkyrimSE.exe Dynamic Animation Replacer Dynamic Armor Variants For Skyrim Special Edition Dynamic Autosorting patch for Ld50365s' Player Homes Hard requirement for SE/AE users Dynamic Collision Adjustment Dynamic Equipment Manager SKSE Updated All-in-one Dynamic Gamma SKSE Dynamic Key Action Framework NG DynDOLOD DLL NG Eat Tomes 4 Known Spells EatingSleepingDrinking - KuNeruNomu - Elden Counter Required Elden Parry Elden Parry -- Ordinator Patch ENB AO Toggler ENB Extender for Skyrim Either for AE or SE depending on your game version ENB Helper Plus ENB Input Disabler ENB Light Inventory Fix (ELIF) Either for AE or SE depending on your game version ENB Lights For Effect Shaders Enchantable Special Item Fix For Skyrim Special Edition Enchanted Arsenal - SSE Enchanted Weapon Charge Fix Encounter Zones Unlocked SE Enemies Follow Me Enemies Respect Encounter Zones Enemy Combat Parameters Hard Requirement Enemy Friendly Fire Enhanced Death Cam Enhanced Invisibility Enhanced Reanimation Enhanced Volumetric Lighting and Shadows (EVLaS) Either for AE or SE depending on your game version Equip Enchantment Fix Equipment Toggle 2 Essential Favorites Essentials Be Gone SKSE Reborn All-in-one Eternal Flames Required by Base Object Swapper. EVG - Animated Traversal - FR EVG Animated Traversal EVG Conditional Idles EVG Conditional Idles - French Obligatoire EVG Conditional Idles - Ukrainian translation Experience SE Extended Hotkey System Extended Vanilla Menus required for Copy / Paste to and from system clipboard. Face Discoloration Fix For Skyrim Special Edition Fatal Wedgies Favorite Misc Items Female Equipment Scale Fix Hard requirement Fenix Projectiles API All-in-one Or Your Current Version Fenix Stamina Overhaul All-in-one Or Your Current Version FenixDisenchanter All-in-one Or Your Current Version Fire Hurts NG Fires Hurt RE All-in-one Or Your Current Version Fishing Not Grinding Required for Papyrus MessageBox Fix Note icon for SkyUI (SKSE64 plugin) Required for the Skyrim AE version. Fix Toggle Walk Run (SKSE plugin) FlashReaction-BlockAbility Flasks - A Potion Utility Mod Flat Map Markers AE - Updated Flat Map Markers SSE Flat World Map Framework (FWMF) Mandatory Flat World Map Framework (FWMF) - German Floating Damage Follower Combat Priority Forget Spell For Skyrim Special Edition FormList Manipulator - FLM Mandatory Frozen Electrocuted Combustion required Gear Spreader Giantess Mod - Size Matters SE AE For DLL Version of the mod only. Glow Be Gone SKSE Updated mh-hm Go to bed required Go to Bed - RU необходимый Grabbed Items Add Weight Grass Cache Helper NG For SSE/AE/GOG versions users. GraveRobber This is only required if you would like to have the SkyUI MCM menu. Hand to Hand - An Adamant Addon Hard dependency. Hanna - A Face and Body Presets (CBBE 3BA 3BBB) For the Face And Body Preset Only HD Local Map HDT-SMP Force Fields HelpExtender Herika - The ChatGPT Companion Hide Those Futile Quests SE Horse Stamina HUD - Script-Free For Skyrim Special Edition Horseback - Witcher-style horse stamina mechanic (SKSE) Huishen Gameplay Overhaul I'm Walkin' Here I'm walkin' here NG iEquip Essential iEquip - PORTUGUES BR Essencial IFrame Generator RE Immersive Activate SKSE Immersive Equipment Displays Immersive Spell Learning - DESTified Improved Camera SE Improved Help Command - SE - AE Hard requirement. Improvement Names Customized AE Improvement Names Customized SSE Incremental Injuries Individual Shout Cooldown Remake All-in-one or your game version Infinity UI Ingredient Priority Fix NG Injuries for both PC AND NPCs Injuries for both PC AND NPCs - Spanish Es necesario para que funcione la versión original del mod Instantly Skip Dialogue NG Interactive Skyrim - Work in Progress Inventory coins All-in-one Or Your Current Version Inventory Interface Information Injector For Skyrim Special Edition Inworld Skyrim - AI NPCs Item Property Manipulator - IPM Mandatory Items Stolen Bug Fix IWant Widgets NG Judgement Cut End - RE - Script Free (Requirement of PI, AMR and DAR) Jumping Costs Stamina Kaputt - Melee Killmove Manager Kertam's Translate Helper must Keyword Item Distributor (KID) for SE/AE users Kill Caps Lock NG KillEssentials NG Download the version compatible with your SKSE and Skyrim. Killmove Paralysis Prevention Know Your Enemy 2 For SPID Know Your Enemy 2 - Armors For SPID and KID KreatE Either for AE or SE depending on your game version LamasTinyHUD - A Quick Slot Mod with Elden Souls Option Choose SE or AE Legacy NG (DienesTools - Grimy Plugin - Grimy Utilities DLL) For SE/AE. Lesen bildet 1.1.2 DV und VR DV Limbs Injuries -- Combat overhaul All-in-one Or Your Current Version Locational Damage(SKSE Plugin) Locational Encounter Zones LockBash NG Download the version compatible with your SKSE and Skyrim. Locked Empty Container Activate Text Fix Lockpicking for Barbarians Log Inventory Item Rotation Loki's Wade In Water - ESLified Magic Deflection API All-in-one Or Your Current Version Magic Leveling Fix Magic Sneak Attacks Main Menu Mesh Randomizer Main Menu Randomizer SE Only for Skyrim AE > 1.6.629 Mantella - Bring NPCs to Life with AI For SE / AE users Mantella and Herika Compatibility Patch Map Flip for Beyond Reach Maximum Carnage Maximum Destruction MCM Helper For Skyrim Special Edition Media Keys Fix SKSE Menu Maid 2 - MCM manager Merchants Inventory Refresh MergeMapper SSE/AE Mfg Fix Mfg Fix - Traduction Francaise Nécessaire MIF - Mu Impact Framework For SSE/AE Minimalistic Custom Skills Menu for AE MiniMap Misc High Heels Sitting Height Fix Misc Hkx Xml Converter SSE Misty Skye - Sexlab Addon Version 4--DE Wird benötigt Modlist Update Checker Molag's Will - A Vampire Skill Tree Hard Requirement for Custom Skill Framework monster race crash fix Moonlight Greatsword Projectile Essential (required by KID/DAC-NG) Moons and Stars - Sky Overhaul SKSE More Consistent Stamina Costs for Shield of Stamina More Informative Console Required for versions 0.40 and up More Plantable Plants for Creation Club For FLM moreHUD SE moreHUD SE - Polish Translation Wybrana wersja dla wersji twojej gry. Mu Joint Fix (Knee Fix dll edition) For SE/AE Mu Skeleton Editor for SSE/AE Mum's the Word NG My Main menu - Randomized Collection Only for Skyrim AE > 1.6.629 Naked Dead NPC Fix Name Those Ash Piles Native EditorID Fix Either for AE or SE depending on your game version No .esp No Attack Messages No Crime Teleport RE No Enchantment Restriction SKSE Remake No Follower Attack Collision No Follower Attack Collision NG No Furniture Camera No Lockpick Activate (SKSE) - Updated Download all-in-one or version for whichever game version you use. No Opposite Gender Animations NG No Stamina Consumption Outside Combat Notification Filter - Remove unwanted notifications All in one Notification Log SSE Notification Log SSE NG NPC AI Process Position Fix - NG NPCs use Potions For SE or AE Version NVIDIA Reflex Support OBody Standalone Require for MCM Helper. If you want to use MCM Menu version. One Click Power Attack NG OnHit Animations Framework - NG OnHit Animations Framework - SSE Open Animation Replacer Oppai Scaling OSA Use the correct version for your Skyrim (AE vs SE) OSL Aroused - Arousal Reborn OStim - OSex overhaul and API OStim - OSex overhaul and API (RUS) Paired Animation Improvements PAPER Papyrus INI Getter Plugin-SSE Papyrus Ini Manipulator For SE or AE. Papyrus MessageBox - SKSE NG All of my SKSE plugins require Address Library Papyrus Profiler Papyrus Tweaks NG PapyrusUtil SE - Modders Scripting Utility Functions for v4.1+ Parrying -- weapons bounce on impact All-in-one Or Your Current Version Parrying RPG Party Combat Parameters Hard Requirement Passive Weapon Enchantment Recharging - Enchanted Weapons Recharge Over Time Pause After Load Unscripted NG Needed for CommonLibSSE to work properly Payload Interpreter Perk Entry Point Extender Perk Point Awards Redux Hard Requirement for Spell Perk Item Distributor Personalized Mannequins Hard Requirement Phenderix Elements required Photo Mode Photo Mode - Deutsch Photo Mode - French Obligatoire Pilgrim - Custom Skills Framework Addon Plantable Northern Flax Play as a Dragon SE - and - Steerable Dragon With Bend Will Shout Player Rotation in ShowRaceMenu PlayerPayCrimeGold Tweak (aka No Crime Teleport NG) SE or AE Pocket Mammoths For Open/Dynamic Animation Replacer POISE - Stagger Overhaul SKSE Popola Racemenu Preset Poser Hotkeys Plus SSE Poser Hotkeys Plus SSE - For 2.5.1 - Simplifiled Chinese Translation Post-Hit Killmove and Execution (Unsupported) Obviously Potion Combining Potions Animated NG (PANG) Power Attack Direction Fix - AE Power Attack Key NG powerofthree's Papyrus Extender powerofthree's Tweaks Precision - Accurate Melee Collisions Prelude to Purgatory - A Lich Custom Skill Tree Implicit - Required for SSE Engine Fixes Print F All-in-one Or Your Current Version PrintF - NG required for Special Edition Projectile Blood (Proof of Concept) Projectile Sense - Incoming Arrow And Magic Slows Time Protect NPC SE AE VR SKSE AE Proteus - SE - AE - TR Pseudo Physical Weapon Collision and Parry AE SE VR Hard requirement for AE/SE players QUI Quick Loot RE Race Menu Player Rotation Rain Extinguishes Fires Implicit - Required by the required files and their requirements. Random Main Menu Music RandomIdleAnimation Read Or Take SKSE Read the Room - Immersive and Animated Helmet Management (Requirement's Requirement) Required by Immersive Equipment Displays Reading Is Bad SKSE Reading Is Good (SKSE) Realistic Body System 2020(SSE) Recipe Auto-Learn Recoil On Hit Recoil On Objects Recursion Monitor Regen Adjuster SKSE Regen Adjuster SKSE - NG Obviously Regen Adjuster SKSE - NG - Updated Regional Fast Travel Remember Lockpick Angle - Updated Be sure to grab updated database for whatever version of the game you use - these are NOT included! RemoveAllItems Freeze Fix Requiem - Lock Bashing Visualized ReShade Toggler Resistances Rescaled Required Resurrection API All-in-one Or Your Current Version Retreat - A Better End to Combat Reveal Your Secrets - A Map Marker Location Mod Rogue Master Detector Rogue's Gallery Use your respective game version Rudy ENB for NAT 3 Rudy ENB SE for Cathedral Weathers Runecarver - ESO style enchanting overhaul S.M.C. - SKYRIM MOTION CONTROL You need this Save Game Encoding Scaleform Translation Plus Plus Scaleform Translation Plus Plus NG SCAR - Skyrim Combos AI Revolution mandatory Scattered Object Solution Scrambled Bugs Screenshot Helper Seasons of Skyrim SKSE Security Overhaul SKSE - Lock Variations Sensual Dancer Serana Follower Framework from v1.5.0 onwards (if using SKSE plugin - otherwise not required) Set NPC Level Required by ConsoleUtilSSE. Shadow Boost Shield Of Stamina - Blocking Redux Shmoot's Gym -for modifying jumping, falling, and perk points... Show Animation Command Show Player In Menus Required for SKSE plugins to work. Show Player In Menus - French Obligatoire Simple Block Sparks- Script Free Simple Display - Battleaxe and Warhammer (Requirement's Requirement) Required by Immersive Equipment Displays Simple Display - Multiple Greatswords (Requirement's Requirement) Required by Immersive Equipment Displays Simple Dual Sheath Simple Hotkeys - SKSE Hard requirement for relocate offset when Skyrim SE updated. Simple Offence Suppression Simple Sit Idle Animation Simple Weapon Swing Parry - NG Sink Or Swim NG Skill of Sneaking Skip Deathcam Needed for Engine Fixes SKO - Simple Knock Out Is required for Spell Perk Item Distributor. Sky Fantasy XVIII - Gameplay Overhaul Sky Sprint SE Skyrim 40000 - A W40k story Skyrim Character Sheet SE or AE Version Pick the one you need Skyrim Character Sheet - Russian Skyrim Directional Combat Required Skyrim Dual Sense Adaptive Trigger Mod AE and SSE Skyrim Input Method - Use System's IME Skyrim Outfit System SE Revived Skyrim Platform Skyrim Skill Uncapper for SE and AE Skyrim Souls RE - Updated Skyrim Species Randomizer Needed for Monster Race Crash Fix Skyrim Together Reborn Skyrim Together Reborn - Turkish Localization 1.5.0 Skyrim Together Reborn ---- Traduzione italiana Skyrim Upscaler - DLSS FSR2 XeSS Skyrim World Randomizer (WIP) - REQUIRED - Skyrim's Paraglider SkyTEST - Racial Jump Diversity 100% REQUIRED SkyUI AIO Survival (SAS) Needed only for AE version SkyUI Weapons Pack SE - Unofficial Patches Slayable Offspring SKSE Sleep to Gain Experience Smart Harvest NG AutoLoot For CommonLibSSE Smart NPC Potions - Enemies Use Potions and Poisons For SE/AE Smart NPC Potions - Enemies Use Potions and Poisons - Turkish Translation SmoothCam SMP-NPC crash fix Required on versions other than 1.6.640 Soaking Wet - Character Wetness Effect Soft Shadows Souls-Like SmoothCam Preset smoothcam needs this also Soulsy HUD Sound Record Distributor Speed Casting SKSE Remake All-in-one or your game version Spell Extender - Additional Papyrus Functions (NG) Make sure you have the right version for your game version Spell Perk Item Distributor (SPID) For Skyrim Special Edition users. Not required for VR and Anniversary Edition Spell Thief - NG mandatory for Skyrim SE 1.6.97 or 1.6.xx choose the one you need for your game version Sprint Sneak Movement Speed Fix Sprint Tweaks SSE Display Tweaks SSE Engine Fixes (skse64 plugin) SSE Hooks Optional SSE ReShade Helper SSETUPP - DisplayTweaks Utra Performance Pack Required Stagger Direction Fix - NG Stagger Direction Fix - SSE Stagger On Hit SKSE Stat Requirements Static Skill Leveling (Experience Mod Add-on) Stay At The System Page - AE AE version Stay At The System Page - Updated Stay At The System Page NG Steam Keyboard Integration (for Big Picture) Stop Automatic Weapon Draw NG for Skyrim SE / AE Stop On Slash AE - Hitstop and Screenshake Stormcrown - A Shout Overhaul Stormcrown - A Shout Overhaul - Russian Strange Runes hard requirement Sure of Stealing Survival Control Panel Survival Mode Improved - SKSE Swap Consumable Mandatory Swift Potion NG Switch Combat View - SKSE use the one for your game version Target Focus The Ancestors Care - A Dunmer Passive Implicit - Required for Spell Perk Item Distributor to function The Dragon Cult - Priesthood Third Person First Person Aiming Time Format Changer TK Dodge RE - Script Free mandatory Too many notifications All-in-one Or Your Current Version ToxiRandomizer SE-AE-VR Transcribe Spells - Convert Known Spells to Tomes (Requirement’s Requirement) True Directional Movement - Modernized Third Person Gameplay True Spear Combat - DAR TrueHUD - HUD Additions Tweak Potion Weight Twisted's Command Binders - MCM Helper UI-Integrated Hotkeys System Hard Requirement Ultimate Animated Potions NG Undaunted NG Underwear.dll Unequip Quiver SE Unique Actor Values For Summermyst Implicit - Required by Actor Value Generator. Unique Map Weather Unlimited Fast Travel Unlimited Stamina - NG for non-VR users Unskippable Dialogue NG Vampire Feed Proxy Vampire Lords Can Fly (With Collision) Vanilla HDR Vindictus Fiona Counter Visual Lock Ownership Vitrium - Spells and Tools Pack - Spanish Vokrii - Hand to Hand and Security AddOn Wade In Water Redone Wait Menu Redirected Warmer Dwemer Lights Required by Base Object Swapper Weapons Repositioner SE mandatory Wearable Lanterns MCM Fixed No DLL Error without this you still get a DLL error from some other file WeatherInfo Weightless Bound Arrows Hard requirement Weightless NG Wheeler - Quick Action Wheel Of Skyrim Where Are You - Lookup And Track Followers and other NPCs Required. Choose a version compatible with your game (SE or AE). Where s the key All-in-one Or Your Current Version Which Key NG Who's Who (April Fools Mod) Whose Quest Is It Anyway Whose Quest Is It Anyway - Russian Translation Whose Quest Is It Anyway Espanol Debes instalar sus requisitos tambien, si en caso tuviese alguno necesario. Whose Quest is it Anyway NG Whose Quest is it Anyway NG - Ukrainian translation Windhelm Brazier Replacer - Base Object Swapper Needed for Base Object Swapper to function Witcher Cam Mandatory Xanthys Unofficial Port To SE !!These two mods are a fix for the Mannimarco black face bug that can happen in VR, or in general!! Not needed but suggested heavily. YASTM - Yet Another Soul Trap Manager Hard requirement. Yes Im Sure Yes Im Sure NG You Can Sleep SKSE Remake All-in-one Or Your Current Version zone magic needed for version 0.2 and above zxlice BackStab and Parry SSE - Script Free zxlice hitStop SSE - Script Free zxlice's ultimate potion animation - ZUPA Permissions and credits Credits and distribution permission Other user's assets All the assets in this file belong to the author, or are from free-to-use modder's resources Upload permission You can upload this file to other sites but you must credit me as the creator of the file Modification permission You must get permission from me before you are allowed to modify my files to improve it Conversion permission You can convert this file to work with other games as long as you credit me as the creator of the file Asset use permission You are allowed to use the assets in this file without permission or crediting me Asset use permission in mods/files that are being sold You are not allowed to use assets from this file in any mods/files that are being sold, for money, on Steam Workshop or other platforms Asset use permission in mods/files that earn donation points You are allowed to earn Donation Points for your mods if they use my assets Author notes

This author has not provided any additional notes regarding file permissions

File credits

This author has not credited anyone else in this file

Donation Points system

This mod is opted-in to receive Donation Points

Changelogs Version 2 Updated database files, they were missing most RTTI info. IMPORTANT! This is now split into 2 versions: Special Edition (1.5.x) and Anniversary Edition (1.6.x). The IDs that point to addresses will not match between those 2 versions (the game executable is too different to match, and even if they matched the code within those functions is different anyway).

Description

For regular mod users: Download and install the "all-in-one" package from files section. You can use mod manager or do it manually. The .bin files should go here:Data/SKSE/Plugins/There is no need for you to read the rest of any of this.

For SKSE DLL plugin authors:This is a modder resource (a header file). You can load a database that stores offsets so your DLL plugin can be version independent without requiring to be recompiled. The header file can be downloaded from the optional section of the files. For Anniversary Edition the header file is called versionlibdb.h instead of versiondb.h! If you are using CommonLib then all of this is already built in and you don't need anything from here.

How to use

The quickest way:

Spoiler:  Show#include "versiondb.h"

void * MyAddress = NULL;unsigned long long MyOffset = 0;

bool InitializeOffsets(){// Allocate on stack so it will be unloaded when we exit this function.// No need to have the whole database loaded and using up memory for no reason.VersionDb db;

// Load database with current executable version.if (!db.Load()){_FATALERROR("Failed to load version database for current executable!");return false;}else{// "SkyrimSE.exe", "1.5.97.0"_MESSAGE("Loaded database for %s version %s.", db.GetModuleName().c_str(), db.GetLoadedVersionString().c_str());}

// This address already includes the base address of module so we can use the address directly.MyAddress = db.FindAddressById(123);if (MyAddress == NULL){_FATALERROR("Failed to find address!");return false;}

// This offset does not include base address. Actual address would be ModuleBase + MyOffset.if (!db.FindOffsetById(123, MyOffset)){_FATALERROR("Failed to find offset for my thing!");return false;}

// Everything was successful.return true;}

Now you're wondering what is that "123" value there. This is the ID of an address. Different version databases will have the same ID for an address but it may point to different values. To get a list of all ID and value pair for a specific version do this:

Spoiler:  Show#include "versiondb.h"

bool DumpSpecificVersion(){VersionDb db;

// Try to load database of version 1.5.62.0 regardless of running executable version.if (!db.Load(1, 5, 62, 0)){_FATALERROR("Failed to load database for 1.5.62.0!");return false;}

// Write out a file called offsets-1.5.62.0.txt where each line is the ID and offset.db.Dump("offsets-1.5.62.0.txt");_MESSAGE("Dumped offsets for 1.5.62.0");return true;}

Instead of 1, 5, 62, 0 put the version you are reversing and familiar with. You must have the corresponding database file in /Data/SKSE/Plugins directory first.

After you call this you should have a new file in the main Skyrim directory called "offsets-1.5.62.0.txt" or whatever you put as the file name. It will be in the format where each line is:Decimal IDHex Offset

For example if you have an address 142F4DEF8 (player character static pointer) in 1.5.62.0 that you want to make version independent you would do this:1. Look up 2F4DEF8 in the offsets file. Because this is the offset without the base 1400000002. See that the ID is 517014 (decimal!)3. If you want this address in your DLL at runtime do this:

void* addressOf142F4DEF8 = db.FindAddressById(517014);

And there you have it.

The VersionDb struct has the following functions:

Spoiler:  Showbool Dump(const std::string& path); // Dump currently loaded database to filebool Load(int major, int minor, int revision, int build); // Load a specific version if the db-major-minor-revision-build.bin exists in Data/SKSE/Plugins directorybool Load(); // Load the version for current applicationvoid Clear(); // Clear currently loaded databasevoid GetLoadedVersion(int& major, int& minor, int& revision, int& build) const; // Get the version of database file we have loaded right nowbool GetExecutableVersion(int& major, int& minor, int& revision, int& build) const; // Get the version of currently executing applicationconst std::string& GetModuleName() const; // Get the name of currently loaded database module, this should show "SkyrimSE.exe"const std::string& GetLoadedVersionString() const; // Get the currently loaded version as string, e.g. "1.5.62.0"const std::map& GetOffsetMap() const; // Get the map of ID to offset if you need to iterate it manuallyvoid* FindAddressById(unsigned long long id) const; // Find address by ID, this will already include base and be correct address. It will return NULL if not found!bool FindOffsetById(unsigned long long id, unsigned long long& result) const; // Find offset by ID, this will just be offset without base included.bool FindIdByAddress(void* ptr, unsigned long long& result) const; // Find ID by address, this will attempt a reverse lookup to convert address to IDbool FindIdByOffset(unsigned long long offset, unsigned long long& result) const; // Find ID by offset, this will attempt a reverse lookup to convert offset to ID

Things you should know and keep in mind:

1. You can include any (or all) of the database files with your plugin but it may increase the file size considerably (by around 2.5 mb). So far it has been common to mark this mod as a dependency instead.

2. You should ALWAYS only load database once at startup, initialize/cache the addresses you need and let it unload. Unloading just means the VersionDb struct gets deleted or lost (if you allocated on stack). This will make sure you don't use unnecessary amount of memory during game runtime. There's no need to keep the database loaded during gameplay. This is a moot point if you use CommonLib as it only loads it once instead of for each DLL.

3. The database contains addresses of functions, global variables, RTTI, vtables, and anything else that may have a reference to it. It does not contain addresses that are in the middle of functions or middle of globals. If you need an address in the middle of the function you should look up the function base address and add the extra offset yourself. It also does not contain useless stuff such as alignment around functions (which are referenced in rdata), pdata section is discarded and some compiler generated SEH info from rdata is discarded.

4. You should always check the result to make sure the database loaded successfully (bool Load returned true) and that the addresses queried actually returned a valid result (not NULL). If it does fail to load it means the file was missing most likely or wrong version (e.g. trying to use SE header in AE). If the query fails it means the address could not be found in that version. This could mean either the game code changed enough that the address is no longer at all valid for that version OR the database itself failed to detect the correct address. If either of those things happen you should fail the plugin initialization to let SKSE know you did not load correctly. Or manually show an error message.

5. It would also be best if you checked to make sure the address exists in all versions of the game before publishing your DLL plugin. To do that load each version of the database file and query the same address ID in each of them to make sure it exists:

Spoiler:  Showbool LoadAll(std::vector& all){static int versions[] = { 3, 16, 23, 39, 50, 53, 62, 73, 80, 97, -1 };for (int i = 0; versions[i] >= 0; i++){VersionDb * db = new VersionDb();if (!db->Load(1, 5, versions[i], 0)){delete db;return false;}all.push_back(db);}return true;}

bool ExistsInAll(std::vector& all, unsigned long long id){unsigned long long result = 0;for (auto db : all){if (!db->FindOffsetById(id, result))return false;}return true;}

void FreeAll(std::vector& all){for (auto db : all)delete db;all.clear();}

bool IsOk(){std::vector all;if (!LoadAll(all)){_FATALERROR("Failed to load one or more version databases for current executable!");FreeAll(all);return false;}

if (!ExistsInAll(all, 517014)){_FATALERROR("517014 does not exist in all versions of the database!");FreeAll(all);return false;}

FreeAll(all);// Ok!return true;}

This way you can be sure your DLL mod will work in all versions, or if it does not work in some versions you can write that on your mod page.

6. Sometimes you'll need to do something different based on running game version. You can do that with this code snippet:

Spoiler:  Showint major = 0, minor = 0, revision = 0, build = 0;if (!db.GetExecutableVersion(major, minor, revision, build)){_FATALERROR("Something went wrong!");return false;}

// Running game is 1.5.x and at least version 1.5.39.0if (major == 1 && minor == 5 && revision >= 39){// Stuff ... ?}

7. Please keep in mind: if you compile your SKSE DLL in debug mode the load time of database can be around 14 seconds! In release mode this is around 0.2 seconds. This is due to standard library containers being very slow in that mode (std map).

Permissions

Do whatever you want.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3