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. As of v0017, OBSE requires the 1.2.0.416 version of Oblivion.
http://obse.silverlock.org/download/obse_0020.zip - current stable version, recommended for general use
http://obse.silverlock.org/
http://obse.silverlock.org/obse_command_doc.html - newly reformatted documentation
0020 is now available for general use. Many thanks to our dedicated, creative, extremely patient beta testers.
What's new:
0020:
-ToggleSkillPerk
-Fix compiler override using localized actor value strings
-Fix IsNthEffectItemScriptHostile returning inconsistent values
-Prevent equipping an item from generating multiple OnActorEquip events
-Prevent power-attacking generating multiple OnAttack events
-Fix GetActiveSpell returning zero if the player has not switched from the default starting spell
0020 beta 6:
-GetCellNorthRotation
-SetRaceWeight/Scale
-SetGoldValue_T
-GetActorBaseLevel
-SetDoorTeleport now accepts an optional argument specifying the change should not be recorded in the savegame
-OnCreatePotion event
-Fix issues with input functions arising from conflicts between mods using GetKeyPress and Enable/DisableControl.
-Fix IsDigit always returning true regardless of character type
-Fix misnamed OnPlayerDrop event to OnActorDrop
-Prevent GetDescription using cached value of skill perk text.
-Make SetInputText accept extremely long strings
-Make compiler override accept string_var as argument for old sv_* commands
-Fix OnSkillUp event
0020 beta 5:
-Get/SetLocalGravity
-Get/SetVelocity
-GetVerticalVelocity
-New events: OnHealthDamage, OnCreateSpell, OnEnchant, OnAttack, OnRelease, OnBowAttack, OnBlock, OnDodge, OnStagger, OnRecoil
-OnActorEquip event now triggered by actors equipping items due to changes in their AI
-OnHealthDamage event can now be filtered by the damaged actor
-SetVerticalVelocity now operates in game units instead of centimeters
-Internal changes to handling of parallel script execution
0020 beta 4:
-Get/SetCellWaterType
-GetEquippedTorchTimeLeft
-(Set)IsHidden/Automatic/MinimalUseDoor, SetIsOblivionGate
-OnEatIngredient, OnNewGame events
-Update active effect commands to work on non-actor magic targets (doors, furniture, etc)
-ar_Erase erases all elements if second argument omitted
-GetGameLoaded now returns true when the player starts a new game
0020 beta 3:
-OnDrinkPotion, OnActorDrop, OnSpell/ScrollCast, OnFallImpact, OnMapMarkerAdd events
-SetVerticalVelocity
-GetHigh/MiddleHighActors
-GetCurrentPackageProcedure
-Get/SetSkillSpecialization
-GetEditorID optionally does not return formID if no string editorID exists
-%B, %b format specifiers for colored text in console
-Fix compiler override not being deactivated at end of script block
-Fix crash in GetRaceHairs/Eyes if race has no hairs/eyes defined
-Fix OnHitWith event being reported multiple times per event if weapon enchanted
0020 beta 2:
-Set/ClearPlayersLastRiddenHorse
-GetNthActiveEffectActorValue
-Equip/UnequipItemSilent
-GetCurrent/CallingScript
-GetRaceVoice now returns "this" race if no voice race is defined
-SetCellWaterHeight now works with cells that aren't defined in editor as having water
-Make "stringVar[-x]" work as expected
-Make foreach/while loops thread-safe
-Fix issue with IsKeyPressed2 introduced in 0020 beta
0020 beta:
-Compiler override for passing OBSE expressions and data types as arguments to any command
-Get/SetCellLighting
-IsNthActiveEffectApplied, GetNthEffectItem
-GetMapMarkers
-PlayIdle
-ar_CustomSort
-GetPathNodesInRadius/Rect
-Is/SetPathNodeDisabled
-GetPathNodePos
-PathEdgeExists
-GetPathNodeLinkedRef
-Get/SetCellClimate
-SetCellBehavesAsixterior, SetCellHasWater
-IsCellPublic, SetCellIsPublic
-IsOblivionInterior/World, IsInOblivion
-(Set)CanFastTravelFromWorld
-GetBoundingRadius, GetEditorSize
-GetTerrainHeight
-ResolveModIndex
-SetPos_T, SetOwnership_T, ClearOwnership_T
-GetRequiredSkillExp
-HasEffectShader
-Get/SetLightDuration, Get/SetTimeLeft
-SetCreatureSkill
-SetInputText, SetTextInputControlHandler, SetTextInputDefaultControlsDisabled
Readme (abbreviated):
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.0.416 Oblivion patch, as well as the 1.2 version of the Construction Set. Versions of Oblivion downloaded via Steam are supported as well.
[ Installation ]
If you are using a retail (non-Steam) version of the game:
1. Copy obse_1_2_416.dll, obse_editor_1_2.dll, and obse_loader.exe to your Oblivion directory. This is usually in your Program Files folder, and should contain files called "Oblivion.exe" and "OblivionLauncher.exe".
2. Run oblivion by running obse_loader.exe from the Oblivion directory.
If you use a desktop shortcut to launch Oblivion normally, just update the shortcut to point to obse_loader.exe instead of oblivion.exe.
If you are using the Steam version of the game:
1. Copy obse_1_2_416.dll, obse_editor_1_2.dll, and obse_steam_loader.dll to your Oblivion directory. This is usually "C:\Program Files\Valve\Steam\SteamApps\common\oblivion".
2. OBSE will automatically be run along with Oblivion when launched. To disable this, rename or move obse_steam_loader.dll. You do not need to use obse_loader.exe unless you are running the editor.
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 will give errors if you try.
For mod developers:
- http://home.comcast.net/~scruggsyW/obse/ScriptViewer.zip - View offsets into compiled scripts to help debug errors reported by OBSE at run-time