Skip to main content

Character

This item only works when running on the server. Server

Generalized functions to aid in eaiser manipulation of characters.

Types

SlotDataType

type SlotDataType = DatastoreModule.SlotDataType

Character

Singleton
interface Character {
ModelModel--

The character model

Namestring--

The characters name

TorsoBasePart?
HumanoidRootPartBasePart?
HumanoidHumanoid?
ExternalFolderFolder
IsPlayer:boolean
Player:Player?
}

Represents the character singleton.

INFO

Functions are not listed as there is far too many, it will keep on expanding so it is redundant to show them.

Functions

New

Static
Character.New(
modelModel--

Roblox character model instance.

) → Character--

Character object

Constructor for a new Character instance.

Get

Static
Character.Get(namestring) → Character?

Retrieves a registered Character object instance by name.

GrabProfile

Data
Character:GrabProfile() → PlayerProfileType?

Types

type PlayerProfileType = DatastoreModule.PlayerProfileType

Grabs the player's profile data. Returns nil for NPCs.

GrabSlotData

Data
Character:GrabSlotData() → SlotDataType?--

Slot Data

Grabs the player's slot data. Returns nil for NPCs.

WaitForSlotData

Data
Character:WaitForSlotData(
timeoutnumber?--

Desired search time, defaults to 10.

) → SlotDataType?--

Slot Data

Waits for the player's slot data. Returns nil for NPCs.

GrabWeaponModel

General
Character:GrabWeaponModel(weaponNamestring) → instance--

The cloned instance

Searches through Assets for weaponName and clones the instance and returns the clone.

SetupWeapons

General
Character:SetupWeapons(weaponNames{string}) → ()

Clones the weaponNames weapons and welds them to the player.

ToggleCollisions

General
Character:ToggleCollisions(stateboolean?) → ()

Turns a characters collisions on or off using a whitelist.

RagdollCharacter

General
Character:RagdollCharacter(durationSecondsnumber?) → ()

Ragdolls a desired character.

KnockCharacter

General
Character:KnockCharacter(
durationnumber?--

Defaults to 60 seconds

) → ()

Knocks a desired character, ragdolling them and limiting their actions.

KillCharacter

General
Character:KillCharacter(
safeRespawnboolean?--

Defaults to false

) → ()

Kills a desired character, respawning them.

Can be passed with a boolean that determines if the player if the player loses data when killed.

Implementation

The safeRespawn is not implemented as of 11/27/2025. It is not advised to pass this parameter.

Scale

General
Character:Scale(
desiredScalenumber?--

Defaults to 1

) → number--

The players final scale.

Sets the players scale.

CheckState

States
Character:CheckState(
stateNamestring--

The state to check

) → StateManager.StateTypes?

Checks the value of a state for this character instance.

CheckStateDuration

States
Character:CheckStateDuration(
stateNamestring--

The state to check the duration of

) → number?

Checks the remaining duration of a state for this character instance.

AddState

States
Character:AddState(
stateNamestring,--

The state to add

valueStateManager.StateTypes,--

The new value to set the state to

durationnumber?,--

Optional: Duration of the state

isUnoverwritableboolean--

Optional: Prevents this state from being overwritten by another AddState()

) → ()

Adds a new state or refreshes an existing state for this character instance.

ChangeState

States
Character:ChangeState(
stateNamestring,--

The state to change

newValueStateManager.StateTypes,--

The new value to set the state to

newDurationnumber?--

Optional: Duration of the state

) → ()

Changes the value and optionally the duration of an existing state for this character instance.

Show raw api
{
    "functions": [
        {
            "name": "GrabProfile",
            "desc": "Grabs the player's profile data. Returns nil for NPCs.",
            "params": [],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "PlayerProfileType?"
                }
            ],
            "function_type": "method",
            "tags": [
                "Data"
            ],
            "source": {
                "line": 52,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterData.luau"
            }
        },
        {
            "name": "GrabSlotData",
            "desc": "Grabs the player's slot data. Returns nil for NPCs.",
            "params": [],
            "returns": [
                {
                    "desc": "Slot Data",
                    "lua_type": "SlotDataType?"
                }
            ],
            "function_type": "method",
            "tags": [
                "Data"
            ],
            "source": {
                "line": 67,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterData.luau"
            }
        },
        {
            "name": "WaitForSlotData",
            "desc": "Waits for the player's slot data. Returns nil for NPCs.",
            "params": [
                {
                    "name": "timeout",
                    "desc": "Desired search time, defaults to 10.",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "Slot Data",
                    "lua_type": "SlotDataType?"
                }
            ],
            "function_type": "method",
            "tags": [
                "Data"
            ],
            "source": {
                "line": 84,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterData.luau"
            }
        },
        {
            "name": "GrabWeaponModel",
            "desc": "Searches through `Assets` for `weaponName` and clones the instance and returns the clone.",
            "params": [
                {
                    "name": "weaponName",
                    "desc": "",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "The cloned instance",
                    "lua_type": "instance"
                }
            ],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 59,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "SetupWeapons",
            "desc": "Clones the `weaponNames` weapons and welds them to the player.",
            "params": [
                {
                    "name": "weaponNames",
                    "desc": "",
                    "lua_type": "{string}"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 88,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "ToggleCollisions",
            "desc": "Turns a characters collisions on or off using a whitelist.",
            "params": [
                {
                    "name": "state",
                    "desc": "",
                    "lua_type": "boolean?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 135,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "RagdollCharacter",
            "desc": "Ragdolls a desired character.",
            "params": [
                {
                    "name": "durationSeconds",
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 154,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "KnockCharacter",
            "desc": "Knocks a desired character, ragdolling them and limiting their actions.",
            "params": [
                {
                    "name": "duration",
                    "desc": "Defaults to 60 seconds",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 245,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "KillCharacter",
            "desc": "Kills a desired character, respawning them.\n\nCan be passed with a boolean that determines if the player if the player loses data when killed.\n\n:::note Implementation\nThe safeRespawn is not implemented as of 11/27/2025. It is not advised to pass this parameter.\n:::",
            "params": [
                {
                    "name": "safeRespawn",
                    "desc": "Defaults to false",
                    "lua_type": "boolean?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 268,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "Scale",
            "desc": "Sets the players scale.",
            "params": [
                {
                    "name": "desiredScale",
                    "desc": "Defaults to 1",
                    "lua_type": "number?"
                }
            ],
            "returns": [
                {
                    "desc": "The players final scale.",
                    "lua_type": "number"
                }
            ],
            "function_type": "method",
            "tags": [
                "General"
            ],
            "source": {
                "line": 307,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterGeneral.luau"
            }
        },
        {
            "name": "CheckState",
            "desc": "Checks the value of a state for this character instance.",
            "params": [
                {
                    "name": "stateName",
                    "desc": "The state to check",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "StateManager.StateTypes?"
                }
            ],
            "function_type": "method",
            "tags": [
                "States"
            ],
            "source": {
                "line": 45,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterState.luau"
            }
        },
        {
            "name": "CheckStateDuration",
            "desc": "Checks the remaining duration of a state for this character instance.",
            "params": [
                {
                    "name": "stateName",
                    "desc": "The state to check the duration of",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "number?"
                }
            ],
            "function_type": "method",
            "tags": [
                "States"
            ],
            "source": {
                "line": 58,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterState.luau"
            }
        },
        {
            "name": "AddState",
            "desc": "Adds a new state or refreshes an existing state for this character instance.",
            "params": [
                {
                    "name": "stateName",
                    "desc": "The state to add",
                    "lua_type": "string"
                },
                {
                    "name": "value",
                    "desc": "The new value to set the state to",
                    "lua_type": "StateManager.StateTypes"
                },
                {
                    "name": "duration",
                    "desc": "Optional: Duration of the state",
                    "lua_type": "number?"
                },
                {
                    "name": "isUnoverwritable",
                    "desc": "Optional: Prevents this state from being overwritten by another `AddState()`",
                    "lua_type": "boolean:"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "States"
            ],
            "source": {
                "line": 73,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterState.luau"
            }
        },
        {
            "name": "ChangeState",
            "desc": "Changes the value and optionally the duration of an existing state for this character instance.",
            "params": [
                {
                    "name": "stateName",
                    "desc": "The state to change",
                    "lua_type": "string"
                },
                {
                    "name": "newValue",
                    "desc": "The new value to set the state to",
                    "lua_type": "StateManager.StateTypes"
                },
                {
                    "name": "newDuration",
                    "desc": "Optional: Duration of the state",
                    "lua_type": "number?"
                }
            ],
            "returns": [],
            "function_type": "method",
            "tags": [
                "States"
            ],
            "source": {
                "line": 87,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterState.luau"
            }
        },
        {
            "name": "New",
            "desc": "Constructor for a new Character instance.",
            "params": [
                {
                    "name": "model",
                    "desc": "Roblox character model instance.",
                    "lua_type": "Model"
                }
            ],
            "returns": [
                {
                    "desc": "Character object",
                    "lua_type": "Character"
                }
            ],
            "function_type": "static",
            "tags": [
                "Static"
            ],
            "source": {
                "line": 107,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/init.luau"
            }
        },
        {
            "name": "Get",
            "desc": "Retrieves a registered Character object instance by name.",
            "params": [
                {
                    "name": "name",
                    "desc": "",
                    "lua_type": "string"
                }
            ],
            "returns": [
                {
                    "desc": "",
                    "lua_type": "Character?"
                }
            ],
            "function_type": "static",
            "tags": [
                "Static"
            ],
            "source": {
                "line": 181,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/init.luau"
            }
        }
    ],
    "properties": [],
    "types": [
        {
            "name": "SlotDataType",
            "desc": "",
            "lua_type": "DatastoreModule.SlotDataType",
            "source": {
                "line": 12,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterData.luau"
            }
        },
        {
            "name": "PlayerProfileType",
            "desc": "",
            "lua_type": "DatastoreModule.PlayerProfileType",
            "source": {
                "line": 17,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/CharacterData.luau"
            }
        },
        {
            "name": "Character",
            "desc": "Represents the character singleton.\n:::info\nFunctions are not listed as there is far too many, it will keep on expanding so it is redundant to show them.\n:::",
            "fields": [
                {
                    "name": "Model",
                    "lua_type": "Model",
                    "desc": "The character model"
                },
                {
                    "name": "Name",
                    "lua_type": "string",
                    "desc": "The characters name"
                },
                {
                    "name": "Torso",
                    "lua_type": "BasePart?",
                    "desc": ""
                },
                {
                    "name": "HumanoidRootPart",
                    "lua_type": "BasePart?",
                    "desc": ""
                },
                {
                    "name": "Humanoid",
                    "lua_type": "Humanoid?",
                    "desc": ""
                },
                {
                    "name": "ExternalFolder",
                    "lua_type": "Folder",
                    "desc": ""
                },
                {
                    "name": "IsPlayer:",
                    "lua_type": "boolean",
                    "desc": ""
                },
                {
                    "name": "Player:",
                    "lua_type": "Player?",
                    "desc": ""
                }
            ],
            "tags": [
                "Singleton"
            ],
            "source": {
                "line": 41,
                "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/init.luau"
            }
        }
    ],
    "name": "Character",
    "desc": "Generalized functions to aid in eaiser manipulation of characters.",
    "realm": [
        "Server"
    ],
    "source": {
        "line": 11,
        "path": "global/ServerStorage/Scripts/Modules/Singletons/CharacterSingleton/init.luau"
    }
}