Skip to main content
These are there in every game Limerence supports. Anything that needs a living character comes back as nil or 0 while you’re dead or respawning.

Getters

CallReturnsWhat it tells you
getPlayer()PlayerYour Players.LocalPlayer. Always the same value.
getCharacter()Model?Your character model. nil while dead or respawning.
getHumanoid()Humanoid?Your Humanoid. nil while dead.
getRootPart()BasePart?Your HumanoidRootPart. nil while dead.
getParts(){ [string]: Instance }A name → part table of every child of your character (e.g. Head, LeftArm).
isAlive()booleanWhether you’re currently alive.
isSpectating()booleanWhether you’re in spectator mode.
getTeam()string?Your team. The string format is game-specific (Bloxstrike: "Terrorists" / "Counter-Terrorists"; Rivals: a team id).
getHealth()numberCurrent HP. 0 if dead.
getMaxHealth()numberMaximum HP. 100 if you don’t have a humanoid.
getHealthFraction()numberHP as a fraction from 0 to 1.
getPosition()Vector3?Where your root part is in the world.
getCFrame()CFrame?Your root part’s CFrame (position + rotation).

Signals

Call :Connect(callback) on these. They get cleaned up when your script unloads.
SignalYour callback receives
onCharacterAdded(character): when you spawn in
onCharacterRemoving(character): right before you despawn
onSpawn(): when you come alive
onDeath(): when you die
onTeamChanged(team): when you change teams
onHealthChanged(health, maxHealth): any HP change

Example

api.client.onDeath:Connect(function()
    print("died at", api.client.getPosition())
end)

-- Heartbeat is a Roblox signal, so use api.utility.connect for auto-cleanup
api.utility.connect(game:GetService("RunService").Heartbeat, function()
    if not api.client.isAlive() then return end
    local hp = api.client.getHealthFraction()
    -- update HUD...
end)