Background for Skyrim SE

The Utility Script

    The Utility script is a part of Skyrim SE’s Papyrus scripting ecosystem. It is included with the base game, and is extended/modified by modded sources such as Skyrim Script Extender x64 (SKSE).

    For this script, the Papyrus index knows about:

    • 40 functions


    Inheritance Tree

    No indexed scripts extend this script.

    Properties

    No properties found.

      Events

        No events found.

      Functions

      • stringfunctionGameTimeToString(floatafGameTime)NativeGlobal

        Converts the passed-in game time (in game days passed) to a string detailing the date and time it represents. The resulting format is: "MM/DD/YYYY HH:MM" and uses a 24-hour clock.

      • floatfunctionGetCurrentGameTime()NativeGlobal

        Obtains the current game time in terms of game days passed (same as the global variable)

      • floatfunctionGetCurrentRealTime()NativeGlobal

        Gets the number of real-world seconds that have elapsed since the game has launched. This time does not count time the game has been alt-tabbed, or other cases where the game has been frozen (i.e. during a save or load, time in a menu is counted). This function is most useful for timing a long operation.

      • boolfunctionIsInMenuMode()NativeGlobal

        Obtains whether the game is currently in "menu mode" or not. Menu mode is basically defined as whenever the game is paused, usually because some menu is showing. Dialogue does not pause the game, and so does not put the game into "menu mode".

      • intfunctionRandomInt(intaiMin=0, intaiMax=100)NativeGlobal

        Generates a random integer between the minimum and maximum values (inclusive).

      • floatfunctionRandomFloat(floatafMin=0.0, floatafMax=1.0)NativeGlobal

        Generates a random floating point number between the minimum and maximum values (inclusive).

      • voidfunctionSetINIFloat(stringini, floatvalue)NativeGlobal

        Sets a float INI setting's value.

      • voidfunctionSetINIInt(stringini, intvalue)NativeGlobal

        Sets an integer INI setting's value.

      • voidfunctionSetINIBool(stringini, boolvalue)NativeGlobal

        Sets a boolean INI setting's value.

      • voidfunctionSetINIString(stringini, stringvalue)NativeGlobal

        Sets a string INI setting's value.

      • voidfunctionWait(floatafSeconds)NativeGlobal

        Pauses the script for at least the specified amount of real-world time. This function is latent. Unlike Utility.WaitMenuMode(...), time will not be counted while the player is in a menu.

      • voidfunctionWaitGameTime(floatafHours)NativeGlobal

        Pauses the script for at least the specified amount of game time. This function is latent.

      • voidfunctionWaitMenuMode(floatafSeconds)NativeGlobal

        Pauses the script for at least the specified amount of time. This function is latent. Time will be counted while the player is in a menu.

      • stringfunctionCaptureFrameRate(intnumFrames)NativeGlobal

        Gets you a string describing the frame rate for a certain number of frames
        (String will be no longer than 1K characters long, separated by commas)

      • voidfunctionStartFrameRateCapture()NativeGlobal

        Starts or ends a frame rate capture -- then you can get the min or max since
        frame capture started at any time

      • voidfunctionEndFrameRateCapture()NativeGlobal
      • floatfunctionGetAverageFrameRate()NativeGlobal
      • floatfunctionGetMinFrameRate()NativeGlobal
      • floatfunctionGetMaxFrameRate()NativeGlobal
      • intfunctionGetCurrentMemory()NativeGlobal

        Memory tracking functions - only available if memory tracking is turned on

      • intfunctionGetBudgetCount()NativeGlobal
      • intfunctionGetCurrentBudget(intaiBudgetNumber)NativeGlobal
      • boolfunctionOverBudget(intaiBudgetNumber)NativeGlobal
      • stringfunctionGetBudgetName(intaiBudgetNumber)NativeGlobal
      • floatfunctionGetINIFloat(stringini)NativeGlobal

        Gets a float INI setting's value.

      • intfunctionGetINIInt(stringini)NativeGlobal

        Gets an int INI setting's value.

      • boolfunctionGetINIBool(stringini)NativeGlobal

        Gets a boolean INI setting's value.

      • stringfunctionGetINIString(stringini)NativeGlobal

        Gets a string INI setting's value.

      • float[]functionCreateFloatArray(intsize, floatfill=0.0)NativeGlobal

        Size is treated as unsigned, negative numbers will result
        extremely large positive numbers, USE WITH CARE

      • int[]functionCreateIntArray(intsize, intfill=0)NativeGlobal
      • bool[]functionCreateBoolArray(intsize, boolfill=false)NativeGlobal

        Creates an array of Bool values, with the specified length. Be careful when using this function. It is possible to create arrays longer than 128 elements, and size is treated as an unsigned integer. Negative numbers will produce extremely large values, which can cause major issues.

      • string[]functionCreateStringArray(intsize, stringfill="")NativeGlobal
      • Form[]functionCreateFormArray(intsize, Formfill=NONE)NativeGlobal
      • Alias[]functionCreateAliasArray(intsize, Aliasfill=NONE)NativeGlobal
      • float[]functionResizeFloatArray(float[]source, intsize, floatfill=0.0)NativeGlobal
      • int[]functionResizeIntArray(int[]source, intsize, intfill=0)NativeGlobal

        Resizes an already existing array of Int values to the specified length. (This function requires SKSE)
        Be careful when using this function. It is possible to create arrays longer than 128 elements, and size is treated as an unsigned 32-bit integer. Do not exceed a length of 2^31. SKSE's DLL can handle a max length of 2^32 however, Papyrus cannot. Negative numbers will produce extremely large values, which can cause major issues.

      • bool[]functionResizeBoolArray(bool[]source, intsize, boolfill=false)NativeGlobal
      • string[]functionResizeStringArray(string[]source, intsize, stringfill="")NativeGlobal
      • Form[]functionResizeFormArray(Form[]source, intsize, Formfill=NONE)NativeGlobal
      • Alias[]functionResizeAliasArray(Alias[]source, intsize, Aliasfill=NONE)NativeGlobal
      Some data provided by the Skyrim Creation Kit Wiki. Licensed under the Creative Commons Attribution-ShareAlike license.