Difference between revisions of "Topic Info Fragments"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>Fg109
m (→‎Notes: added note)
imported>JT
(tip for inline cast of GetOwningQuest() -- this would have been a godsend if I had known about it before having to dink around with obnoxiously awful TIF properties)
 
(One intermediate revision by one other user not shown)
Line 14: Line 14:


== Notes ==
== Notes ==
*To get the Target of a line of dialogue you can do this:
*To get the Target of a line of dialogue you can do this: <source lang="papyrus">akSpeaker.GetDialogueTarget()</source>
<source lang="papyrus">
akSpeaker.GetDialogueTarget()
</source>
*Do not have any properties or variables pointing at a topic info fragment script. For memory reasons, these do not stick around and may cause odd behavior if you try to hold onto them.
*Do not have any properties or variables pointing at a topic info fragment script. For memory reasons, these do not stick around and may cause odd behavior if you try to hold onto them.
* When a topic info script is first created, it isn't possible to add properties to it.  You must first close the Topic Info dialog window and then reopen it before adding properties to the script.
* When a topic info script is first created, it isn't possible to add properties to it.  You must first close the Topic Info dialog window and then reopen it before adding properties to the script.
* You can use GetOwningQuest() to access the current quest object.  You can also cast this quest inline if you want to access specific functions from the quest -- for instance: <source lang="papyrus">(GetOwningQuest() as DialogueFollowerScript).AnimalFollow()</source>


== See Also ==
== See Also ==
*[[TopicInfo Script]]
*[[TopicInfo Script]]
*[[GetDialogueTarget - Actor]]
*[[GetDialogueTarget - Actor]]

Latest revision as of 19:23, 15 May 2015


Type[edit | edit source]

Topic Info fragment scripts extend TopicInfo.

Run Time[edit | edit source]

Topic Info fragments are run when the topic begins, and when the topic ends.

Special Variables[edit | edit source]

  • akSpeaker: This is the Actor that is speaking the topic. (May be None if the speaker isn't an Actor - in which case, check akSpeakerRef)
  • akSpeakerRef: This is the ObjectReference that is speaking the topic. Will be the same object as akSpeaker.

Notes[edit | edit source]

  • To get the Target of a line of dialogue you can do this:
    akSpeaker.GetDialogueTarget()
  • Do not have any properties or variables pointing at a topic info fragment script. For memory reasons, these do not stick around and may cause odd behavior if you try to hold onto them.
  • When a topic info script is first created, it isn't possible to add properties to it. You must first close the Topic Info dialog window and then reopen it before adding properties to the script.
  • You can use GetOwningQuest() to access the current quest object. You can also cast this quest inline if you want to access specific functions from the quest -- for instance:
    (GetOwningQuest() as DialogueFollowerScript).AnimalFollow()

See Also[edit | edit source]