Reference functions

From the CreationKit Wiki
Jump to navigation Jump to search

Disclaimer: Papyrus vs. the Console and Conditions[edit | edit source]

In Skyrim, there are two scripting systems. The main one, Papyrus, is used to write actual scripts. The other one, which is the same language as used on previous games like Oblivion, is used only in the Console and in Category:Conditions.

This page describes a subset of the functions used in the scripting language used in the console and in conditions. This information is not relevant to Papyrus.

Reference Functions[edit | edit source]

Most script functions are reference functions. This refers to the fact that they must be run on an object reference. Reference scripts (object scripts and dialogue result scripts) can use implicit reference syntax. For example:

"GetFactionRelation player"

GetFactionRelation is a reference function -- whose faction relation are you asking for? In this case, since we did not specify a reference, it is implied that we are really saying:

"thisReferenceID.GetFactionRelation player"

You can always use explicit reference syntax, meaning that you explicitly specify the reference to run the function on. Non-reference scripts MUST use explicit reference syntax, since they are not running on an object reference. For example:

(DelphineREF) "00013485.GetFactionRelation player"

Here we are asking for Lucas Simm's faction relation towards the player. This syntax could be used in any script, because we have made the function's reference explicit.

NOTE: you can also run reference functions on reference variables, just as if they were the object themselves.