File Details

Download this file | Go to files list

Author: haama

Pluggy is a multifunction OBSE plugin that adds new functions to Oblivion, and is a further extension to Oblivion Script Extender. The functions allow modders to create and manipulate arrays, strings, .ini files, text files, both text and surface/image HUDs, and change object names.

See the Readme for more details (button above).
Discussion thread
CS wiki (more info for modders)

Oblivion v1.2.416
OBSE v15 (or higher)

Other versions
I've included Elys original v122, as well the latest pre-HUD beta (v91).

Dev v126 is a development/beta version for testing and new functions - see the thread for more details.

There are also 2 test files. If you had any exterior to interior crashes from the older HUD versions (v100-122) or with HUD enabled in the latest version, please try these out and see if they stop the crash.

Version History
v126 (6-9-2009):
1. Some major behind-the-scene changes (new ExtractArgsEx)

2. New RootIDs: 3 = "..OblivionDataPluggyUser Files" and 4 = "..My DocumentsMy GamesOblivionSaves".

3. More functions accept RootIDs - all file functions should now accept a RootID. Note that for "Write" functions (DelFile, RenFile, and all IniWrite functions) you can only edit an .ini file or any file in the "User Files" directories.

4. Bugfix: Time string tokens (-9000 range) should be more accurate and change every second now (instead of every 5 minutes).

v125 (05-14-2009):
1. Bugfix: Corrected "Saved without Pluggy" detection - should take care of the over-zealous pluggy data resets.

2. Bugfix: The function csc can now be used in OBSE let statements.

v124 (04-19-2009):
1. v124 includes the patches made by Leandro in v123 (mostly made sure that the DX functions correctly left the critical sections).

2. Players can toggle HUD functionality on and off. To turn it on, just change the file name from "OBSE_Elys_Pluggy.dll" to "OBSE_Elys_Pluggy_HUD.dll". Likewise, to turn it off, just change the name back to "OBSE_Elys_Pluggy.dll".

3. Pluggy will automatically ignore the Pluggy co-save data if it doesn't seem to match the .ess save. This was implemented because there were several players who uninstalled Pluggy, played a bit, and reinstalled it without first deleting the Pluggy co-saves. Can't do anything about saves from v122, but from here-on-out if you/the player does this the co-save will be ignored. Also takes care of mismatched files - that is, if you have several "AutoSave.ess" files and matching Pluggy co-saves.

4. For modders, a new function IsPluggyDataReset to let you know when the above has happened. It will return true if the Pluggy data is being ignored, if it's a New Game, if the co-save was deleted, etc. I'd suggest using this in a GetGameLoaded-type quest script.
[indent]Just want to make sure this is clear - when I say ignored, I only mean the data from the Pluggy co-save. You can still add new data, re-initialize the old data, etc.

5. For modders, a new function IsHUDEnabled to tell if the player has enabled HUD functions. If they aren't enabled - don't use them (they will crash the game). The player can only enable them before they start Oblivion, so you can use GetGameLoaded/Restarted. Also, note that if the player disables the HUD functions, their HUD data will be erased, and will not be available if they later re-enable the HUD functions.

6. Updated the Pluggy Savefile Format documentation.

7. ScreenInfo will now be saved if the player has Text HUDs, but not Image HUDs (HudS). This will allow HudTs to be auto-scaled when they're the only ones used.

8. If there's no Pluggy data that needs to be saved, the Pluggy co-save is deleted. Before, either this didn't happen or all 3 (.ess, .obse, and .pluggy) were deleted. Now it's just the Pluggy file.

9. Some internal changes, mostly related to saving and loading Pluggy co-saves.

Elys for 122 versions of Pluggy. I'm really just making minor patches on the groundwork she's already laid.

Leandro Conde for helping me with the Pluggy code and general Delphi understanding.

Scruggsy and DragoonWraith for helping me with the OBSE side of things.

Everyone who tested out the various fixes, attempts, and crashes going from v122-124.

Download this file | Go to files list