Sign in to follow this  
Followers 0
Khettienna

How To: Make a Omod, or Omod-Ready Archive

How To: Make a Omod, or Omod-Ready Archive

So, you're ready to release your mod, and you want to offer an omod installer or an omod-ready archive; or, maybe you just want to make an omod from a mod you've downloaded to keep installation/uninstallation easy and painless. Here, I will teach you how to do just that.

You'll need to download and install Oblivion Mod Manager (OBMM) if you haven't done so already.

Simple Omods

This section assumes your mod package does not require the user to choose any options during mod installation, or that your download does not come with a folder called "omod conversion data". If either of those is not true for you, please go to the next section.

First, move all your mod files to a new folder, preserving its contents and structure relative to the Data folder (just as you would if you were getting ready to pack and upload a manual installation). If you are omodding up a mod you downloaded, unpack the archive to a temporary location. You should now have:

YourTempFolder\PluginName.esp

YourTempFolder\PluginName Readme.txt

YourTempFolder\Meshes\

YourTempFolder\Textures\

Give or take some items, depending on the mod. This example is just used to illustrate file structure. Remove any screenshots, as well as any documents aside from the readme. If the readme is in a format other than .txt or .rtf, OBMM won't recognize it - so convert if necessary.

If this is a mod you've downloaded: Also remove any "options" or "extras" folder. OBMM will not install these effectively without a script. If you know you want to use options provided in the mod, install the options to your temporary folder as if it were your Data folder, and then remove the excess.

Now you're ready to create the omod. Open OBMM, and click the "Create" button at the bottom. A new dialogue window will open. Click the "Add Folder" button, and browse to your temporary folder. You MUST fill in the name field, but all others are optional. You can right-click on the plugin listed in the bottom window, and choose "Import Mod Details" from the context menu, and some fields will auto-populate if the creator of the plugin has remembered to add their author name and a description to the plugin. When you have it all how you like it, click "Create omod" at the bottom.

Now wait as OBMM compresses the files together. An omod is essentially a .7z archive, with some special data for OBMM to use. So, if you have a very large mod, this can take a few minutes.

Viola, you're done! Your actual file can be found in your OBMM storage folder, which is by default ..Oblivion\OBMM\omods\. It will have the .omod file extension.

Omod-Ready Archives

If you've downloaded an "omod-ready archive", the process is even simpler. You don't have to rearrange any files or folders, regardless of what they look like; you don't even have to extract the archive. After clicking "Create" in OBMM, use "Add Folder" or "Add Archive" to point to your folder or the packed archive, respectively. OBMM may throw out a warning about plugins in subfolders, which may be safely ignored - modders who package mods this way will have included scripts to handle it. Then it will tell you that omod conversion data is available, and ask if you want to import it. Say yes. Then click "Create omod". Done!

If you want to make an omod-ready archive, first create the omod as described above. Then right-click your omod from the list of omods on the right, and select "Covert to archive" from the context menu. When asked if you would like to create omod conversion data, click Yes. When it's done, you're done!

Complex Omods

By complex, I mean a situation where the user has to choose options during installation, and thus the contents of the "root" folder of the download can't just be copied into the Data folder. Many of the big mods, such as Cobl and Animated Window Lighting System, are set up this way. These mods require an omod script to be installed by OBMM.

If you have a pretty good handle on basic Oblivion scripting, then you can script omods. Here is a list of templates and examples provided by lhammonds, and here is a complete list of functions at OBMM's homepage.

Here are some of the things you can do with an omod script:

  • auto-detect Oblivion version
  • auto-detect other plugins and masters (handy for things like Cobl)
  • auto-detect OBSE and its version
  • auto-detect resource files (handy for checking resource dependencies)
  • install/rename any combination of your plugins
  • specify load order relative to existing plugins in the user's load order
  • install/rename any combination of your resource files
  • present options to your users during install, with optional image previews

You can see how valuable this can be in terms of preventing user error and making mod installation painless for the user. Here is a script I created for a mod that does a lot of auto-detection:


If VersionLessThan 1.1.12
Message "This mod must be installed by OBMM version 1.1.12 or later to prevent install script errors. Please update OBMM. Star's Rest installation will now abort."
FatalError
EndIf

IfNot ScriptExtenderPresent
Message "This mod requires OBSE version 0017a or better, which you do not currently have installed. Star's Rest installation will now abort."
FatalError
EndIf

IfNot ScriptExtenderNewerThan 0.0.16.0
Message "This mod requires OBSE version 0017a or better, which is newer than your current version. Please update OBSE. Star's Rest installation will now abort."
FatalError
EndIf

IfNot OblivionNewerThan 1.2.0.0
Message "This mod requires Oblivion to be patched to the latest official version, 1.2.0.416. Please update Oblivion. Star's Rest installation will now abort."
FatalError
EndIf

DontInstallAnyPlugins

If DataFileExists "Cobl Main.esm"
If DialogYesNo "Cobl detected. Would you like to enable the Cobl features in Star's Rest (recommended)?" "Huzzah!"
CopyPlugin "Star's Rest for Cobl.esp" "Star's Rest.esp"
Else
CopyPlugin "Star's Rest non-Cobl.esp" "Star's Rest.esp"
EndIf
Else
CopyPlugin "Star's Rest non-Cobl.esp" "Star's Rest.esp"
EndIf

If DialogYesNo "Would you like to install the optional plugin that places a small Ayleid well near Star's Rest?" "Omod-only bonus!"
InstallPlugin "Star's Rest - Ayleid Well.esp"
LoadBefore "Star's Rest.esp" "Star's Rest - Ayleid Well.esp"
EndIf

Message "Thank you for your patience. Star's Rest has been successfully installed. Enjoy!" "Yay, you!"
[/codebox]

It gets the job done, so don't laugh. Here is another script I created that offers options, and installs files according to the options chosen. You can see where it would benefit from the auto-detection techniques used in the previous script.

[codebox]
If VersionLessThan 0.7.0
Message "This mod must be installed by OBMM version 0.7.0 or later to prevent install script errors."
FatalError
EndIf

AllowRunOnLines

DontInstallAnyPlugins
DontInstallAnyDataFiles

Select "Tell me what mods you have." "I have Cobl." "I have OBSE, but not Cobl." "I don't have Cobl or OBSE."

Case I have Cobl.
CopyPlugin "Better Dark Brotherhood Sanctuary for Cobl.esp" "Better Dark Brotherhood Sanctuary.esp"
Break

Case I have OBSE, but not Cobl.
CopyPlugin "Better Dark Brotherhood Sanctuary for OBSE.esp" "Better Dark Brotherhood Sanctuary.esp"
Break

Case I don't have Cobl or OBSE.
InstallPlugin "Better Dark Brotherhood Sanctuary.esp"
Break

EndSelect

If DialogYesNo "Do you have WillieSea's Assassin Tripwires Mod? If you click YES, be SURE to deactivate the original 'Assassin Tripwires.esp'. Do not answer Yes unless you already have Assassin Tripwires installed!"

Select "Choose patch type." "Style & Streamline for BDBS!" "Just keep it working." "I fibbed, I don't have Assassin Tripwires yet." "Wait, what?"

Case Style & Streamline for BDBS!
InstallPlugin "Better Dark Brotherhood Sanctuary - Tripwires Stylized.esp"
Break

Case Just keep it working.
InstallPlugin "Better Dark Brotherhood Sanctuary - Tripwires.esp"
Break

Case I fibbed, I don't have Assassin Tripwires yet.
Break

Case Wait, what?
Break

EndSelect

EndIf

Select "Choose armor color." "Khettienna's BDBS Black" "Default Purple"

Case Khettienna's BDBS Black
CopyDataFolder "Armors\\BDBS Black\\Meshes" "Meshes" True
Break

Case Default Purple
CopyDataFolder "Armors\\Default Purple\\Meshes" "Meshes" True
Break

EndSelect

Select "Choose hood shape & color." "Khettienna's BDBS shape, BDBS black" "Default hood shape, BDBS black" "Shadowy Hood shape, BDBS black" "Khettienna's BDBS shape, default purple" "Default hood shape, default purple" "Shadowy Hood shape, default purple"

Case Khettienna's BDBS shape, BDBS black
CopyDataFolder "Hoods\\BDBS Hood Shape Black\\Meshes" "Meshes" True
Break

Case Default hood shape, BDBS black
CopyDataFolder "Hoods\\Default Hood Shape Black\\Meshes" "Meshes" True
Break

Case Shadowy Hood shape, BDBS black
CopyDataFolder "Hoods\\Shadowy Hoods Black\\Meshes" "Meshes" True
Break

Case Khettienna's BDBS shape, default purple
CopyDataFolder "Hoods\\BDBS Hood Shape Purple\\Meshes" "Meshes" True
Break

Case Default hood shape, default purple
CopyDataFolder "Hoods\\Default Hood Shape Purple\\Meshes" "Meshes" True
Break

Case Shadowy Hood shape, default purple
CopyDataFolder "Hoods\\Shadowy Hoods Purple\\Meshes" "Meshes" True
Break

EndSelect

InstallDataFolder "Meshes" True
InstallDataFolder "Textures" True

Message "Thank you for your patience. Better Dark Brotherhood Sanctuary has been successfully installed. Please report any bugs to Khettienna at TESNexus. Enjoy!"

Those two scripts should provide some good examples and copy/paste material for some of the basic scripting applications. I'm a fair novice myself, still, so don't blame me if your computer blows up or something.

This concludes our omod tutorial. Hope you got your time's worth, and thanks for perusing!

Good luck with your omods! :D

0

Share this post


Link to post
Share on other sites

Fant6astic Khett! :D Thanks so much for posting this!

0

Share this post


Link to post
Share on other sites

That, sir, is terribly inaccurate. I'm just a very fast typist.

0

Share this post


Link to post
Share on other sites

Excellent. I made mine into a omod and its working fine.... Thanks once again kind lady.:rofl:

0

Share this post


Link to post
Share on other sites

I deleted OBMM out of frustration. Now I can't reinstall- Windows says it needs to go in Oblivion's install directory. Help?

0

Share this post


Link to post
Share on other sites

It sounds like possibly you're missing the registry entry that tells Windows (and application installers) where Oblivion is installed.

If you're running a 64-bit version of Windows, save this to a text file with the extension .reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bethesda Softworks\Oblivion]

"Installed Path"="C:\\Games\\Oblivion\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Bethesda Softworks\Oblivion\1.00.0000]

If you're running a 32-bit version of Windows, save this to a text file with the extension .reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Bethesda Softworks\Oblivion]

"Installed Path"="C:\\Games\\Oblivion\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Bethesda Softworks\Oblivion\1.00.0000]

You will have to adjust "Installed Path"="C:\\Games\\Oblivion\\" to reflect your actual install path, of course. When you're done, double-click the .reg file you made. Windows will offer to insert these lines as registry keys, and this will "register" Oblivion as an installed application on your computer just like it should have done when you installed it from the disc.

If this fails, backup your Oblivion folder, your My Documents\My Games\Oblivion folder, and Oblivion's Application Data folder (Your User Folder\AppData\Local\Oblivion for 64-bit, or Your User Folder\Application Data\Oblivion for 32-bit), and re-install. You can then drag and drop those backups right into place after re-installing and be right back where you left off with no harm done.

Hope this helps. :)

0

Share this post


Link to post
Share on other sites

Yep, just make sure you save it in plain text format. :)

0

Share this post


Link to post
Share on other sites

Well, I'm sorry to report that it hasn't been working. :crybaby: I tried reinstalling too.

Good news! I downloaded the "manual installation" version, which works!

Edited by Tigersong
0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0