Difference between revisions of "ObjectReference Script"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Cipscis
(→‎Properties: Added Motion properties)
imported>Dienes
Line 427: Line 427:
'''bool Function [[IsHarvested - ObjectReference|IsHarvested]]()'''
'''bool Function [[IsHarvested - ObjectReference|IsHarvested]]()'''
* (Flora and Tree only) Returns whether the flora has been harvested or not.
* (Flora and Tree only) Returns whether the flora has been harvested or not.
'''Function [[SetItemHealthPercent - ObjectReference|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 Function [[GetItemMaxCharge - ObjectReference|GetItemMaxCharge]]()'''
'''float Function [[GetItemCharge - ObjectReference|GetItemCharge]]()'''
'''Function [[SetItemCharge- ObjectReference|SetItemCharge]](float charge)'''


== Events ==
== Events ==

Revision as of 15:30, 21 October 2012


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 Activate(ObjectReference akActivator)

  • Have the passed in reference activate this object.

Function AddInventoryEventFilter(Form akFilter)

  • Adds an inventory event filter to this reference.

Function AddItem(Form akItemToAdd, int aiCount, bool abSilent)

  • Adds the passed in item to this object's inventory.

Function AddKeyIfNeeded(ObjectReference ObjectWithNeededKey)

  • Adds the key to ObjectWithNeededKey if this object's inventory does not contain it already.

Function AddToMap(bool abAllowFastTravel)

  • Adds this map marker to the map, optionally making it available for fast travel.

Function ApplyHavokImpulse(float afX, float afY, float afZ, float afMagnitude)

  • Apply a Havok impulse force to this object.

Function BlockActivation(bool abBlocked)

  • Blocks (or unblocks) normal activation processing for this reference.

int Function CalculateEncounterLevel(int aiDifficulty)

  • Calculate this object's encounter level, using the specified difficulty.

bool Function CanFastTravelToMarker()

  • Can the player fast travel to this map marker?

Function ClearDestruction()

  • Clears all effects of destruction from this object.

int Function CountLinkedRefChain(keyword apKeyword, int maxExpectedLinkedRefs)

  • Counts the number of linked refs that are in a linked Ref chain

Function CreateDetectionEvent(Actor akOwner, int aiSoundLevel)

  • Create a detection event at this reference, with the specified owner.

Function DamageObject(float afDamage)

  • Damages this object and advances the destruction stage.

Function Delete()

  • Deletes this object.

Function DeleteWhenAble()

  • Waits until this reference is out of the loaded area and then deletes it

Function Disable(bool abFadeOut)

  • Disables this object.

Function DisableLinkChain(Keyword apKeyword, bool abFadeOut)

  • Disables all of the references that are linked, in a chain, to this one.

Function DisableNoWait(bool abFadeOut)

  • Disables this object and does not wait for the object to be disable or faded out.

Function DropObject(Form akObject, int aiCount)

  • Drops the specified object from this object's inventory.

Function Enable(bool abFadeIn)

  • Enables this object.

Function EnableFastTravel(bool abEnable) native

  • Enables or disables fast travel to this map marker.

Function EnableLinkChain(Keyword apKeyword)

  • Enables all of the references that are linked, in a chain, to this one.

Function EnableNoWait(bool abFadeIn)

  • Enables this object and does not wait for the object to be enabled or faded in.

Function ForceAddRagdollToWorld() native

  • Forcibly adds the ragdoll of a reference to the world

Function ForceRemoveRagdollFromWorld() native

  • Forcibly removes the ragdoll of a reference from the world

ActorBase Function GetActorOwner()

  • Obtains the actor base that owns this object.

float Function GetAngleX()

  • Obtains this object's rotation around the x axis.

float Function GetAngleY()

  • Obtains this object's rotation around the y axis.

float Function GetAngleZ()

  • Obtains this object's rotation around the z axis.

bool Function GetAnimationVariableBool(string asVariableName)

  • Fetches the value of a variable on the reference's animation graph (bool version).

float Function GetAnimationVariableFloat(string asVariableName)

  • Fetches the value of a variable on the reference's animation graph (float version).

int Function GetAnimationVariableInt(string asVariableName)

  • Fetches the value of a variable on the reference's animation graph (int version).

Form Function GetBaseObject()

  • Obtains this reference's base object.

int Function GetCurrentDestructionStage()

  • Gets the object's current stage of destruction.

Location Function GetCurrentLocation()

  • Obtains this reference's current location.

Scene Function GetCurrentScene()

  • Obtains the scene that this reference is currently participating in, if any.

float Function GetDistance(ObjectReference akOther)

  • Calculates the distance between this object and the passed in one.

Location Function GetEditorLocation()

  • Obtains this reference's editor location.

Faction Function GetFactionOwner()

  • Gets the faction that owns this reference.

float Function GetHeadingAngle(ObjectReference akOther)

  • Gets the angle between this object's heading, and the direction the other object is in.

float Function GetHeight()

  • Gets the height of this object

int Function GetItemCount(Form akItem)

  • Returns how many of the specified item is in this object's inventory.

float Function GetItemHealthPercent()

  • Returns the item health percent of this object (1.0 == 100%).

Key Function GetKey()

  • Obtains the key that unlocks this object (if any).

float Function GetLength()

  • Obtains the length of this object.

ObjectReference Function GetLinkedRef(Keyword apKeyword)

  • Returns our linked reference for the given Keyword, if any.

int Function GetLockLevel()

  • Obtains the level of the lock on this object.

float Function GetMass()

  • Obtains this object's mass in Havok.

ObjectReference Function GetNthLinkedRef(int aiLinkedRef)

  • Obtains the nth linked ref from this object.

int Function GetOpenState()

  • Obtains this object's current "open state".

Cell Function GetParentCell()

  • Obtains the cell this object is currently in.

float Function GetPositionX()

  • Returns this object's current X position.

float Function GetPositionY()

  • Returns this object's current Y position.

float Function GetPositionZ()

  • Returns this object's current Z position.

float Function GetScale()

  • Get this object's current scale.

int Function GetTriggerObjectCount()

  • Returns the number of objects inside this trigger volume.

VoiceType function GetVoiceType()

  • Obtains the VoiceType for this actor or talking activator.

float Function GetWidth()

  • Get the current width of the object.

Worldspace Function GetWorldSpace()

  • Returns the worldspace this reference is in.

bool Function HasEffectKeyword(Keyword akKeyword)

  • Returns if this reference has an active effect coming from a magic effect with the specified keyword attached

bool Function HasNode(string asNodeName)

  • Returns if this reference has the specified name node in its 3D.

bool Function HasRefType(LocationRefType akRefType)

Function IgnoreFriendlyHits(bool abIgnore)

  • Flags this reference as ignoring (or not ignoring) friendly hits

Function InterruptCast()

  • Interrupts any spellcasting this object may be doing.

bool Function IsActivateChild(ObjectReference akChild)

  • Returns whether the passed in reference is an activate child of this reference.

bool Function IsActivationBlocked()

  • Returns whether normal activation processing is currently blocked on this reference or not.

bool Function Is3DLoaded()

  • Checks to see if this reference's 3D data is currently loaded or not.

bool Function IsDeleted()

  • Checks to see if this object is currently flagged for delete.

bool Function IsDisabled()

  • Is this object currently disabled?

bool Function IsEnabled()

  • Is this object currently enabled?

bool Function IsFurnitureInUse(bool abIgnoreReserved)

  • Is any furniture marker on this object in use?

bool Function IsFurnitureMarkerInUse(int aiMarker, bool abIgnoreReserved)

  • Is the specified furniture marker on this object in use?

bool Function IsIgnoringFriendlyHits()

  • Is this object ignoring friendly hits?

bool Function IsInDialogueWithPlayer()

  • Is this actor or talking activator currently talking to the player?

bool Function IsInInterior ()

  • Returns true if the object is in an interior cell.

bool Function IsInLocation (Location akLocation)

  • Returns true if the object is currently in that location or a child of that location.

bool Function IsLocked()

  • Is the lock on this object locked?

bool Function IsMapMarkerVisible()

  • Is this map marker visible to the player?

bool Function IsNearPlayer()

  • A quick-and-dirty function to tell if this object is safe to enable or disable

Function KnockAreaEffect(float afMagnitude, float afRadius)

  • Executes a knock effect to an area

Function Lock(bool abLock, bool abAsOwner)

  • Locks or unlocks this object.

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

Function MoveToInteractionLocation(ObjectReference akTarget)

  • Moves this object to the specified object's interaction location.

Function MoveToMyEditorLocation()

  • Moves this object to its own editor location.

Function MoveToNode(ObjectReference akTarget, string asNodeName)

  • Moves this object to the position (and rotation) of the specified node on the specified object's 3D

Actor Function PlaceActorAtMe(ActorBase akActorToPlace, int aiLevelMod, EncounterZone akZone)

  • Create an actor at this object's location.

ObjectReference Function 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 Function PlayAnimation(string asAnimation)

  • Plays the specified animation on this object, returning immediately.

bool Function PlayAnimationAndWait(string asAnimation, string asEventName)

  • Plays the specified animation on this object and waits for the specified event before returning. (latent)

bool Function PlayGamebryoAnimation(string asAnimation, bool abStartOver, float afEaseInTime)

  • Plays a legacy nif file based animation

bool Function PlayImpactEffect (ImpactDataSet akImpactEffect, string asNodeName, float afPickDirX, float afPickDirY, float afPickDirZ, float afPickLength, bool abApplyNodeRotation, bool abUseNodeLocalRotation)

  • Plays an impact effect.

bool Function PlaySyncedAnimationAndWaitSS(string asAnimation1, string asEvent1, ObjectReference akObj2, string asAnimation2, string asEvent2)

  • Plays two animations simultaneously, waiting for events from both.

bool Function PlaySyncedAnimationSS(string asAnimation1, ObjectReference akObj2, string asAnimation2)

  • Plays two animations simultaneously.

Function PlayTerrainEffect (string asEffectModelName, string asAttachBoneName)

  • Plays a terrain effect.

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

Function PushActorAway(Actor akActorToPush, int aiKnockbackDamage)

  • Pushes the other actor away from this object as if hit by the specified amount of knockback damage.

bool Function RampRumble(float power, float duration, float falloff)

  • Shakes cam/controller based on distance from player

Function RemoveAllInventoryEventFilters()

  • Remove all inventory event filters on this reference.

Function RemoveAllItems(ObjectReference akTransferTo, bool abKeepOwnership, bool abSilent)

  • Removes all items from this container, optionall transferring them to another one.

Function RemoveInventoryEventFilter(Form akFilter)

  • Remove a specific inventory event filter.

Function RemoveItem(Form akItemToRemove, int aiCount, bool abSilent)

  • Removes the passed in item from this object's inventory.

Function Reset(ObjectReference akTarget)

  • Resets this object reference, optionally placing the object at the new target.

Function Say(Topic akTopicToSay, Actor akActorToSpeakAs, bool abSpeakInPlayersHead)

  • Causes this reference to speak a topic as if it were the specified actor.

Function SendStealAlarm(Actor akThief)

  • Sends a steal alarm as if this reference had just been stolen by the actor.

Function SetActorCause(Actor akActor)

  • Sets this actor as this object's actor cause.

Function SetActorOwner(ActorBase akActorBase)

  • Sets this actor base as this object's owner.

Function SetAngle(float afXAngle, float afYAngle, float afZAngle)

  • Sets this object's rotation. Angles are in degrees.

Function SetAnimationVariableBool(string asVariableName, bool abNewValue)

  • Sets the value of a variable on the reference's animation graph (bool version).

Function SetAnimationVariableFloat(string asVariableName, float afNewValue)

  • Sets the value of a variable on the reference's animation graph (float version).

Function SetAnimationVariableInt(string asVariableName, int aiNewValue)

  • Sets the value of a variable on the reference's animation graph (int version).

Function SetDestroyed(bool abDestroyed)

  • Sets or clears this object's destroyed flag.

Function SetFactionOwner(Faction akFaction)

  • Sets this faction as this object's owner.

Function SetLockLevel(int aiLockLevel)

  • Sets the lock level on this object.

Function SetMotionType(int aiMotionType, bool abAllowActivate)

  • Sets the havok motion type on this object.

Function SetNoFavorAllowed(bool abNoFavor)

  • Sets or clears this object's ability to be not used by a teammate for a favor

Function SetOpen(bool abOpen)

  • Opens or closes this object.

Function SetPosition(float afX, float afY, float afZ)

  • Sets this object's position.

Function SetScale(float afScale)

  • Set the current scale of the object

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

Function 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

Function 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

Function StopTranslation()

  • Stops any translation on the object.

Function TetherToHorse(ObjectReference akHorse)

  • Tether a prisoner cart to the given horse.

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

Function TranslateToRef(ObjectReference arTarget, float afSpeed, float afMaxRotationSpeed)

  • Makes the reference translate to the target ref position/orient at the given speed

bool Function WaitForAnimationEvent(string asEventName)

  • Waits for the animation graph to send the specified event.

SKSE Member Functions

int Function GetNumItems()

  • (Container only) Returns the number of forms in the container.

Form Function GetNthForm(int index)

  • (Container only) Returns the specified form from the container.

float Function GetTotalItemWeight()

  • (Container only - perhaps Player only) Returns the total weight of all items held in the container.

float Function GetTotalArmorWeight()

  • (Container only - perhaps Player only) Returns the total weight of the armor in the container.

bool Function IsHarvested()

  • (Flora and Tree only) Returns whether the flora has been harvested or not.

Function 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 Function GetItemMaxCharge()

float Function GetItemCharge()

Function SetItemCharge(float charge)

Events

Event OnActivate(ObjectReference akActionRef)

  • Event received when this object is activated.

Event OnAttachedToCell()

  • Event received when this reference moves from a detached cell to an attached one.

Event OnCellAttach()

  • Event received when this reference's parent cell attaches.

Event OnCellDetach()

  • Event received when this reference's parent cell detaches.

Event OnCellLoad()

  • Event received when everything in the cell that holds this reference has loaded.

Event OnClose(ObjectReference akActionRef)

  • Event received when this object is finished closing.

Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)

  • Event received when an object moves into/out of/between containers.

Event OnDestructionStageChanged(int aiOldStage, int aiCurrentStage)

  • Event received when this object's destruction stage has worsened.

Event OnDetachedFromCell()

  • Event received when this object moves from an attached cell to a detached cell.

Event OnEquipped(Actor akActor)

  • Event received when this object is equipped by an actor.

Event OnGrab()

  • Event received when this object is grabbed (z-keyed) by the player.

Event 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.

Event OnItemAdded(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akSourceContainer)

  • Event received when an item is inserted into this object's container.

Event OnItemRemoved(Form akBaseItem, int aiItemCount, ObjectReference akItemReference, ObjectReference akDestContainer)

  • Event received when an item is removed from this object's container.

Event OnLoad()

  • Event received when this object's 3d is loaded and ready.

Event OnLockStateChanged()

  • Event received when the lock on this object changes its state.

Event OnMagicEffectApply(ObjectReference akCaster, MagicEffect akEffect)

  • Event received when a magic effect is attempting to be applied to this reference.

Event OnOpen(ObjectReference akActionRef)

  • Event received when this object is fully opened.

Event OnRead()

  • Event received when this object is read. (Only applies to books)

Event OnRelease()

  • Event received when this object is released by the player (stopped z-keying).

Event OnReset()

  • Event received when this object is reset.

Event OnSell(Actor akSeller)

  • Event received when this object is sold by someone.

Event OnSpellCast(Form akSpell)

  • Event received when this object casts a spell.

Event 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.

Event 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.

Event OnTrapHitStop(ObjectReference akTarget)

  • Event received when this trap object stops colliding with a target.

Event OnTranslationAlmostComplete()

  • Event received when a translation request is almost complete.

Event OnTranslationComplete()

  • Event received when a translation request is complete.

Event OnTranslationFailed()

  • Event received when a translation request has failed.

Event OnTrigger(ObjectReference akActionRef)

  • Event received when this object is triggered.

Event OnTriggerEnter(ObjectReference akActionRef)

  • Event received when this object's volume is entered.

Event OnTriggerLeave(ObjectReference akActionRef)

  • Event received when this object's volume is left.

Event OnUnequipped(Actor akActor)

  • Event received when this object is unequipped by an actor.

Event OnUnload()

  • Event received when this object's 3d has been unloaded.

Event OnWardHit(ObjectReference akCaster, Spell akSpell, int aiStatus)

  • Event called when the object reference is using a ward that is hit by a spell.