Difference between revisions of "ObjectReference Script"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>SarthesArai
m (→‎Events: fix link)
Line 410: Line 410:


== SKSE Member Functions ==
== SKSE Member Functions ==
:'''Form[] [[GetContainerForms - ObjectReference|GetContainerForms]]()'''
:* (Container only) Returns an array of the forms in a container.


:'''Int [[GetNumItems - ObjectReference|GetNumItems]]()'''
:'''Int [[GetNumItems - ObjectReference|GetNumItems]]()'''

Revision as of 19:51, 28 February 2022

Extends: Form Script

Script for the manipulation of object instances.
If you are adding a script to an object that is going to be a reference in the world (like a button for example) your script will need to extend this script.

Definition

ScriptName ObjectReference extends Form

Properties

  • float X [read-only]: The current X position of the reference.
  • float Y [read-only]: The current Y position of the reference.
  • float Z [read-only]: The current Z position of the reference.

These properties are meant to be used when calling SetMotionType:

  • int Motion_Dynamic [read-only]: 1
  • int Motion_SphereInertia [read-only]: 2
  • int Motion_BoxInertia [read-only]: 3
  • int Motion_Keyframed [read-only]: 4
  • int Motion_Fixed [read-only]: 5
  • int Motion_ThinBoxInertia [read-only]: 6
  • int Motion_Character [read-only]: 7

Global Functions

None

Member Functions

Activate(ObjectReference akActivator)
  • Have the passed in reference activate this object.
AddInventoryEventFilter(Form akFilter)
  • Adds an inventory event filter to this reference.
AddItem(Form akItemToAdd, Int aiCount, Bool abSilent)
  • Adds the passed in item to this object's inventory.
AddKeyIfNeeded(ObjectReference ObjectWithNeededKey)
  • Adds the key to ObjectWithNeededKey if this object's inventory does not contain it already.
AddToMap(Bool abAllowFastTravel)
  • Adds this map marker to the map, optionally making it available for fast travel.
ApplyHavokImpulse(Float afX, Float afY, Float afZ, Float afMagnitude)
  • Apply a Havok impulse force to this object.
BlockActivation(Bool abBlocked)
  • Blocks normal activation processing for this reference.
Int CalculateEncounterLevel(Int aiDifficulty)
  • Calculate this object's encounter level, using the specified difficulty.
Bool CanFastTravelToMarker()
  • Can the player fast travel to this map marker?
ClearDestruction()
  • Clears all effects of destruction from this object.
Int CountLinkedRefChain(Keyword apKeyword, Int maxExpectedLinkedRefs)
  • Counts the number of linked refs that are in a linked Ref chain
CreateDetectionEvent(Actor akOwner, Int aiSoundLevel)
  • Create a detection event at this reference, with the specified owner.
DamageObject(Float afDamage)
  • Damages this object and advances the destruction stage.
Delete()
  • Deletes this object.
DeleteWhenAble()
  • Waits until this reference is out of the loaded area and then deletes it
Disable(Bool abFadeOut)
  • Disables this object.
DisableLinkChain(Keyword apKeyword, Bool abFadeOut)
  • Disables all of the references that are linked, in a chain, to this one.
DisableNoWait(Bool abFadeOut)
  • Disables this object and does not wait for the object to be disable or faded out.
DropObject(Form akObject, Int aiCount)
  • Drops the specified object from this object's inventory.
Enable(Bool abFadeIn)
  • Enables this object.
EnableFastTravel(Bool abEnable)
  • Enables or disables fast travel to this map marker.
EnableLinkChain(Keyword apKeyword)
  • Enables all of the references that are linked, in a chain, to this one.
EnableNoWait(Bool abFadeIn)
  • Enables this object and does not wait for the object to be enabled or faded in.
ForceAddRagdollToWorld()
  • Forcibly adds the ragdoll of a reference to the world
ForceRemoveRagdollFromWorld()
  • Forcibly removes the ragdoll of a reference from the world
ActorBase GetActorOwner()
  • Obtains the actor base that owns this object.
Float GetAngleX()
  • Obtains this object's rotation around the x axis.
Float GetAngleY()
  • Obtains this object's rotation around the y axis.
Float GetAngleZ()
  • Obtains this object's rotation around the z axis.
Bool GetAnimationVariableBool(String asVariableName)
  • Fetches the value of a variable on the reference's animation graph (bool version).
Float GetAnimationVariableFloat(String asVariableName)
  • Fetches the value of a variable on the reference's animation graph (float version).
Int GetAnimationVariableInt(String asVariableName)
  • Fetches the value of a variable on the reference's animation graph (int version).
Form GetBaseObject()
  • Obtains this reference's base object.
Int GetCurrentDestructionStage()
  • Gets the object's current stage of destruction.
Location GetCurrentLocation()
  • Obtains this reference's current location.
Scene GetCurrentScene()
  • Obtains the scene that this reference is currently participating in, if any.
Float GetDistance(ObjectReference akOther)
  • Calculates the distance between this object and the passed in one.
Location GetEditorLocation()
  • Obtains this reference's editor location.
Faction GetFactionOwner()
  • Gets the faction that owns this reference.
Float GetHeadingAngle(ObjectReference akOther)
  • Gets the angle between this object's heading, and the direction the other object is in.
Float GetHeight()
  • Gets the height of this object
Int GetItemCount(Form akItem)
  • Returns how many of the specified item is in this object's inventory.
Float GetItemHealthPercent()
  • Returns the item health percent of this object (1.0 == 100%).
Key GetKey()
  • Obtains the key that unlocks this object (if any).
Float GetLength()
  • Obtains the length of this object.
ObjectReference GetLinkedRef(Keyword apKeyword)
  • Returns our linked reference for the given Keyword, if any.
Int GetLockLevel()
  • Obtains the level of the lock on this object.
Float GetMass()
  • Obtains this object's mass in Havok.
ObjectReference GetNthLinkedRef(Int aiLinkedRef)
  • Obtains the nth linked ref from this object.
Int GetOpenState()
  • Obtains this object's current "open state".
Cell GetParentCell()
  • Obtains the cell this object is currently in.
Float GetPositionX()
  • Returns this object's current X position.
Float GetPositionY()
  • Returns this object's current Y position.
Float GetPositionZ()
  • Returns this object's current Z position.
Float GetScale()
  • Get this object's current scale.
Int GetTriggerObjectCount()
  • Returns the number of objects inside this trigger volume.
VoiceType GetVoiceType()
  • Obtains the VoiceType for this actor or talking activator.
Float GetWidth()
  • Get the current width of the object.
Worldspace GetWorldSpace()
  • Returns the worldspace this reference is in.
Bool HasEffectKeyword(Keyword akKeyword)
  • Returns if this reference has an active effect coming from a magic effect with the specified keyword attached
Bool HasNode(String asNodeName)
  • Returns if this reference has the specified name node in its 3D.
Bool HasRefType(LocationRefType akRefType)
IgnoreFriendlyHits(Bool abIgnore)
  • Flags this reference as ignoring (or not ignoring) friendly hits
InterruptCast()
  • Interrupts any spellcasting this object may be doing.
Bool IsActivateChild(ObjectReference akChild)
  • Returns whether the passed in reference is an activate child of this reference.
Bool IsActivationBlocked()
  • Returns whether normal activation processing is currently blocked on this reference or not.
Bool Is3DLoaded()
  • Checks to see if this reference's 3D data is currently loaded or not.
Bool IsDeleted()
  • Checks to see if this object is currently flagged for delete.
Bool IsDisabled()
  • Is this object currently disabled?
Bool IsEnabled()
  • Is this object currently enabled?
Bool IsFurnitureInUse(Bool abIgnoreReserved)
  • Is any furniture marker on this object in use?
Bool IsFurnitureMarkerInUse(Int aiMarker, Bool abIgnoreReserved)
  • Is the specified furniture marker on this object in use?
Bool IsIgnoringFriendlyHits()
  • Is this object ignoring friendly hits?
Bool IsInDialogueWithPlayer()
  • Is this actor or talking activator currently talking to the player?
Bool IsInInterior()
  • Returns true if the object is in an interior cell.
Bool IsInLocation(Location akLocation)
  • Returns true if the object is currently in that location or a child of that location.
Bool IsLocked()
  • Is the lock on this object locked?
Bool IsMapMarkerVisible()
  • Is this map marker visible to the player?
Bool IsNearPlayer()
  • A quick-and-dirty function to tell if this object is safe to enable or disable
KnockAreaEffect(Float afMagnitude, Float afRadius)
  • Executes a knock effect to an area
Lock(Bool abLock, Bool abAsOwner)
  • Locks or unlocks this object.
MoveTo(ObjectReference akTarget, Float afXOffset, Float afYOffset, Float afZOffset, Bool abMatchRotation)
  • Moves this object to the same location as the passed-in reference, offset by the specified amount.
Bool MoveToIfUnloaded(ObjectReference akTarget, Float afXOffset, Float afYOffset, Float afZOffset)
  • Moves this object to the same location as the passed-in reference, offset by the specified amount, IF this object is not currently loaded.
MoveToInteractionLocation(ObjectReference akTarget)
  • Moves this object to the specified object's interaction location.
MoveToMyEditorLocation()
  • Moves this object to its own editor location.
MoveToNode(ObjectReference akTarget, String asNodeName)
  • Moves this object to the position (and rotation) of the specified node on the specified object's 3D
Actor PlaceActorAtMe(ActorBase akActorToPlace, Int aiLevelMod, EncounterZone akZone)
  • Create an actor at this object's location.
ObjectReference PlaceAtMe(Form akFormToPlace, Int aiCount)
  • Places x copies of the passed in form at this object's current position, returning the last one created.
Bool PlayAnimation(String asAnimation)
  • Plays the specified animation on this object, returning immediately.
Bool PlayAnimationAndWait(String asAnimation, String asEventName)
  • Plays the specified animation on this object and waits for the specified event before returning. (latent)
Bool PlayGamebryoAnimation(String asAnimation, Bool abStartOver, Float afEaseInTime)
  • Plays a legacy nif file based animation
Bool PlayImpactEffect(ImpactDataSet akImpactEffect, String asNodeName, Float afPickDirX, Float afPickDirY, Float afPickDirZ, Float afPickLength, Bool abApplyNodeRotation, Bool abUseNodeLocalRotation)
  • Plays an impact effect.
Bool PlaySyncedAnimationAndWaitSS(String asAnimation1, String asEvent1, ObjectReference akObj2, String asAnimation2, String asEvent2)
  • Plays two animations simultaneously, waiting for events from both.
Bool PlaySyncedAnimationSS(String asAnimation1, ObjectReference akObj2, String asAnimation2)
  • Plays two animations simultaneously.
PlayTerrainEffect(String asEffectModelName, String asAttachBoneName)
  • Plays a terrain effect.
ProcessTrapHit(ObjectReference akTrap, Float afDamage, Float afPushback, Float afXVel, Float afYVel, Float afZVel, Float afXPos, Float afYPos, Float afZPos, Int aeMaterial, Float afStagger)
  • Tells this object to handle the specified trap object hitting it.
PushActorAway(Actor akActorToPush, Int aiKnockbackDamage)
  • Pushes the other actor away from this object as if hit by the specified amount of knockback damage.
Bool RampRumble(Float power, Float duration, Float falloff)
  • Shakes cam/controller based on distance from player
RemoveAllInventoryEventFilters()
  • Remove all inventory event filters on this reference.
RemoveAllItems(ObjectReference akTransferTo, Bool abKeepOwnership, Bool abSilent)
  • Removes all items from this container, optionall transferring them to another one.
RemoveInventoryEventFilter(Form akFilter)
  • Remove a specific inventory event filter.
RemoveItem(Form akItemToRemove, Int aiCount, Bool abSilent, ObjectReference akOtherContainer)
  • Removes the passed in item from this object's inventory.
Reset(ObjectReference akTarget)
  • Resets this object reference, optionally placing the object at the new target.
Say(Topic akTopicToSay, Actor akActorToSpeakAs, Bool abSpeakInPlayersHead)
  • Causes this reference to speak a topic as if it were the specified actor.
SendStealAlarm(Actor akThief)
  • Sends a steal alarm as if this reference had just been stolen by the actor.
SetActorCause(Actor akActor)
  • Sets this actor as this object's actor cause.
SetActorOwner(ActorBase akActorBase)
  • Sets this actor base as this object's owner.
SetAngle(Float afXAngle, Float afYAngle, Float afZAngle)
  • Sets this object's rotation. Angles are in degrees.
SetAnimationVariableBool(String asVariableName, Bool abNewValue)
  • Sets the value of a variable on the reference's animation graph (bool version).
SetAnimationVariableFloat(String asVariableName, Float afNewValue)
  • Sets the value of a variable on the reference's animation graph (float version).
SetAnimationVariableInt(String asVariableName, Int aiNewValue)
  • Sets the value of a variable on the reference's animation graph (int version).
SetDestroyed(Bool abDestroyed)
  • Sets or clears this object's destroyed flag.
SetFactionOwner(Faction akFaction)
  • Sets this faction as this object's owner.
SetLockLevel(Int aiLockLevel)
  • Sets the lock level on this object.
SetMotionType(Int aiMotionType, Bool abAllowActivate)
  • Sets the havok motion type on this object.
SetNoFavorAllowed(Bool abNoFavor)
  • Sets or clears this object's ability to be not used by a teammate for a favor
SetOpen(Bool abOpen)
  • Opens or closes this object.
SetPosition(Float afX, Float afY, Float afZ)
  • Sets this object's position.
SetScale(Float afScale)
  • Set the current scale of the object
SplineTranslateTo(Float afX, Float afY, Float afZ, Float afAngleX, Float afAngleY, Float afAngleZ, Float afSplineCurve, Float afSpeed)
  • Makes the object translate to the given pos/orient on a spline.
SplineTranslateToRef(ObjectReference arTarget, Float afTangentMagnitude, Float afSpeed, Float afMaxRotationSpeed)
  • Makes the reference translate to the target ref position/orient on a spline at the given speed
SplineTranslateToRefNode(ObjectReference arTarget, String arNodeName, Float afTangentMagnitude, Float afSpeed, Float afMaxRotationSpeed)
  • Makes the reference translate to the target node's position/orient on a spline at the given speed
StopTranslation()
  • Stops any translation on the object.
TetherToHorse(ObjectReference akHorse)
  • Tether a prisoner cart to the given horse.
TranslateTo(Float afX, Float afY, Float afZ, Float afAngleX, Float afAngleY, Float afAngleZ, Float afSpeed, Float afMaxRotationSpeed)
  • Makes the object translate to the given pos/orient.
TranslateToRef(ObjectReference arTarget, Float afSpeed, Float afMaxRotationSpeed)
  • Makes the reference translate to the target ref position/orient at the given speed
Bool WaitForAnimationEvent(String asEventName)
  • Waits for the animation graph to send the specified event.


SKSE Member Functions

Form[] GetContainerForms()
  • (Container only) Returns an array of the forms in a container.
Int GetNumItems()
  • (Container only) Returns the number of forms in the container.
Form GetNthForm(Int index)
  • (Container only) Returns the specified form from the container.
Float GetTotalItemWeight()
  • (Container only - perhaps Player only) Returns the total weight of all items held in the container.
Float GetTotalArmorWeight()
  • (Container only - perhaps Player only) Returns the total weight of the armor in the container.
Bool IsHarvested()
  • (Flora and Tree only) Returns whether the flora has been harvested or not.
SetHarvested(Bool harvested)
  • Sets whether the Reference has been harvested.
SetItemHealthPercent(Float health)
  • Set the item's tempering. 1.0 is no tempering, 1.6 appears to be legendary. Values below 1.0 do nothing.
SetItemMaxCharge(Float maxCharge)
  • Sets the maximum charge of the item.(Only works on player enchants)
Float GetItemMaxCharge()
  • Gets the maximum charge of the item.
Float GetItemCharge()
  • Gets the current charge of the item.
SetItemCharge(Float charge)
  • Sets the item's charge to the specified amount.
ResetInventory()
  • Resets the References inventory.
Bool IsOffLimits()
String GetDisplayName()
  • Returns the name of the reference (This is the name that is displayed)
Bool SetDisplayName(String name, Bool force)
  • Sets the reference's display name.
ObjectReference GetEnableParent()
  • Returns the enable parent of the object.
Enchantment GetEnchantment()
  • Returns the player-made enchantment of the object (if there is one)
SetEnchantment(Enchantment source, Float maxCharge)
  • Changes an item's player-made enchantment to another.
CreateEnchantment(Float maxCharge, MagicEffect[] effects, Float[] magnitudes, Int[] areas, Int[] durations)
  • Creates a new Enchantment on the item with the specified parameters.
Int GetNumReferenceAliases()
  • Returns the number of reference aliases holding this reference.
ReferenceAlias GetNthReferenceAlias(Int n)
  • Returns the nth Reference alias holding this reference.

Events

OnActivate(ObjectReference akActionRef)
  • Event received when this object is activated.
OnAttachedToCell()
  • Event received when this reference moves from a detached cell to an attached one.
OnCellAttach()
  • Event received when this reference's parent cell attaches.
OnCellDetach()
  • Event received when this reference's parent cell detaches.
OnCellLoad()
  • Event received when everything in the cell that holds this reference has loaded.
OnClose(ObjectReference akActionRef)
  • Event received when this object is finished closing.
OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
  • Event received when an object moves into/out of/between containers.
OnDestructionStageChanged(Int aiOldStage, Int aiCurrentStage)
  • Event received when this object's destruction stage has worsened.
OnDetachedFromCell()
  • Event received when this object moves from an attached cell to a detached cell.
OnEquipped(Actor akActor)
  • Event received when this object is equipped by an actor.
OnGrab()
  • Event received when this object is grabbed (z-keyed) by the player.
OnHit(ObjectReference akAggressor, Form akSource, Projectile akProjectile, Bool abPowerAttack, Bool abSneakAttack, Bool abBashAttack, Bool abHitBlocked)
  • Event received when this object is hit with a weapon or projectile.
OnItemAdded(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)
  • Event received when an item is inserted into this object's container.
OnItemRemoved(Form akBaseItem, Int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)
  • Event received when an item is removed from this object's container.
OnLoad()
  • Event received when this object's 3d is loaded and ready.
OnLockStateChanged()
  • Event received when the lock on this object changes its state.
OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect)
  • Event received when a magic effect is attempting to be applied to this reference.
OnOpen(ObjectReference akActionRef)
  • Event received when this object is fully opened.
OnRead()
  • Event received when this object is read. (Only applies to books)
OnRelease()
  • Event received when this object is released by the player (stopped z-keying).
OnReset()
  • Event received when this object is reset.
OnSell(Actor akSeller)
  • Event received when this object is sold by someone.
OnSpellCast(Form akSpell)
  • Event received when this object casts a spell.
OnTrapHit(ObjectReference akTarget, Float afXVel, Float afYVel, Float afZVel, Float afXPos, Float afYPos, Float afZPos, Int aeMaterial, Bool abInitialHit, Int aeMotionType)
  • Event received when this trap object hits a target.
OnTrapHitStart(ObjectReference akTarget, Float afXVel, Float afYVel, Float afZVel, Float afXPos, Float afYPos, Float afZPos, Int aeMaterial, Bool abInitialHit, Int aeMotionType)
  • Event received when this trap object starts colliding with a target.
OnTrapHitStop(ObjectReference akTarget)
  • Event received when this trap object stops colliding with a target.
OnTranslationAlmostComplete()
  • Event received when a translation request is almost complete.
OnTranslationComplete()
  • Event received when a translation request is complete.
OnTranslationFailed()
  • Event received when a translation request has failed.
OnTrigger(ObjectReference akActionRef)
  • Event received when this object is triggered.
OnTriggerEnter(ObjectReference akActionRef)
  • Event received when this object's volume is entered.
OnTriggerLeave(ObjectReference akActionRef)
  • Event received when this object's volume is left.
OnUnequipped(Actor akActor)
  • Event received when this object is unequipped by an actor.
OnUnload()
  • Event received when this object's 3d has been unloaded.
OnWardHit(ObjectReference akCaster, Spell akSpell, Int aiStatus)
  • Event called when the object reference is using a ward that is hit by a spell.