Background for Starfield

The Utility Script

    The Utility script is a part of Starfield’s Papyrus scripting ecosystem. It is included with the base game.

    For this script, the Papyrus index knows about:

    • 39 functions


    Inheritance Tree

    No indexed scripts extend this script.

    Structs

    The Papyrus Index is still under construction. Structs have not been implemented yet.

      Properties

      No properties found.

        Events

          No events found.

        Functions

        • varfunctionCallGlobalFunction(stringasScriptName, stringasFuncName, var[]aParams)NativeGlobal

          Calls a global function synchronously and returns whatever that function does.

        • voidfunctionCallGlobalFunctionNoWait(stringasScriptName, stringasFuncName, var[]aParams)NativeGlobal

          Calls a global function asynchronously. Script execution continues immediately without waiting for the global function you called to finish (or even start).

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

        • intfunctionGetCurrentStackID()NativeGlobalDebugOnly

          Obtains the stack ID of the currently running stack where this function is called.

        • stringfunctionIntToHex(intIntID)NativeGlobal

          Int to Hex converter. General use, but mainly for converting GetFormID which returns an Int to get the Hex ID

        • boolfunctionIsGameMenuPaused()NativeGlobal

          Returns whether the game is currently in menu-paused or not

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

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

        • float[]functionRandomFloatsFromSeed(intaiSeed, intaiCount, floatafMin=0.0, floatafMax=1.0)NativeGlobal

          Generates an array of pseudorandom floating point numbers from a specific seed between afMin and afMax (inclusive)

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

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

        • int[]functionRandomIntsFromSeed(intaiSeed, intaiCount, intaiMin=0, intaiMax=100)NativeGlobal

          Generates an array of pseudorandom integer numbers from a specific seed between aiMin and aiMax (inclusive)

        • voidfunctionSetINIFloat(stringini, floatvalue)NativeGlobalDebugOnly

          Sets a float value in the Fallout 4 Initialization Files (.ini).

        • voidfunctionSetINIInt(stringini, intvalue)NativeGlobalDebugOnly

          Sets an integer value in the Fallout 4 Initialization Files (.ini).

        • voidfunctionSetINIBool(stringini, boolvalue)NativeGlobalDebugOnly

          Sets a boolean value in the Fallout 4 Initialization Files (.ini).

        • voidfunctionSetINIString(stringini, stringvalue)NativeGlobalDebugOnly

          Sets a string value in the Fallout 4 Initialization Files (.ini).

        • int[]functionSplitStringChars(stringaString)NativeGlobal

          String parsing functions

        • voidfunctionWait(floatafSeconds)NativeGlobal

          Pauses the script for at least the specified amount of time. This function is latent. 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.

        • voidfunctionWaitMenuPause(floatafSeconds)NativeGlobal

          Waits for the specified amount of time (latent) - Timer WILL run during menu mode

        • stringfunctionCaptureFrameRate(intnumFrames)NativeGlobalDebugOnly

          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)

        • voidfunctionEnterTestData(stringastestType, stringastestMatter, stringastestDetails, stringastestResultContext, stringastestResult)NativeGlobalDebugOnly

          Sends the passed in test data to the tests website.

        • voidfunctionPostStartUpTimes()NativeGlobalDebugOnly

          Sends the start up times to the tests website.

        • voidfunctionStartFrameRateCapture()NativeGlobalDebugOnly

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

        • voidfunctionEndFrameRateCapture()NativeGlobalDebugOnly
        • floatfunctionGetAverageFrameRate()NativeGlobalDebugOnly
        • floatfunctionGetMinFrameRate()NativeGlobalDebugOnly
        • floatfunctionGetMaxFrameRate()NativeGlobalDebugOnly
        • stringfunctionGetCurrentMemory()NativeGlobalDebugOnly

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

        • intfunctionGetBudgetCount()NativeGlobalDebugOnly
        • stringfunctionGetCurrentBudget(intaiBudgetNumber)NativeGlobalDebugOnly
        • stringfunctionGetBudgetLimit(intaiBudgetNumber)NativeGlobalDebugOnly
        • boolfunctionOverBudget(intaiBudgetNumber)NativeGlobalDebugOnly
        • stringfunctionGetBudgetName(intaiBudgetNumber)NativeGlobalDebugOnly
        • floatfunctionExpiryDay(floatDaysFromNow, PlanetLocalPlanet=NONE, floatMaxUniversalDays=-1, floatFutureStartDay=-1)Global

          returns a float representing days in the future from now (in terms of GameDaysPassed - where 1 = 24 hours)
          DaysFromNow: how many days in the future should the expiration date be?
          LocalPlanet: (optional, ignored if none) will scale DaysFromNow so that it will reflect local day length on planet is if different than universal 24 standard
          MaxUniversalDays: (optional, ignored if <= 0) - no matter the local day length scale, this is the max (24 hour) days you want to add - useful for tidally locked planets, or planets with exceptionally long days
          FutureStartDay: (optional, ignored if < GameDaysPassed) - the start day to add DaysFromNow to.

        • boolfunctionHasExpiryDayPassed(floatafExpiryDay)Global

          checks to see if the passed in value is less than the current day

        • floatfunctionGetHoursUntilLocalHour(floatafTargetHourLocal)Global

          returns hours until specified LOCAL target hour (local equivalent of 24-hour time, 0.0-24.0)

        • ObjectReferencefunctionGetFirstPlayer(ObjectReferencerefToCheck01, ObjectReferencerefToCheck02, ObjectReferencerefToCheck03=NONE, ObjectReferencerefTocheck04=NONE)Global

          returns first player in list of refs passed in (mainly for use in distance check events)

        • ObjectReferencefunctionGetFirstNonPlayer(ObjectReferencerefToCheck01, ObjectReferencerefToCheck02, ObjectReferencerefToCheck03=NONE, ObjectReferencerefTocheck04=NONE)Global

          returns first non-player in list of refs passed in (mainly for use in distance check events)

        Some data provided by the Fallout 4 Creation Kit Wiki. Licensed under the Creative Commons Attribution-Share Alike 4.0 license.