Difference between revisions of "OBSE Wish List"

2,778 bytes added ,  12:13, 17 January 2012
m
removing my request for now
imported>Jorne
imported>8asrun6aer
m (removing my request for now)
 
(36 intermediate revisions by 16 users not shown)
Line 19: Line 19:
*'''PlayMagicShaderWeapon''' - Similar to the standard "PlayMagicShaderVisuals", but plays a magic shader only on an actor's equipped weapon; Not the body, not the scabbard, just the weapon.  Like an enchantment shader.  Could be abbreviated to "pmsw", much like how the template can be shortened to "pms".  May require a contingency for when the equipped weapon are unarmed/fists (IE: nothing happens).
*'''PlayMagicShaderWeapon''' - Similar to the standard "PlayMagicShaderVisuals", but plays a magic shader only on an actor's equipped weapon; Not the body, not the scabbard, just the weapon.  Like an enchantment shader.  Could be abbreviated to "pmsw", much like how the template can be shortened to "pms".  May require a contingency for when the equipped weapon are unarmed/fists (IE: nothing happens).
*'''StopMagicShaderWeapon''' - The counterpart to the above command, it acts like "StopMagicShaderVisuals".  Like its template, and like the counterpart requested function, it could be shortened to "smsw" for convenience.
*'''StopMagicShaderWeapon''' - The counterpart to the above command, it acts like "StopMagicShaderVisuals".  Like its template, and like the counterpart requested function, it could be shortened to "smsw" for convenience.
*'''PlayMagicShaderArmor''' - As above, but with specific pieces of armor. Perhaps could have a flag for scabbard. Could be abbreviated pmsa. would be used instead of above for unarmed fists.
*'''StopMagicShaderArmor''' - The counterpart to the above command. it would act like "StopMagicShaderVisuals". Could also be shorted to "smsa" as well.


*'''castNoAnim''' - When called on an actor, the actor casts the spell without playing the casting animation.
*'''castNoAnim''' - When called on an actor, the actor casts the spell without playing the casting animation.


*'''castut''' - when called, the actor casts a spell in the direction he/she is facing without needing a target.
*'''castut''' - when called, the actor casts a spell in the direction he/she is facing without needing a target.
*'''[ref].On[blocktype] [ObjectID]''' Would be used as a block type in quest scripts which would run as if the block type is used in the reference or object's script.
*'''DeleteClonedForm''' - Delete the reference and base object of a cloned form like DeleteFullActorCopy
*'''DeleteClonedForm''' - Delete the reference and base object of a cloned form like DeleteFullActorCopy
*'''SetObjectAlpha''' - Just like SetActorAlpha except works on any object, not just actors.
*'''SetObjectAlpha''' - Just like SetActorAlpha except works on any object, not just actors.
*'''EquipItem2''' - Just like EquipItem except runs the item's OnEquip block.
**If it's your own item, you can use an onUnEquip block for this one. Unequipping an item, and then requipping it in the next line, will still run the item's onUnEquip block. Since the onUnEquip block will run after the calling script (the one that did the UnEquipItem and EquipItem), you can use a [[GetEquipped]] check, in the onUnEquip block, to make sure the item is equipped.
**Using OnUnequip blocks is a good idea. However, if it's not allowed to modify the script on the item I want to equip, I cannot use OnUnequip blocks. I think it'd be a great help for some mods like scruggs' "Expanded Hotkeys and Spell Delete".--Isatin 16:30, 12 November 2007 (EST)
*'''DuplicateAllItems2''' - Same as DuplicateAllItems, but doesn't create a new ID/cloneformed item for each scripted item that's duplicated
*'''EnablePlayerControls2/DisablePlayerControls2''' - Acts like the original functions but without hiding UI.
*'''EnablePlayerControls2/DisablePlayerControls2''' - Acts like the original functions but without hiding UI.
*'''Resurrect2''' - Like Resurrect but doesn't remove all of your abilities when called on the player.
*'''Resurrect2''' - Like Resurrect but doesn't remove all of your abilities when called on the player, nor causes camera issues.
* '''PushActorAway2''' - just like [[PushActorAway]] except that the calling ref don't have to be an [[Actor]]
* '''PushActorAway2''' - just like [[PushActorAway]] except that the calling ref don't have to be an [[Actor]]
*'''ResurrectActorHealthPercent'''- Resurrects the target actor with the given health remaining.
*'''SetLocalGravity/SetLocalGravityVector''' - These functions seem to have no effect at all while an actor is swimming or under water. It would be very helpful if they ''had'' an effect actually, because this would allow to simulate burden and buoyancy under water.


==Modifications/Extensions of OBSE Functions==
==Modifications/Extensions of OBSE Functions==


*'''IsKeyPressed2+3''' - IsKeyPressed2 can pick up tapped keys, IsKeyPressed3/IsControlPressed can pick up disabled keys. Combining them into one IsKeyPressed4 function would be nice, but more to the point being able to do both with an IsControlPressed2 would make coding much easier.
*'''IsKeyPressed2+3''' - IsKeyPressed2 can pick up tapped keys, IsKeyPressed3/IsControlPressed can pick up disabled keys. Combining them into one IsKeyPressed4 function would be nice, but more to the point being able to do both with an IsControlPressed2 would make coding much easier.
*'''MessageBoxEx Force Upper/Lower case''' - Add two new commands - %u and %l - to force the first character of a variable to be either upper or lower case. For example, using %u %pp at the start of a sentence would print as His, Her ot Its, instead of his, her or its.
*'''MessageBoxEx Centre Message''' - add a new command to force the text in a message box to be centred, in the same way that the buttons are.
*'''MessageBoxEx Centre Message''' - add a new command to force the text in a message box to be centred, in the same way that the buttons are.
*'''SetRaceNthSpell''' - Sets the race's Nth spell. Useful for adding spells to races without conflicting with other mods, when used in combination with GetRaceSpellCount.
*'''SetRaceNthSpell''' - Sets the race's Nth spell. Useful for adding spells to races without conflicting with other mods, when used in combination with GetRaceSpellCount.
*'''MessageBoxEx Silent Menu''' - Add a way to set the box to silent, so no sound plays when the menu pops up and no sound plays when you click a button. Useful for mods where you want to play your own custom sound for just one menu, or want to play a sound while the menu is there, without being cut off by the sound the MessageBox makes.
*'''MessageBoxEx Silent Menu''' - Add a way to set the box to silent, so no sound plays when the menu pops up and no sound plays when you click a button. Useful for mods where you want to play your own custom sound for just one menu, or want to play a sound while the menu is there, without being cut off by the sound the MessageBox makes.
*'''getEquipmentSlot''' - Many clothes occupy '''foot''' + '''lower body'''.  ccording to the wiki, there is no return value for this configuration.
*'''Ar_Sum''' - Sums the numeric values ranging from ''start'' to ''end''. Syntax would be
  ar_Sum src:array start, end


==Language Enhancements==
==Language Enhancements==
Line 49: Line 49:
*Global reference variables, to avoid issues where calling '''quest.refVar.someFunction''' is not allowed.
*Global reference variables, to avoid issues where calling '''quest.refVar.someFunction''' is not allowed.
*'''Return2''' - Unlike ''Return'' stopping the scripts in this frame, ''Return2'' only breaks the current block and other blocks in the same script can be still run. Useful for the script writers who want to use multiple ''Return'' to reduce the use of nested if/endif blocks without missing the calling of other blocks.
*'''Return2''' - Unlike ''Return'' stopping the scripts in this frame, ''Return2'' only breaks the current block and other blocks in the same script can be still run. Useful for the script writers who want to use multiple ''Return'' to reduce the use of nested if/endif blocks without missing the calling of other blocks.
*'''OnActorHits (''Id Optional'')''' - This block will be run once when the scripted actor hits the specified Object or actor.
*'''OnDetect'''- runs when the actor detects the target actor.
*'''OnDetect'''- runs when the actor detects the target actor.


==Audio Functions==
==Audio Functions==
Functions dealing with music and sound:
Functions dealing with music and sound:
*'''PlaySound2/PlaySound3D2''' - This function allows more than one copy of the same sound to be played before the first one finishes. Example: Normally if one sound lasts 3 seconds and is played twice within that time, the second one will never play. Using PlaySound2/PlaySound3D2 any subsequent instances of the first sound will play no matter how many times they were called before the oldest playing one finished.
*'''stopSound''' - stops a looping sound from playing.
*'''stopSound''' - stops a looping sound from playing.
*'''EnableTrivialSound/DisableTrivialSound''' - While disabling trivial sounds, the sounds played by the functions in scripts like ''AddItem, RemoveItem, EquipItem, Activate'' (while picking up items), and even for the actions done by the player like while equiping or picking up items. Mainly for script writers to avoid these interface sounds with a simple way when they want something to be done in the background.
*'''EnableTrivialSound/DisableTrivialSound''' - While disabling trivial sounds, the sounds played by the functions in scripts like ''AddItem, RemoveItem, EquipItem, Activate'' (while picking up items), and even for the actions done by the player like while equiping or picking up items. Mainly for script writers to avoid these interface sounds with a simple way when they want something to be done in the background.
Line 72: Line 72:
*'''ForcePickIdle''' - force an Idle to be played even if the player is not on the ground or under any other circumstance that would usually block pickidle.
*'''ForcePickIdle''' - force an Idle to be played even if the player is not on the ground or under any other circumstance that would usually block pickidle.
*'''SetCellAmbientLight''': Accepts 3 integer values that set the red, green, and blue ambient light values in an interior cell. A GetCellAmbientLight function would also be nice.
*'''SetCellAmbientLight''': Accepts 3 integer values that set the red, green, and blue ambient light values in an interior cell. A GetCellAmbientLight function would also be nice.


==Functions Returning a Reference==
==Functions Returning a Reference==
Functions that return a reference:
Functions that return a reference:


*'''getLastAttacked''' - Returns a reference to the actor last attacked by the calling actor.
*'''getLastActivated''' - Returns a reference to the last object activated by the player or calling actor.
*'''getLastActivated''' - Returns a reference to the last object activated by the player or calling actor.
*'''(reference).GetLastKilled''' - Returns the reference of the last actor killed by the player/an actor.


==Actor Functions==
==Actor Functions==
Line 89: Line 86:
*'''GetAge''' - Returns the age of the actor if it is an NPC
*'''GetAge''' - Returns the age of the actor if it is an NPC
*'''SetAge''' - Allows you to change the age of an NPC
*'''SetAge''' - Allows you to change the age of an NPC
*'''MatchRace'''- Changes the target reference's race to match another Actor. Similar to SetRace above, but allows for custom races and races not defined in the CS.
*'''MatchFaceData'''- Changes the target's face data to match another Actor.
*'''IsInWater''' ''WaterTypeID'' - returns 1 if actor is currently being underwater or even touching the water, even with Water Walking. Specifying the optional ''WaterTypeID'' allows us to check whether the actor is currently touching the specific type of water.
*'''ForceLeaveWater''' ''SwimmingFlag'' ''NoReenteringFlag'' - forces actor to leave the water. If ''SwimmingFlag'' is not specified or set to 0, actor will attempt to completely leave the water, even if he's only touching it, not swimming. With ''SwimmingFlag'' set to 1, this function will only force him to get high enough to be no longer swimming. With ''NoReenteringFlag'' set to 1, using this function will force actor to avoid touching water/swimming (and thus if he's pushed back into water, he will again attempt to leave it). If function below was previously used with ''NoLeavingFlag'', using '''ForceLeaveWater''' will nuke the effects of this flag.
*'''ForceEnterWater''' ''SwimmingFlag'' ''NoLeavingFlag'' - forces actor to find the closest area where he can touch the water and attempt to enter it. With ''SwimmingFlag'' set to 1, called actor will not only try to touch the water, but start swimming. Could have no effect in interiors and worldspaces with no water. With ''NoLeavingFlag'' set to 1, using this function will prevent actor from leaving the water (and thus if he's pushed away from the water, he will again attempt to enter it). If function above was previously used with ''NoReenteringFlag'', using '''ForceEnterWater''' will nuke the effects of this flag.
*'''ClearWaterBehaviour''' - clears the ''NoReenteringFlag'' and ''NoLeavingFlag'' from functions above.
*'''IsEquipmentSlotFree [slot]''' - returns 1 if the specified slot is free, and 0 when not.


==UI Functions==
==UI Functions==
*'''SelectDialogResponse''' - Choose a particular answer in a dialog (e.g. Yes, No, Cancel, Optionx, etc.)
*'''SelectDialogResponse''' - Choose a particular answer in a dialog (e.g. Yes, No, Cancel, Optionx, etc.)
 
*'''SetEffectItemScriptEffectIcon (Effect ID) (Path/Filename.dds)''' - Causes the "Script Effect" of a magic item (Spell, enchantment, etc.) to display a custom icon instead of the default Script Effect icon.  Affects every "Script Effect" on the item without changing non-script effect's icons.


==Other Functions==
==Other Functions==
Line 109: Line 113:
*'''[optional reference].AutocalSpellMagickaCost spellID''' - autocalculates spell cost including area factor, duration factor, and range factor based on the formula in [[FMagicCasterSkillCostMult]]. If optional reference is included, also calculates in the skill factor for that actor (including luck).  
*'''[optional reference].AutocalSpellMagickaCost spellID''' - autocalculates spell cost including area factor, duration factor, and range factor based on the formula in [[FMagicCasterSkillCostMult]]. If optional reference is included, also calculates in the skill factor for that actor (including luck).  
*'''LoadObject''' - Forcibly cache/load an object, or '''LoadCellBuffer''' which would load/cache an entire cell, sort of opposite to [[PurgeCellBuffers]]
*'''LoadObject''' - Forcibly cache/load an object, or '''LoadCellBuffer''' which would load/cache an entire cell, sort of opposite to [[PurgeCellBuffers]]
*'''EquipMe''' - Makes the actor holding the calling reference equips it. Even better if it can trigger OnEquip blocks.
*'''Get/SetCellFogNear''' & '''Get/SetCellFogFar''' - Get and set interior cell fog distance.
*'''Get/SetCellFogNear''' & '''Get/SetCellFogFar''' - Get and set interior cell fog distance.
*'''GetStartingCell''' ''CellID'' - Returns true if editor cellID is the same a the parameter specified.
*'''GetStartingCell''' ''CellID'' - Returns true if editor cellID is the same a the parameter specified.
Line 115: Line 118:
*'''Add/RemoveMajorSkill''' - Adds or removes major skill on calling actor.
*'''Add/RemoveMajorSkill''' - Adds or removes major skill on calling actor.
*'''Add/RemoveClassSkill''' - Adds or removes class skill for indicated class (If above request is prohibitive)
*'''Add/RemoveClassSkill''' - Adds or removes class skill for indicated class (If above request is prohibitive)
*'''GetDimension [x|-x|y|-y|z|-z] ''' - returns the distance from the object 'origin' to its outer limit in the requested axis and direction - very useful when moving/placing/aligning/spacing references by script. (a typical NPC with the origin at the feet would return 125 to Z (origin to top) and 0 to -Z (origin to bottom)
*'''GetCollidingRefs''' - returns an array of the references colliding with the calling reference.  <OR>  '''GetFirst/NextCollidingRef''' - returns one at a time.
*'''GetCollidingRefs''' - returns an array of the references colliding with the calling reference.  <OR>  '''GetFirst/NextCollidingRef''' - returns one at a time.
 
*'''TrainSkill'''- similar to advskill, only trains the skill as if you are training it in-game.
*'''IsRemoved'''- to check if a ''persistent'' reference is removed from the game - for instance put in chest scripted with RemoveAllItems, dropped in an oblivion world which got purged or put in the inventory of a dead actor which got deleted. IsFormValid returns true for a persistent reference in all these cases, and there seems to be no way to know if such a reference is still around.
*'''ForceFunctionValue'''- Forces a function to always return a value with the number specified. For instance
ForceFunctionValue GetIsPlayableRace 0
would force the function GetIsPlayableRace to return 0, no matter what the calling reference is. Adding an optional reference parameter would set the function to return a specific value whenever the function is called on that reference. So,
ForceFunctionValue GetIsPlayableRace 0 player
would force GetIsPlayableRace to return 0 every time it is called on the player, but normal values any time it's called on someone else. For debug, limitation, and  certain Gameplay Effect purposes.
*'''ReleaseFunctionOverride'''- Releases the effect of ForceFunctionValue and allows the function to continue acting normally.
*'''getReference''' - Returns a string containing the reference given to the calling reference in the editor. This string can be used like
set stringVar to anyRef.getReference
set stringVar.anyVariable to x


==Questionable Requests==
==Questionable Requests==
Anonymous user