OBSE Wishes Fulfilled
Revision as of 11:31, 2 August 2007 by imported>Haama (Added Get/SetIsPlayable)
Wishes Fulfilled
The following requested functions have now been implemented in OBSE. Please consult the OBSE documentation to avoid requesting a feature which is already available. Some of the newer functions are not yet documented on the wiki.
Other
- Not so much an actual OBSE function, but a way to use the OBSE with the Oblivion Launcher, instead of having to create two shortcuts.
- Use OCOL
OBSE v0008
- GetArmorType [slot] - the weight of the armor in the slot alone would be a very useful function (one we had in Tribunal), but of course, actually getting the armor there would be even better - DONE!
- Math functions - low priority, because there are ways around this. Still, can be annoying to use workarounds in some situations - DONE!
- Message to Console - it would be so useful for debugging, using messages is annoying and sqv doesn't display all of the information - DONE!
- Console only commands - Allow scripters to use console only commands in the editor. - DONE!
- MoveMouse, a command for simulating mouse-movements. Useful for cinematics and combat moves. - DONE! (and done and done and done)
- GetObjectValue [value] - ability to determine the stats of objects, such as finding out how damaged an armor is or the soul value in a soul gem. - DONE!
- GetIsMajor [skill] - returns 1 if specified skill is a major skill of the calling actor - DONE! (undocumented as of yet)
- Simple, binary operations - Dejaside recommends adding simple, binary operations for determining exactly what the script is running on (IsWeapon, IsContainer, etc etc). - Partially Done! See discussion.
- GetSpell [Spell ID] - Returns 1 if actor has declared spell in their spell book. I know this will not be possible till the spell list is found, but it would be quite useful to have. - DONE! (undocumented as of yet)
- Increased (or removed) script size limit - Partially Done! - The 32k text limit has been removed from the editor. The number of opcodes permitted in a script has not increased.
- GetKeyPress - returns the scancode of currently pressed key. - DONE!
OBSE v0009
- set/modObjectValue - Individual functions for each.
- set/modCurrentValue - Individual functions for each.
- GetActorLightAmount - Returns the level of light shining on an actor.
- SetRefEssential - SetEssential works on base objects. This works on references.
- GetGameLoaded - Returns true when a saved game is loaded.
- Basic looping structures - GoTo and Label allow for looping within a script.
- removeMagicEffect/setMagicEffect - Several functions for manipulating spell effects are now available.
- SetName - sets the base object name on a passed base object or calling reference.
- Looping Functions - DONE!
OBSE v0010
- CopyModelPath, CopyIconPath - Copies the model or icon path from one object to another.
- TCL - disables collision either globally or on a specific reference.
- Bitwise logic functions: AND, OR, NOT, XOR.
- get/setPointOfView - Sets or gets the current point of view (first or third person) and allows the scripter to adjust the position and angle of the third person camera. (IsThirdPerson returns the current perspective, which can be changed by forcing a keypress with TapKey).
- getCreatureType - Returns the type of a creature - Humanoid, Daedra, Undead, etc.
- SendKeyToDialog - simulates pressing keys for the dialog e.g. ESC or any other key. (The new menu input functions allow for this).
- GetSpellMagicSchool spellID - finds what magic school a spell belongs in by finding the highest costing effect in the spell and finding what school that effect belongs to.
- IsScripted - a simple boolean function that returns true if the object has a script attached to it.
- getIsInName/getIsInID string - like GetInCell, allows a partial comparison of names or objectIDs. So if there are two NPCs named "OscarWilde" and "OscarTheGrouch", getIsInName "Oscar" would return true for both.
- Use CompareName
OBSE v0011
- ModName - Works like ModModelPath but on items' names. It would be great to make some naming rules in scripts.
- Also, use ModName to add a prefix and AppendToName to add a suffix.
- modPCSkillProgress skill amount - modifies the player's progress toward advancing the given skill.
OBSE v0012
- SetUnplayable/GetUnplayable [ObjectID] - Sets or gets the unplayable attribute of apparel.
- The function is called Get/SetIsPlayable