Form Script

From the CreationKit Wiki
Revision as of 01:47, 30 April 2015 by imported>Arocide (→‎SKSE Member Functions: Should now contain all SKSE functions upto 1.7.2 (Also fixed some syntax errors))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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()
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)
OnKeyUp(Int keyCode, Float holdTime)
OnControlDown(String control)
OnControlUp(String control, Float holdTime)
OnMenuOpen(String menuName)
OnMenuClose(String menuName)
OnPlayerCameraState(Int oldState, Int newState)
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)
OnNiNodeUpdate(ObjectReference akActor)
  • Received when a NINodeUpdate is performed. To recieve this the form must have been registered via RegisterForNiNodeUpdate