You are on page 1of 12

0020 beta 5

-New events: OnHealthDamage, OnCreateSpell, OnEnchant, OnAttack, OnRelease, OnBo
wAttack, OnBlock, OnDodge, OnStagger, OnRecoil
-OnActorEquip event now triggered by actors equipping items due to changes in th
eir AI
-SetVerticalVelocity now operates in game units instead of centimeters
-Internal changes to handling of parallel script execution
0020 beta 4:
-(Set)IsHidden/Automatic/MinimalUseDoor, SetIsOblivionGate
-OnEatIngredient, OnNewGame events
-Update active effect commands to work on non-actor magic targets (doors, furnit
ure, 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 ev
-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:
-GetRaceVoice now returns "this" race if no voice race is defined
-SetCellWaterHeight now works with cells that aren't defined in editor as having
-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 a
ny command
-IsNthActiveEffectApplied, GetNthEffectItem

IsInOblivion -(Set)CanFastTravelFromWorld -GetBoundingRadius. Get/SetTimeLeft -SetCreatureSkill -SetInputText.-SetCellBehavesAsExterior. SetTextInputControlHandler. SetCellHasWater -IsCellPublic. SetCellIsPublic -IsOblivionInterior/World. GetEditorSize -GetTerrainHeight -ResolveModIndex -SetPos_T. SetTextInputDefaultControlsDisabled 0019b: -Fix changes made to inventory references not being saved if the item previously had no associated extra data -Fix a potential issue with string variables -Prevent infinite loop in RemoveEventHandler if more than one script registered for a particular event type -Partially fix an issue with Quest Log Manager mod generating array access error s 0019a: -Fixes an issue with stolen items in inventory 0019: -GetAllModLocalData -Optional flag to RunScriptLine and RunBatchScript allows suppression of console output during script execution -Suppress editor warning about unquoted string when using the '->' operator -Add 'type' field to array returned by GetPackageData -GetBaseAVForActor now works for all actor values defined on base actors -Fix GetCellChanged command not reliably reporting cell transitions -Fix editor CTD associated with a buffer overrun bug present in the unmodified C onstruction Set -GetFirst/NextRef now support extremely large worldspaces -Prevent OnHitWith events from being reported to event handler scripts twice per event -Fix issues with GetBarterItem -GetPackageData now includes a 'Type' field indicating the package type -Various miscellaneous tweaks and bug fixes 0019 beta 4: -GetWeatherOverride -GetPackageType -RemoveModLocalData -ClearActiveQuest -GetCurrentEventName -Get/SetLightRGB -GetTransactionInfo -PrintActiveTileInfo -MagicEffectCodeFromChars -Fix potential vanilla buffer overrun when parsing commands entered at console ( so-called '73-byte bug') -Add OnActivate event handler support -Event handlers can now be used with non-actor references -Add PostLoadGame event handler -GetActiveMenuSelection correctly recognizes and returns scrolls in magic menu -GetInputText takes an optional argument to strip HTML from the returned string . SetOwnership_T. ClearOwnership_T -GetRequiredSkillExp -HasEffectShader -Get/SetLightDuration.

fixes and tweaks 0019 beta 2: -RemoveEventHandler -GetBookLength -Get/Set/ModGoldValue now return correct values for alchemy items -ar_Map and ar_List now accept up to 20 elements -Fix potential crash when passing strings to script commands -Fix issue with token/activator scripts which could cause Super Hotkeys to stop functioning 0019 beta 1: -Inventory reference-walking functionality -GetMagicEffectChars(C) -Getters/Setters for spell flags -Get/SetActiveQuest -GetCurrent/CompletedQuests -Commands for getting and setting location/target/schedule data for AI packages -ar_Map. -> -Updates to plugin API -New. GetRaceDefaultHair -GetInvRefsForItem -Update plugin API to allow calling user-defined function scripts from plugin co de -Allow plugins to accept array variables by ID as command arguments -Expand plugin array variable interface -Fix incorrect number of parameters for SetPCAttributeBonusC -Fix potential crash when saving after iterating over inventory references -GetFirst/NextRef now ignore partially-loaded references -Fix issue with ToggleSpecialAnim -Misc.-Make game preserve ownership data on inventory references -Inventory references now correctly handle large quantities of items in a single stack -Fix potential CTD in AddToLeveledList if called with an invalid list -Updates to serialization of array/string variables -Fix potential CTD if GetBarterItem called while a transaction is in progress -SetClassSkills2 now works as advertised 0019 beta 3: -GetClassMenuSelected/HighlightedClass -GetEnchMenuBaseItem -IsQuestCompleted. ar_Append -Get/SetTexturePath -Get/Set/ModSigilStoneUses -SetDescription -SetCreatureSoundBase -GetBoundingBox -Update3D -Commands for getting information about the most recent barter transaction -Commands for getting information about the quantity menu -IsEquipped -Get/SetPCAttributeBonusC -RemoveMeIR. unary&. more readable command documentation format (courtesy of TheMagician) -Allow use of SetModelPath with creatures and NPCs . ::. CopyIR -CreateTempRef -GetCellChanged -SetClassSkills2 -Commands for getting information about the most recent Sigil Stone enchantment -New operators: unary*. UncompleteQuest -GetRaceHairs/Eyes.

GlobalVariableExists -StringToActorValue -Fix MapMarker bugs from b3 -Fix GetEquipmentSlot and GetequippedObject with the Torch/Light slot -Fixes for OutputLocalMapPicturesOverride -Fixes for Set/ModEquippedCurrentHealth -Fix for errant problems with array access -Fix for various expression parsing errors 0018 beta 3: -GetWaterShader -SetOLMPGrids. GetGridsToLoad. GetCombatSpells -Update plugin array variable API -Fix token script errors caused by multi-threaded background loading of cells -Upgrade GetFormFromMod to look up dynamic forms -Add unary * operator for dereferencing a foreach iterator array -Miscellaneous tweaks and bug-fixes 0018 beta 5: -Fix potential errors in token scripts when loading a saved game 0018 beta 4: -GetRaceScale.-Allow user-defined functions to be called from within array elements -IsOffLimits uses player by default if argument omitted -Move SetScript out of beta status -SetEventHandler -Linear Algebra functions -Commands for manipulating actor value modifiers -Miscellaneous bug fixes and tweaks 0018: -EquipItem2. GetNthAEBoundItem -Fix crash when attempting to pass a string variable using '$' prefix -Fix an off-by-one error in y-coordinate of cells scanned by GetFirst/NextRef -HasName returns false if a potentially named object has no name -Update plugin messaging API -Fix potential crash in PrintTileInfo -Miscellaneous tweaks and bug fixes 0018 beta 6: -CalcLevItems -ar_Range -GetRaceWeight -IsOblivionGate -GetMouseButtonsSwapped -GetCellBehavesAsExterior -GetAllies. GetNthAESummonRef. con_OutputLocalMa pPictures -GetRaceReaction -GetBaseAVC alias for GetBaseActorValueCode -SetCurrentHealth -TriggerPlayerSkilluse/C -ModPlayerSkillExp/C . GetTargets. GetCurrentEditorPackage -GetWorldspaceParentWorldSpace -QuestExists. OutputLocalMapPicturesOverride. GetSelectedSpells. -GetCurrentPackage. EquipItem2NS -GetTeleportCellName -EquipMe -sv_Percentify -GetNthAEEnchantObject.

-= for numbers. and optimizations . true if succ essful -Fix literal integrals used as command arguments in range 0-255 being treated as negative at run-time 0018 beta 2: -Add operators *=. /=. and list creation functions -Get/SetGameDifficulty -Set/ModCurrentCharge -Door teleport functions -Cell reset functions -GetTelekinesisRef -GetActorPackages -AI package functions -combat style flag functions -various miscellaneous functions. insertion. bug-fixes. -Fix crash compiling function scripts taking more than the maximum 10 arguments -GetDoorTeleportRot returns z-rotation instead of x-rotation -SetDoorTeleport correctly sets rotation -Fix crash with some combat style functions -import modwatershader console command as con_modwatershader -miscellaneous internal bug fixes and tweaks 0018 beta 1: -User-defined functions -Class functions -GetUserTime -GetCreatureModelPaths -Get/SetSkillGoverningAttribute -Get/SetPlayerBirthsign -GetActorAlpha -GetMapMenuMarkerName/Ref -ToNumber -GetActiveEffectCodes/Casters -GetCurrentRegions -SetPackageTarget -GetBaseAV2 -GetSpecialAnims -ToggleSpecialAnims -GetLeveledSpells -GetDescription -sv_Split -Array resizing.this helps allev iate a bug in the default compiler. ar_Size. and ar_Erase -SetName/Ex update map menu immediately when changing the name of a mapmarker -Fix crash when comparing empty strings -RunScriptLine and RunBatchScript now return false if errors occur.-Get/SetPlayerSkillAdvances/C -Operators: * defined for strings. but does mean that scripts using the obse ex pression handler and compiled in v0018 beta 2 must be run in v0018 beta 2 or lat er. and ^= -Operators == and != support array comparisons -Fix GetNthEIScript return type -Improve script error reporting -Fix crash with GetTeleportCell -Reduce compiled size of integral operands in script bytecode . unary # shortcut for ToNumber -Enable support for select OBSE commands in quest/dialog conditions (currently o nly GetPCTrainingSessionsUsed and IsAmmo supported) -Fix SetBookSkillTaught -Make Get/Set/ModEquippedXXX commands work with multi-slot apparel -Fix inconsistent behavior with ar_Insert.

0017b: -Support for the Steam version of Oblivion. users please contact the authors of your mods for updated files. d ue to the introduction of reference-counting for arrays. SetCanUsePower -GetUsedPowers. resulting in multiple ref erences to the same array. we will maintain backward compatibility with the stable version. All scripts based on beta 1 need to be recompile d in the editor in order to function properly. Please note that backward compatibility is not guaranteed for beta releases of OBSE. [Changes] -Fix assignment of forms to array elements in OBSE expressions -GetClass takes an optional base NPC as an argument -'%q'. SetPowerTimer -Plugin API dispatches messages to registered plugins containing savegame name i mmediately before save/load serialization events -Fix bug in which nested arrays could become invalid when reloading a svegame -Compiler errors include line numbers -ar_Last no longer crashes if array contains only one element -obse_loader properly handles when large address aware flag is set on oblivion. Huge thanks to jmccaskey at Valve fo r his assistance in getting this set up. ar_Copy. then your users will need to revert to a clean savega me. If your scripts make use of the now-deprecated assignment-by-reference operator '=>'. OBSE destroys arrays when they are no lon ger referenced.e xe 0017 beta 2: [** Upgrade Information **] Several changes occurred between beta 1 and beta 2 which require attention for users of mods based on beta 1. Additionally. Once 0017 is officially released. Modders please update your mods. 0017a: -Fix compiler occasionally freezing when attempting to save a script -Make local variables take precedence over objectIDs in cases of name collision -Fix crash with GetEquippedItems after unequipping slotless items -IsModelPathValid now works with non-simple models like NPC and Hair -Remove delay between calling InsertInInputText and seeing the displayed text up dated -Empty strings are no longer displayed as "NULL" with the %z format specifier. so scripts are no longer responsible for memory management -PrintTileInfo no longer crashes the game -Compiled bytecode for OBSE expressions is more concise -GetButtonPressed works correctly for text input messageboxes generated from scr ipts attached to temporary references -Added QuitGame/QuitToMainMenu messages to Plugin messaging API -Compiler enforces correct loop structures -Added '$' operator as shorthand for ToString command -Alternate syntax for sv_Destruct accepts multiple string variables as arguments -ar_Null. vanill a or otherwise -Ref-walking functions work correctly -Array assignment is now by reference. i nstead nothing is displayed 0017: -CanUsePower. '%r'. ar_DeepCopy . modders should be aware that arrays created and saved using beta 1 are compatible with beta 2 provided that exactly ONE reference to each array exists. and '%e' are supported in string arguments to all functions.

GetFormIDString.UpdateTextInput restores previous buttons if input box is closed and reopened .SetPCMajorSkillUps modifies player's ability to level up if it puts him above or below the levelup threshold .%n specifier prints names of exterior cells . ar_BadNumericIndex -NumToHex. ar_Next. ar_HasKey -ar_BadStringIndex.New string variable datatype and associated commands .Miscellaneous bug fixes and tweaks 0016 beta 2: Bug fixes: .Restrict SetBaseForm to non-actors Enhancements/Additions: -GetLastCreatedPotion.sv_Set .Fix display issues with text input commands .Remove DeleteReference command until support for Oblivion v1.IsControl.GetMenuHasTrait .Updated plugin API .1 becomes possib le .IsConsoleOpen .sv_Replace now works correctly .Get/SetStringIniSetting .Get/SetPCTrainingSessionsUsed .Ability to specify button ID rather than name for ClickMenuButton .-ar_First.MoveTextInputCursor .Alternative to pipe character for string parameters to commands called from t he console .SetChanceNone .Crash when calling GetCursorPos during gamemode while playing in full-screen mode . GetLastUniqueCreatedPotion .Add optional RunOnRef param to RunScriptLine and RunBatchScript 0016 beta 1: . GetKeyName. SetIsControl .GetBookText .Plugin API for string variables . ar_Last. ar_Prev -ar_Keys.MenuTapKey now works correctly .DeleteFromInputText . AsciiToChar -DeleteReference -ActorValueToStringC -IsOblivionGate 0017 beta 1: -Array variables -ForEach and While loops -New expression syntax -Effect setting functions -Combat style functions -Activate2 -GetCurrentRegion -Functions to detect if keys or controls have been disabled via script -GetEquippedItems -IsRefDeleted -Various bug-fixes and miscellaneous functions 0016: .Allow default text for book text input .

Text input capabilities . deprecating Ge tAltControl .Engine fixes for leveled list saving/loading .Projectile functions .ToggleCreatureModel .Functions returning information about the active mod list . IsInAir. Mapmarker commands .Functions to iterate over an actor's AI packages .Plugin serialization API .Detection state functions .GetGodMode .Fix error reporting bug in the CS .Fix crash when passing a value of zero to %k format specifier .Plugin manager now offers some protection against misbehaving plugins 0015: .Sound functions for objects and creatures . NOTE: The order of parameters has changed.Fix crash in various formatted string functions 0015 beta 2: .Functions returning information about an NPC's hair and eyes . Spell effectiveness modifier commands . .Fix plugins not receiving a load callback if they have written no data . add GetAltControl2.GetAlchmenuIngredient/Count/Apparatus ..Versions of functions such as AddItem which don't generate UI messages when ca lled on the player .Fix non-functional commands IsOnGround.SetNameEx now operates on references as well as base objects.CompareScripts .Functions to return information about an actor's Havok state .Hotkey functions .Animation-related functions for actors .Functions to test the validity of reference variables .Functions to get and set services offered by NPCs including training . Rudimentary script error logging .Replace LL rand() calls with mersenne twister 0015 beta 1: .SetMessageSound/Icon .Add manifest to obse_loader to request UAC elevation on Vista . and IsJumping .GetFullGoldValue .Update GetMagicProjectileSpell to return staff enchantment for projectiles fir ed from a staff . UI manipulation commands .Functions to access variables in external scripts by name .Fix kParamType_InventoryObject extraction in ExtractArgsEx . Various other miscellaneous commands 0015a: .Restore previous behavior of GetAltControl.Fix crash when biped model path functions called on an object for which the sp ecified model is not defined . Projectile commands .Fix incorrect return value for GetPluginVersion when specified plugin is not i nstalled . Debug mode output for scripts .Add -waitforclose loader option to help programs that watch for process termin ation .Fix bugs in Enable/DisableControl .

Is/SetHarvested. All OBSE functions now accept float. HasModel.. Actor and Creature misc functions.linked and teleport door functions . global coll ision setting functions. more console commands.Fix bug with MessageBoxEx and GetButtonPressed . Input functions are now synced with Oblivion control bindings . IsPersistent. long. GetHorse/GetRide easier-to-use input functions . some climate and weather functions.plugin querying API . Functions to determine if a file path is valid .%p. GetNumRanks . SetAutoCalc 0012: Official plugin support.leveled list functions . reach and soul level . Ref walking functions 0013: .fix Set/GetAttackDamage for creatures . GetNextRef. GetNumRefs . 0013a: bug fixes for GetOpenKey.IsOffLimits ignores evil factions 0014: Message extension functions. GetSpellMagickaCost. IsModLoaded. ModName and AppendName and sever . Functions to return information about the player's level-up progress 0014b: .improve speed of inventory walking via higher-level data structures . RunBatchScript. R emoveScript.get/set travel horse and open key . SetPCAMurderer . %{} specifiers for output functions. Race spell functions.get/set container respawns . and short variables defined in extern al scripts as arguments. NPC.get creature base scale. increase max string length . SetScript 0011: Skill experience functions. Get/Mod/SetActorValueC. HasName. GetCreatureSoundBase.internal visitor class framework . IsOffLimits. IsAutoCalc.Fix SetEnchantment to work on arrows .bugfixes for GetEnchantmentCost. Facti on magic effect manipulation and querying functions . Get/SetSpellExplodesWithNoTarget.con_LoadGame. manipulation functions . GetRace.fix Set/GetEquippedWeaponPoison from stopping the script . Fix crash when adding a ScriptEffect with no name.cell water level functions . %q. Fix crash when quest scripts call ref-walking functions during Main Menu. enable effect item functions for ScriptEffects. Get/SetSpellHostile .RefreshControlMap . race attribute and skill functions.Fix plugin command overwrite bug 0014a: . GetScript.set/copy hair and eyes . HasBeenPickedUp. ActorValue extentions for A ctiveEffect and HasEffect functions. add SetNt hEIScript and SetNthEIScriptName. SetNthEIXXX. Leveled list functions .climate manipulation functions . Flag for ref-walking functions to include inactive references. Tweaks to GetSpellMagickaCost to include Luck and skill caps.GetFirstRef. AddFullEffectItem.ownership functions . fix bug when displaying names con taining literal percent signs.

0. version of Oblivion in obse.log version of OBSE. more console defect fixes .2.0. CopyNthEffectItem and RemoveNthEffectItem no longer need a cloned form as a target . IsContainer and IsSoulGem no longer require the passed object ID .214 . regardless of the form's declar ation as a left or right ring slot. fixes flow control functions and a potential SetModel cra sh 0009: Individual GetValue functions. GetMag icEffectValue.change resource version number to 0.calculate fps via average frametime (calculated via GetTickCount) over 20 fram es . but with OBSE installed it will wrap from 0xFFFFFFFF to 0xFF00 0000 properly) .10. .1.fix bug where equipment functions didn't manage rings correctly.log . MagicItemHasEffectCo de.fix bug looping over magic effects . edit .adds 114 functions: 70 provide completely new functionality . Food. Beta Flow Control f unctions.replace local magic effect list with access to oblivion's internal list . GetMouseButtonPress. con_QuitGame and con_TGM 0010: Magic effect. new HTML command documentation . The ring slot s now return whatever ring is worn on that side. GetMagicItemValue. .2.Adds con_SaveINI.214 (note that the number wi ll keep going up.fix bug in GetMIV Poison to accurately return if the object is poison or not 0008: GetEquippedObjectValue.511 and 1.update game setting/ini file functions to work with unsigned and boolean types .actually seed the random number generator (doh) .0.fix bug with signed mouse movement . Set/ModValue functions.fix internal access to form list for 1.IsArmor.include NSIS script for modders that want an installer 0009e: Compatibility with patch 1. menu i nput functions.416 0009d: Compatibility with CS 1. allow passing arguments that are not considered 'inventory items' .fixes GetBaseObject .2.fix some potential thread-safety issues . Poison. model path manipulation.added Enchantment value to the Object Value functions to return a ref to any e nchantment on an object .404 0009c: Compatibility with CS 1. GetNumMouseButtonsPressed.1 to allow for more precision when re leasing intermediate versions without ticking the major version number .patch the RefID wraparound bug in 1.CopyAllEffectItems. GetEquippedCurrentValue.fix fake mouse keycode 0007: GetOV Values: QuestItem. useful for menus or other text input . unofficial oldblivion support. GetMagicEffectCodeValue.2 0009b: Compatibility with patch 1. math functions . book. IsBook.2.2 0009a: Bugfix release. MagicItemHasEffect.buffered input functions.fix Is* functions.

Item type functions. .fix bug with GetOV ArmorType . update rand function to use mersenne twister . more virtual functions documented . Considered an alpha release candidate. GetOBSEVersion. determining how inventory items are stored along wit h their extra data Implemented GetEquipmentSlotType. form access (no data yet) . HasSpell. a few game objects also .get equipment command 0002: first useful commands Implemented GetNumItems. math functions. several math func tions. added Utilities file with analysis utils 0003: GetEquipmentSlotType. ModA ctorValue2 . . add DirectInput hooking functions. many form structures defined . extra data types . more form structures. all RTTI structures . Alpha release version. add font picker di alog 0006: Item Value functions.more form structures and class decoding . Fixed floating point return types for all func tions. Get/SetActiveSpell. . Class functions.fix bug with GetEquippedObject not returning an object that is damaged where a nother non-damaged object is the the inventory. GetInventoryType and IsKeyPressed. minor code reorg .fix script result type . compiles under VS Express . Get/SetActiveSpell. dynamic_cast support . variable name cleanup .pad opcodes out to 1400 .integrate changes from Timeslip . console commands . disallow modification of ESC and ` keys 0004: PrintToConsole.reimplement editor font changing code so it works on win2k. DirectInput. add many new CRCs . 0005: fixing math functions. alpha r elease Implemented PrintToConsole. add timeslip's math fns. GetParentCell. OK to use in released mods. extra data list access . GetParentCell.fix bug with IngredientItem decoding affecting GetOV weight and value . improve dll loader sync for editor . converted to VS2005 .or font changes . container access . class hiearchy . rename old fns . testing dynamic form creation .

.input commands .inventory commands 0001: first release Simple proof of concept demo..