Difference between revisions of "Form Script"
Jump to navigation
Jump to search
imported>Jog |
imported>Arocide (→SKSE Member Functions: Should now contain all SKSE functions upto 1.7.2 (Also fixed some syntax errors)) |
||
(34 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
Native base script for every [[Glossary#Form|form]] in the game. | |||
Native base script for every [[form]] in the game. | |||
== Definition == | == Definition == | ||
Line 17: | Line 13: | ||
== Member Functions == | == Member Functions == | ||
''' | :'''Int [[GetFormID - Form|GetFormID]]()''' | ||
*Returns this form's value in gold. | :*Returns this form's form ID. | ||
:'''Int [[GetGoldValue - Form|GetGoldValue]]()''' | |||
:*Returns this form's value in gold. | |||
:'''Bool [[HasKeyword - Form|HasKeyword]](Keyword ''akKeyword'')''' | |||
:*Returns if this form has the specified [[Keyword Script|Keyword]] attached. | |||
:'''Bool [[PlayerKnows - Form|PlayerKnows]]()''' | |||
:*Is the "Known" flag set on the form? | |||
:'''[[RegisterForAnimationEvent - Form|RegisterForAnimationEvent]](ObjectReference ''akSender'', String ''asEventName'')''' | |||
:*Registers this form to receive the specified animation event from the specified object. | |||
:'''[[RegisterForLOS - Form|RegisterForLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Registers this form to receive gain and lost LOS events between the viewer and the target. | |||
:'''[[RegisterForSingleLOSGain - Form|RegisterForSingleLOSGain]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Registers this form to receive a single LOS gain event when the viewer sees the target. | |||
:'''[[RegisterForSingleLOSLost - Form|RegisterForSingleLOSLost]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Registers this form to receive a single LOS lost event when the viewer loses sight of the target. | |||
:'''[[RegisterForSingleUpdate - Form|RegisterForSingleUpdate]](Float ''afInterval'')''' | |||
:*Registers this form to receive a single update event in the specified time. | |||
:'''[[RegisterForSingleUpdateGameTime - Form|RegisterForSingleUpdateGameTime]](Float ''afInterval'')''' | |||
:*Registers this form to receive a single update event in the specified number of game hours. | |||
:'''[[RegisterForSleep - Form|RegisterForSleep]]()''' | |||
:*Registers this form to receive sleep events for when the player goes to sleep or wakes up. | |||
:'''[[RegisterForTrackedStatsEvent - Form|RegisterForTrackedStatsEvent]]()''' | |||
:*Registers this form to receive tracked stats events for when tracked stats are updated. | |||
:'''[[RegisterForUpdate - Form|RegisterForUpdate]](Float ''afInterval'')''' | |||
:*Registers this form to receive update events with the specified interval, or changes the update interval. | |||
:'''[[RegisterForUpdateGameTime - Form|RegisterForUpdateGameTime]](Float ''afInterval'')''' | |||
:*Registers this form to receive update events with the specified interval in game time hours, or changes the update interval. | |||
:'''[[StartObjectProfiling - Form|StartObjectProfiling]]()''' | |||
:*Starts profiling all scripts attached to this form. | |||
:'''[[StopObjectProfiling - Form|StopObjectProfiling]]()''' | |||
:*Stops profiling all scripts attached to this form. | |||
:'''[[UnregisterForAnimationEvent - Form|UnregisterForAnimationEvent]](ObjectReference ''akSender'', String ''asEventName'')''' | |||
:*Unregisters this from from receiving the specified animation event from the specified object. | |||
:'''[[UnregisterForLOS - Form|UnregisterForLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Unregisters this form from any LOS events between the viewer and target. | |||
:'''[[UnregisterForSleep - Form|UnregisterForSleep]]()''' | |||
:*Unregisters this form from sleep events. | |||
:'''[[UnregisterForTrackedStatsEvent - Form|UnregisterForTrackedStatsEvent]]()''' | |||
:*Unregisters this form from tracked stats events. | |||
:'''[[UnregisterForUpdate - Form|UnregisterForUpdate]]()''' | |||
:*Unregisters this form from update events. | |||
:'''[[UnregisterForUpdateGameTime - Form|UnregisterForUpdateGameTime]]()''' | |||
:*Unregisters this form from game time update events. | |||
== SKSE Member Functions == | |||
:'''Int [[GetType - Form|GetType]]()''' | |||
:*Returns this form's form typecode. | |||
''' | :'''String [[GetName - Form|GetName]]()''' | ||
*Returns | :*Returns this form's full name. | ||
''' | :'''[[SetName - Form|SetName]](String ''name'')''' | ||
* | :*Sets this form's full name. | ||
''' | :'''Float [[GetWeight - Form|GetWeight]]()''' | ||
* | :*Returns this form's weight. | ||
''' | :'''[[SetWeight - Form|SetWeight]](Float ''weight'')''' | ||
* | :*Sets this form's weight. | ||
''' | :'''[[SetGoldValue - Form|SetGoldValue]](Int ''value'')''' | ||
* | :*Sets this form's base gold value. | ||
''' | :'''Int [[GetNumKeywords - Form|GetNumKeywords]]()''' | ||
* | :*Returns the number of keywords on this form. | ||
''' | :'''Keyword [[GetNthKeyword - Form|GetNthKeyword]](Int ''index'')''' | ||
* | :*Returns the keyword specified by index on this form. | ||
''' | :'''Bool [[HasKeywordString - Form|HasKeywordString]](String ''s'')''' | ||
* | :*Returns whether this form has a keyword with the specified string. | ||
''' | :'''[[SetPlayerKnows - Form|SetPlayerKnows]](Bool ''knows'')''' | ||
* | :*Sets whether the player know this form. Should only be used For Magic Effects, Words of Power and Enchantments. | ||
''' | :'''Bool [[IsPlayable - Form|IsPlayable]]()''' | ||
* | :*Returns if the form is marked playable or not. Only works on forms that have that flag, such as Armors. | ||
''' | :'''Bool [[HasWorldModel - Form|HasWorldModel]]()''' | ||
* | :*Returns whether this form has a world model or not. | ||
''' | :'''String [[GetWorldModelPath - Form|GetWorldModelPath]]()''' | ||
* | :*Gets this form's world model. | ||
''' | :'''[[SetWorldModelPath - Form|SetWorldModelPath]](String ''path'')''' | ||
* | :*Sets this form's world model. | ||
''' | :'''Int [[GetWorldModelNumTextureSets - Form|GetWorldModelNumTextureSets]]()''' | ||
* | :*Returns the number of texture sets the world model has. | ||
''' | :'''TextureSet [[GetWorldModelNthTextureSet - Form|GetWorldModelNthTextureSet]](Int ''n'')''' | ||
* | :*Returns the Nth texture set of the forms world model. | ||
''' | :'''[[SetWorldModelNthTextureSet - Form|SetWorldModelNthTextureSet]](TextureSet ''nSet'', Int ''n'')''' | ||
* | :*Sets the Nth texture set of the forms world model to the specified TextureSet. | ||
''' | :'''[[RegisterForKey - Form|RegisterForKey]](Int ''keyCode'')''' | ||
* | :*Registers the given [[Input_Script#DXScanCodes|DXScanCode]] for OnKeyDown and OnKeyUp events. | ||
''' | :'''[[UnregisterForKey - Form|UnregisterForKey]](Int ''keyCode'')''' | ||
*Unregisters | :*Unregisters the given [[Input_Script#DXScanCodes|DXScanCode]] for OnKeyDown and OnKeyUp events. | ||
''' | :'''[[UnregisterForAllKeys - Form|UnregisterForAllKeys]]()''' | ||
*Unregisters | :*Unregisters all registered [[Input_Script#DXScanCodes|DXScanCodes]]. | ||
''' | :'''[[RegisterForControl - Form|RegisterForControl]](String ''control'')''' | ||
*Unregisters this form | :*Registers the given control for OnControlDown and OnControlUp events. | ||
:'''[[UnregisterForControl - Form|UnregisterForControl]](String ''control'')''' | |||
:*Unregisters the given control for OnControlDown and OnControlUp events. | |||
:'''[[UnregisterForAllControls - Form|UnregisterForAllControls]]()''' | |||
:*Unregisters all registered controls. | |||
:'''[[RegisterForMenu - Form|RegisterForMenu]](String ''menuName'')''' | |||
:*Registers for OnMenuOpen and OnMenuClose events for the given menu. | |||
:'''[[UnregisterForMenu - Form|UnregisterForMenu]](String ''menuName'')''' | |||
:*Unregisters for OnMenuOpen and OnMenuClose events for the given menu. | |||
:'''[[UnregisterForAllMenus - Form|UnregisterForAllMenus]]()''' | |||
:*Unregisters all registered menus. | |||
:'''[[RegisterForModEvent - Form|RegisterForModEvent]](String ''eventName'', String ''callbackName'')''' | |||
:*Registers a custom event callback for given event name. | |||
:'''[[SendModEvent|SendModEvent]](String ''eventName'', String ''strArg'', Float ''numArg'')''' | |||
:*Sends a custom event with given generic parameters. | |||
:'''[[UnregisterForModEvent - Form|UnregisterForModEvent]](String ''eventName'')''' | |||
:*Unregisters a custom event callback for given event name. | |||
:'''[[UnregisterForAllModEvents|UnregisterForAllModEvents]]()''' | |||
:*Unregisters all registered custom events. | |||
:'''Form [[TempClone - Form|TempClone]]()''' | |||
:*Returns a temporary clone of this form | |||
:'''[[RegisterForCameraState - Form|RegisterForCameraState]]()''' | |||
:*Registers for OnPlayerCameraState events. | |||
:'''[[UnregisterForCameraState - Form|UnregisterForCameraState]]()''' | |||
:*Unregisters for OnPlayerCameraState events. | |||
:'''[[RegisterForCrosshairRef - Form|RegisterForCrosshairRef]]()''' | |||
:*Registers for OnCrosshairRefChange events. | |||
:'''[[UnregisterForCrosshairRef - Form|UnregisterForCrosshairRef]]()''' | |||
:*Unregisters for OnCrosshairRefChange events. | |||
:'''[[RegisterForActorAction - Form|RegisterForActorAction]](Int ''actionType'')''' | |||
:*Registers for OnActorAction events. | |||
:'''[[UnregisterForActorAction - Form|UnregisterForActorAction]](Int ''actionType'')''' | |||
:*Unregisters for OnActorAction events. | |||
:'''[[RegisterForNiNodeUpdate]]()''' | |||
:*Registers the script for when a QueueNiNodeUpdate is called | |||
:'''[[UnregisterForNiNodeUpdate]]()''' | |||
:*Unregisters the script for when a QueueNiNodeUpdate is called | |||
== Events == | == Events == | ||
:'''[[OnAnimationEvent - Form|OnAnimationEvent]](ObjectReference ''akSource'', String ''asEventName'')''' | |||
:*Received when one of animation events we are listening for is recieved. | |||
:'''[[OnAnimationEventUnregistered - Form|OnAnimationEventUnregistered]](ObjectReference ''akSource'', String ''asEventName'')''' | |||
:*Received when one of the animation events we are listening for has been automatically unregistered by the game due to the target animation graph unloading. | |||
:'''[[OnGainLOS - Form|OnGainLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Received when the viewer goes from not seeing the target to seeing the target - if this form is registered. | |||
:'''[[OnLostLOS - Form|OnLostLOS]](Actor ''akViewer'', ObjectReference ''akTarget'')''' | |||
:*Received when the viewer goes from seeing the target to not seeing the target - if this form is registered. | |||
:'''[[OnSleepStart - Form|OnSleepStart]](Float ''afSleepStartTime'', Float ''afDesiredSleepEndTime'')''' | |||
:*Received when the player goes to sleep. | |||
:'''[[OnSleepStop - Form|OnSleepStop]](Bool ''abInterrupted'')''' | |||
:*Received when the player wakes up or is interrupted in sleep. | |||
:'''[[OnTrackedStatsEvent - Form|OnTrackedStatsEvent]](String ''asStat'', Int ''aiStatValue'')''' | |||
:*Received when tracked stats are updated. | |||
:'''[[OnUpdate - Form|OnUpdate]]()''' | |||
:*Received at periodic intervals, if the form is registered. | |||
:'''[[OnUpdateGameTime - Form|OnUpdateGameTime]]()''' | |||
:*Received at periodic intervals of game time, if the form is registered. | |||
== SKSE Events == | |||
:'''[[OnKeyDown - Form|OnKeyDown]](Int ''keyCode'')''' | |||
:*Received when key(s) registered via [[RegisterForKey - Form|RegisterForKey]] are pressed. | |||
:'''[[OnKeyUp - Form|OnKeyUp]](Int ''keyCode'', Float ''holdTime'')''' | |||
:*Received when key(s) registered via [[RegisterForKey - Form|RegisterForKey]] are released. | |||
:'''[[OnControlDown - Form|OnControlDown]](String ''control'')''' | |||
:*Received when control(s) registered via [[RegisterForControl - Form|RegisterForControl]] are pressed. | |||
:'''[[OnControlUp - Form|OnControlUp]](String ''control'', Float ''holdTime'')''' | |||
:*Received when control(s) registered via [[RegisterForControl - Form|RegisterForControl]] are released. | |||
:'''[[OnMenuOpen - Form|OnMenuOpen]](String ''menuName'')''' | |||
:*Received when menu(s) registered via [[RegisterForMenu - Form|RegisterForMenu]] are opened. | |||
:'''[[OnMenuClose - Form|OnMenuClose]](String ''menuName'')''' | |||
:*Received when menu(s) registered via [[RegisterForMenu - Form|RegisterForMenu]] are closed. | |||
:'''[[OnPlayerCameraState - Form|OnPlayerCameraState]](Int ''oldState'', Int ''newState'')''' | |||
:*Received when (player camera state changes?) when registered via [[RegisterForCameraState - Form|RegisterForCameraState]] | |||
:'''[[OnCrosshairRefChange - Form|OnCrosshairRefChange]](ObjectReference ''ref'')''' | |||
:*Received when player crosshair changes when registered via [[RegisterForCrosshairRef - Form|RegisterForCrosshairRef]] (Note: ref is none for no target)(Note:Crosshair uses activate pick) | |||
:'''[[OnActorAction - Form|OnActorAction]](Int ''actionType'', Actor ''akActor'', Form ''source'', Int ''slot'')''' | |||
:*Received when the Actor performs an action that is registered via [[RegisterForActorAction - Form|RegisterForActorAction]] | |||
:'''[[OnNiNodeUpdate]](ObjectReference ''akActor'')''' | |||
:*Received when a NINodeUpdate is performed. To recieve this the form must have been registered via [[RegisterForNiNodeUpdate - Form|RegisterForNiNodeUpdate]] | |||
[[Category:Scripting]] | |||
[[Category:Papyrus]] | |||
[[Category:Script Objects]] | |||
[[Category:SKSE]] | |||
[[Category:SKSE Script Objects]] |
Latest revision as of 01:47, 30 April 2015
Native base script for every form in the game.
Definition[edit | edit source]
ScriptName Form
Properties[edit | edit source]
None
Global Functions[edit | edit source]
None
Member Functions[edit | edit source]
- Int GetFormID()
- Returns this form's form ID.
- Int GetGoldValue()
- Returns this form's value in gold.
- Bool HasKeyword(Keyword akKeyword)
- Returns if this form has the specified Keyword attached.
- Bool PlayerKnows()
- Is the "Known" flag set on the form?
- RegisterForAnimationEvent(ObjectReference akSender, String asEventName)
- Registers this form to receive the specified animation event from the specified object.
- RegisterForLOS(Actor akViewer, ObjectReference akTarget)
- Registers this form to receive gain and lost LOS events between the viewer and the target.
- RegisterForSingleLOSGain(Actor akViewer, ObjectReference akTarget)
- Registers this form to receive a single LOS gain event when the viewer sees the target.
- RegisterForSingleLOSLost(Actor akViewer, ObjectReference akTarget)
- Registers this form to receive a single LOS lost event when the viewer loses sight of the target.
- RegisterForSingleUpdate(Float afInterval)
- Registers this form to receive a single update event in the specified time.
- RegisterForSingleUpdateGameTime(Float afInterval)
- Registers this form to receive a single update event in the specified number of game hours.
- RegisterForSleep()
- Registers this form to receive sleep events for when the player goes to sleep or wakes up.
- RegisterForTrackedStatsEvent()
- Registers this form to receive tracked stats events for when tracked stats are updated.
- RegisterForUpdate(Float afInterval)
- Registers this form to receive update events with the specified interval, or changes the update interval.
- RegisterForUpdateGameTime(Float afInterval)
- Registers this form to receive update events with the specified interval in game time hours, or changes the update interval.
- StartObjectProfiling()
- Starts profiling all scripts attached to this form.
- StopObjectProfiling()
- Stops profiling all scripts attached to this form.
- UnregisterForAnimationEvent(ObjectReference akSender, String asEventName)
- Unregisters this from from receiving the specified animation event from the specified object.
- UnregisterForLOS(Actor akViewer, ObjectReference akTarget)
- Unregisters this form from any LOS events between the viewer and target.
- UnregisterForSleep()
- Unregisters this form from sleep events.
- UnregisterForTrackedStatsEvent()
- Unregisters this form from tracked stats events.
- UnregisterForUpdate()
- Unregisters this form from update events.
- UnregisterForUpdateGameTime()
- Unregisters this form from game time update events.
SKSE Member Functions[edit | edit source]
- Int GetType()
- Returns this form's form typecode.
- String GetName()
- Returns this form's full name.
- SetName(String name)
- Sets this form's full name.
- Float GetWeight()
- Returns this form's weight.
- SetWeight(Float weight)
- Sets this form's weight.
- SetGoldValue(Int value)
- Sets this form's base gold value.
- Int GetNumKeywords()
- Returns the number of keywords on this form.
- Keyword GetNthKeyword(Int index)
- Returns the keyword specified by index on this form.
- Bool HasKeywordString(String s)
- Returns whether this form has a keyword with the specified string.
- SetPlayerKnows(Bool knows)
- Sets whether the player know this form. Should only be used For Magic Effects, Words of Power and Enchantments.
- Bool IsPlayable()
- Returns if the form is marked playable or not. Only works on forms that have that flag, such as Armors.
- Bool HasWorldModel()
- Returns whether this form has a world model or not.
- String GetWorldModelPath()
- Gets this form's world model.
- SetWorldModelPath(String path)
- Sets this form's world model.
- Int GetWorldModelNumTextureSets()
- Returns the number of texture sets the world model has.
- TextureSet GetWorldModelNthTextureSet(Int n)
- Returns the Nth texture set of the forms world model.
- SetWorldModelNthTextureSet(TextureSet nSet, Int n)
- Sets the Nth texture set of the forms world model to the specified TextureSet.
- RegisterForKey(Int keyCode)
- Registers the given DXScanCode for OnKeyDown and OnKeyUp events.
- UnregisterForKey(Int keyCode)
- Unregisters the given DXScanCode for OnKeyDown and OnKeyUp events.
- UnregisterForAllKeys()
- Unregisters all registered DXScanCodes.
- RegisterForControl(String control)
- Registers the given control for OnControlDown and OnControlUp events.
- UnregisterForControl(String control)
- Unregisters the given control for OnControlDown and OnControlUp events.
- UnregisterForAllControls()
- Unregisters all registered controls.
- RegisterForMenu(String menuName)
- Registers for OnMenuOpen and OnMenuClose events for the given menu.
- UnregisterForMenu(String menuName)
- Unregisters for OnMenuOpen and OnMenuClose events for the given menu.
- UnregisterForAllMenus()
- Unregisters all registered menus.
- RegisterForModEvent(String eventName, String callbackName)
- Registers a custom event callback for given event name.
- SendModEvent(String eventName, String strArg, Float numArg)
- Sends a custom event with given generic parameters.
- UnregisterForModEvent(String eventName)
- Unregisters a custom event callback for given event name.
- UnregisterForAllModEvents()
- Unregisters all registered custom events.
- Form TempClone()
- Returns a temporary clone of this form
- RegisterForCameraState()
- Registers for OnPlayerCameraState events.
- UnregisterForCameraState()
- Unregisters for OnPlayerCameraState events.
- RegisterForCrosshairRef()
- Registers for OnCrosshairRefChange events.
- UnregisterForCrosshairRef()
- Unregisters for OnCrosshairRefChange events.
- RegisterForActorAction(Int actionType)
- Registers for OnActorAction events.
- UnregisterForActorAction(Int actionType)
- Unregisters for OnActorAction events.
- RegisterForNiNodeUpdate()
- Registers the script for when a QueueNiNodeUpdate is called
- UnregisterForNiNodeUpdate()
- Unregisters the script for when a QueueNiNodeUpdate is called
Events[edit | edit source]
- OnAnimationEvent(ObjectReference akSource, String asEventName)
- Received when one of animation events we are listening for is recieved.
- OnAnimationEventUnregistered(ObjectReference akSource, String asEventName)
- Received when one of the animation events we are listening for has been automatically unregistered by the game due to the target animation graph unloading.
- OnGainLOS(Actor akViewer, ObjectReference akTarget)
- Received when the viewer goes from not seeing the target to seeing the target - if this form is registered.
- OnLostLOS(Actor akViewer, ObjectReference akTarget)
- Received when the viewer goes from seeing the target to not seeing the target - if this form is registered.
- OnSleepStart(Float afSleepStartTime, Float afDesiredSleepEndTime)
- Received when the player goes to sleep.
- OnSleepStop(Bool abInterrupted)
- Received when the player wakes up or is interrupted in sleep.
- OnTrackedStatsEvent(String asStat, Int aiStatValue)
- Received when tracked stats are updated.
- OnUpdate()
- Received at periodic intervals, if the form is registered.
- OnUpdateGameTime()
- Received at periodic intervals of game time, if the form is registered.
SKSE Events[edit | edit source]
- OnKeyDown(Int keyCode)
- Received when key(s) registered via RegisterForKey are pressed.
- OnKeyUp(Int keyCode, Float holdTime)
- Received when key(s) registered via RegisterForKey are released.
- OnControlDown(String control)
- Received when control(s) registered via RegisterForControl are pressed.
- OnControlUp(String control, Float holdTime)
- Received when control(s) registered via RegisterForControl are released.
- OnMenuOpen(String menuName)
- Received when menu(s) registered via RegisterForMenu are opened.
- OnMenuClose(String menuName)
- Received when menu(s) registered via RegisterForMenu are closed.
- OnPlayerCameraState(Int oldState, Int newState)
- Received when (player camera state changes?) when registered via RegisterForCameraState
- OnCrosshairRefChange(ObjectReference ref)
- Received when player crosshair changes when registered via RegisterForCrosshairRef (Note: ref is none for no target)(Note:Crosshair uses activate pick)
- OnActorAction(Int actionType, Actor akActor, Form source, Int slot)
- Received when the Actor performs an action that is registered via RegisterForActorAction
- OnNiNodeUpdate(ObjectReference akActor)
- Received when a NINodeUpdate is performed. To recieve this the form must have been registered via RegisterForNiNodeUpdate