Debug functions

print()

Prints one or more objects to the CET Console and CET Console Logs file. Multiple objects will be printed separated by a space.

Definition

print(obj: object, [obj2: object, [...]]) -> nil

Usage example

init.lua
print('Hey', 'there', 1, 2, true)
<console>
> Hey there 1 2 true

spdlog

Write a string in the Individual Mod Logs file, eg, <>/mods/my_mod/my_mod.log.

There are several spdlog methods, all are identical and have the same output:

  • spdlog.debug()

  • spdlog.trace()

  • spdlog.info()

  • spdlog.warning()

  • spdlog.error()

  • spdlog.critical()

Definition

spdlog.info(string: string) -> nil

Usage example

init.lua
spdlog.info('Custom log')
my_mod.log
> [02:31:08] Cutom log

Usage tips

It is recommended to use spdlog.info(tostring(my_var)) to make sure the variable is compatible, as boolean, interger and other types will throw an error.

Dump()

Returns a JSON-ish string with details about the members of obj:

  • Type name

  • Instance functions

  • Static functions

  • Properties

The listed functions include their signatures.

If detailed is true, function descriptions will include the function's full name hash, short name, and short name hash.

obj must be an instance of a wrapped game type, such as PlayerPuppet which is returned by Game.GetPlayer(). DumpAllTypeNames() will dump the names of all such types.

Definition

Dump(obj: GameDataType, detailed: bool) -> string

Usage example

init.lua
print(Dump(Game.GetPlayer(), false))
<console>
{
    name: PlayerPuppet,
    functions: {
        IsPlayer() => (Bool),
        IsReplacer() => (Bool),
        IsVRReplacer() => (Bool),
        IsJohnnyReplacer() => (Bool),
        IsReplicable() => (Bool),
        GetReplicatedStateClass() => (CName),
        IsCoverModifierAdded() => (Bool),
        IsWorkspotDamageReductionAdded() => (Bool),
        IsWorkspotVisibilityReductionActive() => (Bool),
        GetOverlappedSecurityZones() => (array:gamePersistentID),
        ...
}

GameDump()

Returns the game's internal debug string for the given object. This string displays the object's properties and their values.

Beware that this string probably won't have any line breaks, so it's more advisable to open <>/scripting.log in a text editor with line wrapping to view the output of this function.

Definition

GameDump(obj: GameDataType) -> string

Usage example

init.lua
print(GameDump(Game.GetPlayer()))
<console>
> PlayerPuppet[ customCameraTarget:ECCTV_OnlyOnscreen, renderSceneLayerMask:<Default;Cyberspace>, persistentState:, playerSocket:gamePlayerSocket[ ], ...]

DumpType()

Like Dump(), but takes a type name rather than an object instance. Use DumpAllTypeNames() to get a list of all types.

Definition

DumpType(typeName: string, detailed: boolean) -> string

Usage example

init.lua
print(DumpType('PlayerPuppet', false))
<console>
{
    name: PlayerPuppet,
    functions: {
        IsPlayer() => (Bool),
        IsReplacer() => (Bool),
        IsVRReplacer() => (Bool),
        IsJohnnyReplacer() => (Bool),
        IsReplicable() => (Bool),
        GetReplicatedStateClass() => (CName),
        IsCoverModifierAdded() => (Bool),
        IsWorkspotDamageReductionAdded() => (Bool),
        IsWorkspotVisibilityReductionActive() => (Bool),
        GetOverlappedSecurityZones() => (array:gamePersistentID),
        ...
}

DumpAllTypeNames()

Dump all type names to <>/cyber_engine_tweaks.log and prints to the CET Console the number of types dumped.

Definition

DumpAllTypeNames() -> nil

Usage example

init.lua
DumpAllTypeNames()
<console>
> Dumped 26811 types
<cyber_engine_tweaks.log>
[operator ()] [4416] handle:gamedataUICharacterCreationAttribute_Record
[operator ()] [4416] DamageTypeIndicator
[operator ()] [4416] worldAIDirectorSpawnNode
[operator ()] [4416] UI_DEV_ScriptableSystemUseNewTooltips
[operator ()] [4416] array:SDocumentThumbnailWidgetPackage
[operator ()] [4416] gameIPersistencySystem
[operator ()] [4416] DelayedComDeviceClose
[operator ()] [4416] inkSettingsSelectorController
[operator ()] [4416] array:handle:AICombatSquadScriptInterface
[operator ()] [4416] animAnimNode_LocomotionAdjusterOnEvent
[operator ()] [4416] whandle:gamedataLightPreset_Record
[operator ()] [4416] handle:C4ControllerPS
...

Last updated