Difference between revisions of "Global"

From the CreationKit Wiki
Jump to navigation Jump to search
imported>GigaPoint
(Revise Keyword Redirects (in this case, add a link))
 
Line 1: Line 1:
<small>For the use in functions, see [[Function_Reference#Function_Header|Function Reference]]</small>
A [[Global]] Variable is a numeric value stored by the game. Globals are often used to pass data between [[:Category:Papyrus|Scripts]] and [[:Category:Condition_Functions|Condition Functions]] or other code-driven systems.
A [[Global]] Variable is a numeric value stored by the game. Globals are often used to pass data between [[:Category:Papyrus|Scripts]] and [[:Category:Condition_Functions|Condition Functions]] or other code-driven systems.



Latest revision as of 15:30, 18 December 2021

For the use in functions, see Function Reference

A Global Variable is a numeric value stored by the game. Globals are often used to pass data between Scripts and Condition Functions or other code-driven systems.

Global Dialog[edit | edit source]

Globals can be found in an Object Window under Miscellaneous / Global.

  • ID: The Form's Editor ID.
  • Variable Type: The data type used to store the value (Short, Long, or Float).
    • Internally, all Globals are stored as 32-bit floating-point numbers. There is no difference between Short and Long.
    • The technical implementation of floating-point numbers means that they are inaccurate at very large or very small values (for example, all numbers from 2000000000 to 2000000064 are stored as 2000000000).
  • Value: The initial value of the Global.
  • Constant:
    • If checked, the Value of this Global is not expected to change during gameplay, and will not be saved with save game data.
    • If unchecked, the Value is expected to change, and will be saved.

Accessing Global Variables[edit | edit source]

Scripting[edit | edit source]

To access global variables in Papyrus scripts, the global variable must be passed into the script as a property. Then one needs to use the functions GetValue and SetValue

GlobalVariable Property GameHour  auto

float myhour = GameHour.GetValue()
GameHour.SetValue(10)

Console[edit | edit source]

In the Console global variables can be adressed directly:

set GameHour to 10
GetGlobalValue GameHour
show GameHour ; same effect as GetGlobalValue GameHour


Language: English  • 日本語