Difference between revisions of "Category:Oblivion Script Extender"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Raziel23x
m (Added the Oblivion Script Extender Scripting Questions thread link)
m (Reverted edits by 107.123.5.60 (talk) to last revision by [[User:imported>Shademe|imported>Shademe]])
Tag: Rollback
 
(31 intermediate revisions by 10 users not shown)
Line 3: Line 3:
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Description
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Description
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
Oblivion Script Extender v0012
Oblivion Script Extender v0020
by Ian Patterson and Stephen Abel
by Ian Patterson, Stephen Abel, and Paul Connelly
(ianpatt, behippo, and scruggsywuggsy the ferret)


The Oblivion Script Extender, or OBSE for short, is a modder's resource that expands the scripting capabilities of Oblivion. It doesn't make any modifications to oblivion.exe, TESConstructionSet.exe, or any other files in your oblivion install, so don't worry about permanent side effects. It is compatible with the 1.2.0.416, 1.2.0.214, and 1.1.0.511 Oblivion patches, as well as the 1.0 and 1.2 versions of the Construction Set.
Additional contributions from Timeslip, The J, DragoonWraith, SkyRanger-1, badhair, JRoush, shadeMe and kyoma.


This release is much smaller than the previous two. It introduces:
The Oblivion Script Extender, or OBSE for short, is a modder's resource that expands the scripting capabilities of Oblivion. It doesn't make any modifications to oblivion.exe, TESConstructionSet.exe, or any other files in your oblivion install, so don't worry about permanent side effects. It is compatible with the 1.2.0416 Oblivion patch, as well as the 1.2 version of the Construction Set. Versions of Oblivion downloaded via Steam are supported as well.
#functions to get the race bonus skills and attibutes
#functions to get and set a merchant's container of goods
#some weather and climate functions
#the ability to copy, clone and add scripted effect items as well as change a script effect item's name and what script to use
#the ability to get, remove and set the script on scripted objects


A plugin system has also been added to allow modders to implement functionality that doesn't fit well in to the core OBSE code.Your best bet is to simply try the latest version and see.  See Discussion for more details.
IMPORTANT: Please note that scripts compiled with OBSE v0018 or greater require the user to be running v0018 (or greater), even if no 0018 commands are used.
|-
|-
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | behippo's Comments
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|
"This release does three main things:
1. Breaks out into individual functions all of the GetXXXValue functions available in earlier releases.  The composite versions should be considered obsolete now.
2. Introduces many Set/Mod Value functions for Inventory Items and Magic Items.
3. Introduces beta flow control functions.  Label and Goto (also available as SaveID and RestoreIP) provide basic looping functions.


Finally, numerous bug fixes and other enchancements happened over the 3 month period between the release of v0008 and v0009.
This release also introduces a new HTML command documentation.
"
|-
|-
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Installation
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Installation
Line 35: Line 21:
#Scripts written with these new commands must be written via the TESConstructionSet launched with obse_loader. Open a command prompt window, navigate to your oblivion install folder, and type "obse_loader -editor". The normal editor can open plugins with these extended scripts fine, it just can't recompile them and it will give errors if you try.
#Scripts written with these new commands must be written via the TESConstructionSet launched with obse_loader. Open a command prompt window, navigate to your oblivion install folder, and type "obse_loader -editor". The normal editor can open plugins with these extended scripts fine, it just can't recompile them and it will give errors if you try.


Example Target box for a shortcut to the editor:
To make things easier, it is recommended that you create a shortcut to obse_loader.exe with the argument already supplied, for example:
"C:\Program Files\Bethesda Softworks\Oblivion\obse_loader.exe" -editor
[[Image:OBSE CS Shortcut.png|center]]
 
This would be what the Target box would say if you had a default install of Oblivion.
|-
|-
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Suggestions for Modders
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Suggestions for Modders
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|
If your mod requires OBSE, please provide a link to the main OBSE website, http://obse.silverlock.org/ instead of packaging it with your mod install. Future versions of OBSE will be backwards compatible, so including a potentially old version can cause confusion and/or break other mods that need newer versions. If you're making a large mod with an installer, inclusion of a specific version of OBSE is OK, but please check the file versions of the OBSE files before replacing them, and only replace earlier versions.
If your mod requires OBSE, please provide a link to the main OBSE website, instead of packaging it with your mod install. Future versions of OBSE will be backwards compatible, so including a potentially old version can cause confusion and/or break other mods that need newer versions. If you're making a large mod with an installer, inclusion of a specific version of OBSE is OK, but please check the file versions of the OBSE files before replacing them, and only replace earlier versions.


When your mod loads, use the command GetOBSEVersion to make sure a compatible version of OBSE is installed. In general, make sure you're testing for any version later than the minimum version you support, as each update to OBSE will have a higher version number. Something like:
When your mod loads, use the command GetOBSEVersion to make sure a compatible version of OBSE is installed. In general, make sure you're testing for any version later than the minimum version you support, as each update to OBSE will have a higher version number. Something like:


  if GetOBSEVersion < 5 then
  if GetOBSEVersion < 5
   MessageBox "This mod requires a newer version of OBSE."
   MessageBox "This mod requires a newer version of OBSE."
  endif
  endif
Line 57: Line 41:
  EndIf
  EndIf


If desired, it is possible to make the same .esp file work for both OBSE and non-OBSE users. See the [[Combine your SI and non-SI mods into one (OBSE, Patch v1.1, Other mods too)]] tutorial for more information.
|-
|-
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Troubleshooting / FAQ
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Troubleshooting
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
Oblivion doesn't launch after running obse_loader.exe:
Oblivion doesn't launch after running obse_loader.exe:
 
* Make sure you've copied the OBSE files to your oblivion folder. That folder should also contain oblivion.exe.
- Make sure you've copied the OBSE files to your oblivion folder. That folder should also contain oblivion.exe.
* Check the file obse_loader.log in your oblivion folder for errors.
- Check the file obse_loader.log in your oblivion folder for errors.


obse_loader.log tells me it couldn't find a checksum:
obse_loader.log tells me it couldn't find a checksum:
 
* You may have a version of Oblivion that isn't supported. I have the english official patch v1.2.0.416.  Localized versions with different executables or different patches may not work, but many have been successful. If there's enough legitimate demand for it, I can add support for other versions in the future.
- You may have a version of Oblivion that isn't supported. I have the english official patch v1.2.0.416.  Localized versions with different executables or different patches may not work, but many have been successful. If there's enough legitimate demand for it, I can add support for other versions in the future.
* Your Oblivion install may be corrupt. Hacks or no-cd patches may also change the checksum of the game, making it impossible to detect the installed version.
- Your Oblivion install may be corrupt. Hacks or no-cd patches may also change the checksum of the game, making it impossible to detect the installed version.


The OBSE loader tells me I need to use the autopatcher:
The OBSE loader tells me I need to use the autopatcher:
 
* Go to to OBSE website and download autopatcher, which will walk you through the update process. You will need the latest patch from Bethesda, as well as your original Oblivion DVD.
- Go to to OBSE website (http://obse.silverlock.org) and download autopatcher, which will walk you through the update process. You will need the latest patch from Bethesda, as well as your original Oblivion DVD.


OBSE doesn't launch with the Direct2Drive version:
OBSE doesn't launch with the Direct2Drive version:
 
* The Direct2Drive version of the Oblivion executable is compressed and possibly encrypted. This makes it very difficult to support. Whether or not it is supportable in the future is unknown. Apologies.
- The Direct2Drive version of the Oblivion executable is compressed and possibly encrypted. This makes it very difficult to support. Whether or not it is supportable in the future is unknown. Apologies.
** OBSE does work with the Steam direct-download version, though it requires special installation steps. See the readme. The Direct2Drive limitation only applies to direct downloads from the Direct2Drive service, not Steam.


Crashes or other strange behavior:
Crashes or other strange behavior:
Line 82: Line 64:
- Let me know how you made it crash, and I'll see about fixing it.
- Let me know how you made it crash, and I'll see about fixing it.


Xbox 360 version?


- Impossible.
Running OBSE and Oldblivion at the same time:
- Copy your oldblivion support files in to the Oblivion folder (oldblivion.dll, oldblivion.cfg, shaders.sdp), then run the loader with the -old command argument.
How do I change the script editor font?
- Hold F12 or F12 while opening the script editor. F12 will default to Lucida Console 9pt, and F11 will show a font picker dialog box.
Can I modify and release my own version of OBSE based on the released source code?
- This is highly discouraged. Each command must be assigned a unique and constant opcode from 0x1000-0x7FFF. Bethesda started adding commands at 0x1000, and OBSE started adding at 0x1400. If you add new commands yourself, they may conflict with later releases of OBSE. The suggested method for extending OBSE is to write a plugin. If this does not meet your needs, please email the contact addresses listed below.
How do I write a plugin for OBSE?
- Start with the obse_plugin_example project in the OBSE source distribution. Currently the documentation for the plugin API can be found in the source distribution under obse/obse/PluginAPI.h. Note that due to the opcode allocation issues discussed above, you will need to request an opcode range for your plugin by emailing the contact addresses at the bottom of the readme. Also note that plugins must have their source code available. The OBSE team has spent a very long time developing and documenting the interface to Oblivion's internals, so we request that plugin developers also share their findings with the public. This will also help us make sure that we keep Oblivion as stable as possible even when using third-party plugins.
What is the 'src' folder for?
- The 'src' folder contains the source code for OBSE. Feel free to delete or ignore it if you are not a programmer interested in contributing to the project.
|-
|-
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Contact
!style="background:#ffdead;border-bottom:1px solid;"  width="100"  | Contact
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
Send email to ianpatt+obse [at] gmail [dot] com. (yes, keep the + symbol, it helps sort email)
* Send email to team [at] obse [dot] silverlock [dot] org
Send email to behippo at gamer [at] silverlock [dot] org.
|-
|-
!style="background:#ffdead;border-bottom:1px solid;" | Home Page
!style="background:#ffdead;border-bottom:1px solid;" | Home Page
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
[http://obse.silverlock.org/ Silverlock]
[http://obse.silverlock.org/]
|-
|-
!style="background:#ffdead;border-bottom:1px solid;" | Discussion
!style="background:#ffdead;border-bottom:1px solid;" | Discussion
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
[http://www.bethsoft.com/bgsforums/index.php?showtopic=737790 Release thread on The Elder Scrolls Forums]
[http://forums.bethsoft.com/index.php?/topic/1184481-relz-oblivion-script-extender-obse-0020/ Release thread on The Elder Scrolls Forums]
 
[http://www.bethsoft.com/bgsforums/index.php?showtopic=738400 Oblivion Script Extender Scripting Questions]
 
|-
|-
!style="background:#ffdead;border-bottom:1px solid;" | Direct Download (Silverlock)
!style="background:#ffdead;border-bottom:1px solid;" | Direct Download (Silverlock)
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
|style="background:#ffeded;border-bottom:1px solid;" colspan="2"|  
[http://obse.silverlock.org/download/obse_0012.zip Click here to download]
[http://obse.silverlock.org/download/obse_0020.zip Click here to download]
|}
|}



Latest revision as of 08:58, 20 October 2023

Description

Oblivion Script Extender v0020 by Ian Patterson, Stephen Abel, and Paul Connelly (ianpatt, behippo, and scruggsywuggsy the ferret)

Additional contributions from Timeslip, The J, DragoonWraith, SkyRanger-1, badhair, JRoush, shadeMe and kyoma.

The Oblivion Script Extender, or OBSE for short, is a modder's resource that expands the scripting capabilities of Oblivion. It doesn't make any modifications to oblivion.exe, TESConstructionSet.exe, or any other files in your oblivion install, so don't worry about permanent side effects. It is compatible with the 1.2.0416 Oblivion patch, as well as the 1.2 version of the Construction Set. Versions of Oblivion downloaded via Steam are supported as well.

IMPORTANT: Please note that scripts compiled with OBSE v0018 or greater require the user to be running v0018 (or greater), even if no 0018 commands are used.

Installation
  1. Copy obse_1_1.dll, obse_1_2.dll, obse_1_2_416.dll, obse_editor_1_0.dll, obse_editor_1_2.dll, and obse_loader.exe to your Oblivion directory.
  2. Run oblivion by running obse_loader.exe from the Oblivion directory.
  3. Scripts written with these new commands must be written via the TESConstructionSet launched with obse_loader. Open a command prompt window, navigate to your oblivion install folder, and type "obse_loader -editor". The normal editor can open plugins with these extended scripts fine, it just can't recompile them and it will give errors if you try.

To make things easier, it is recommended that you create a shortcut to obse_loader.exe with the argument already supplied, for example:

OBSE CS Shortcut.png
Suggestions for Modders

If your mod requires OBSE, please provide a link to the main OBSE website, instead of packaging it with your mod install. Future versions of OBSE will be backwards compatible, so including a potentially old version can cause confusion and/or break other mods that need newer versions. If you're making a large mod with an installer, inclusion of a specific version of OBSE is OK, but please check the file versions of the OBSE files before replacing them, and only replace earlier versions.

When your mod loads, use the command GetOBSEVersion to make sure a compatible version of OBSE is installed. In general, make sure you're testing for any version later than the minimum version you support, as each update to OBSE will have a higher version number. Something like:

if GetOBSEVersion < 5
  MessageBox "This mod requires a newer version of OBSE."
endif

Another alternative that is even more user-friendly is releasing your mod as an OMOD, and adding a script to check the version when installing the mod:

IfNot ScriptExtenderNewerThan #.#.#.#
  Message "Requires Oblivion Script Extender v#### or greater"
  FatalError
EndIf

If desired, it is possible to make the same .esp file work for both OBSE and non-OBSE users. See the Combine your SI and non-SI mods into one (OBSE, Patch v1.1, Other mods too) tutorial for more information.

Troubleshooting

Oblivion doesn't launch after running obse_loader.exe:

  • Make sure you've copied the OBSE files to your oblivion folder. That folder should also contain oblivion.exe.
  • Check the file obse_loader.log in your oblivion folder for errors.

obse_loader.log tells me it couldn't find a checksum:

  • You may have a version of Oblivion that isn't supported. I have the english official patch v1.2.0.416. Localized versions with different executables or different patches may not work, but many have been successful. If there's enough legitimate demand for it, I can add support for other versions in the future.
  • Your Oblivion install may be corrupt. Hacks or no-cd patches may also change the checksum of the game, making it impossible to detect the installed version.

The OBSE loader tells me I need to use the autopatcher:

  • Go to to OBSE website and download autopatcher, which will walk you through the update process. You will need the latest patch from Bethesda, as well as your original Oblivion DVD.

OBSE doesn't launch with the Direct2Drive version:

  • The Direct2Drive version of the Oblivion executable is compressed and possibly encrypted. This makes it very difficult to support. Whether or not it is supportable in the future is unknown. Apologies.
    • OBSE does work with the Steam direct-download version, though it requires special installation steps. See the readme. The Direct2Drive limitation only applies to direct downloads from the Direct2Drive service, not Steam.

Crashes or other strange behavior:

- Let me know how you made it crash, and I'll see about fixing it.


Contact
  • Send email to team [at] obse [dot] silverlock [dot] org
Home Page

[1]

Discussion

Release thread on The Elder Scrolls Forums

Direct Download (Silverlock)

Click here to download

Subcategories

This category has the following 14 subcategories, out of 14 total.

0

O

Pages in category "Oblivion Script Extender"

The following 6 pages are in this category, out of 6 total.