ObjectReference Script

Revision as of 04:32, 24 October 2013 by imported>CraftySentinel (Formatting Change)


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

Function Description
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) Returns if this reference has the specified LocationRefType attached.
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) 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

Function Description
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.
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.
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.

Events

Function Description
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.