Character
Associated namespace: sm.character
A userdata object representing a character in the game.
Values:
clientPublicData[ table ]Get: (Client-Only) The character's client public data.Set: (Client-Only) Sets the character's client public data.
color[ color ]Get: The character's color.Set: (Server-Only) Sets the character's color.
direction[ Vec3 ]Get: The character's view/aim direction.
smoothDirection[ Vec3 ]Get: The view/aim direction, smoother in multiplayer.
id[ int ]Get: The id of the character.
mass[ number ]Get: The mass of the character.
movementSpeedFraction[ number ]Get: The character's current movement speed fraction.Set: (Server-Only) Sets the character's movement speed fraction.
publicData[ table ]Get: (Server-Only) The character's server public data.Set: (Server-Only) Sets the character's server public data.
velocity[ vec3 ]Get: The velocity of the character.
worldPosition[ vec3 ]Get: The world position of the character.
Operations:
| Operation | Description |
|---|---|
Character == Character | Checks if two instances of Character refer to the same Character. |
Functions
addRenderable
character:addRenderable( renderable )
Client-Only
Adds a renderable (file containing model data) to be used for the character in third person view.
Parameters:
character(Character): The character.renderable(string): Path to the renderable file.
applyTumblingImpulse
character:applyTumblingImpulse( impulse )
Applies an impulse to the character's tumbling shape.
Parameters:
bindAnimationCallback
character:bindAnimationCallback( animationName, triggerTime, callback )
Binds the character's animation to a callback function.
Parameters:
character(Character): The character.animationName(string): The name of the animation.triggerTime(number): The required time that will have elapsed in the animation when the callback is triggered.callback(string): The name of the Lua function to bind.
getActiveAnimations
character:getActiveAnimations()
Returns the set of active animations.
Parameters:
character(Character): The character.
Returns:
- (table): The set of active animations.
getAnimationInfo
character:getAnimationInfo( name )
Client-Only
[Missing Description]
Parameters:
character(Character): The character.name(string): The name.
Returns:
- (table): The animation info.
getCanSwim
character:getCanSwim()
Returns whether the character will float or sink in liquid.
Parameters:
character(Character): The character.
Returns:
- (boolean): True if the character floats, false if the character sinks.
getCharacterType
character:getCharacterType()
Returns the uuid of the character.
Parameters:
character(Character): The character.
Returns:
- (Uuid): The character's UUID.
getClientPublicData
character:getClientPublicData()
Client-Only
Returns client public data from the character.
Parameters:
character(Character): The character.
Returns:
- (table): The character's client public data.
getColor
character:getColor()
Returns the base color of the character.
Parameters:
character(Character): The character.
Returns:
- (Color): The character's color.
getCurrentMovementNoiseRadius
character:getCurrentMovementNoiseRadius()
Returns the radius around the character where it can be heard.
Parameters:
character(Character): The character.
Returns:
- (number): The character's noise radius.
getCurrentMovementSpeed
character:getCurrentMovementSpeed()
Returns the current movement speed of the character depending on state and multiplier.
Parameters:
character(Character): The character.
Returns:
- (number): The character's movement speed.
getDirection
character:getDirection()
Returns the direction in which the character is viewing or aiming.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The character's view direction.
getSmoothViewDirection
character:getSmoothViewDirection()
Returns the direction in which the character is viewing or aiming, in a smoother
way when playing in multiplayer.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The character's view direction.
getGlowMultiplier
character:getGlowMultiplier()
Client-Only
Returns the character's glow multiplier.
Parameters:
character(Character): The character.
Returns:
- (number): The character's glow multiplier (0.0 - 1.0).
getHeight
character:getHeight()
Returns the height of the character.
Parameters:
character(Character): The character.
Returns:
- (number): The character's height.
getId
character:getId()
Returns the id of the character.
Parameters:
character(Character): The character.
Returns:
- (int): The character's id.
getLockingInteractable
character:getLockingInteractable()
Returns the Interactable that the Character is locked to.
Parameters:
character(Character): The character.
Returns:
- (Interactable): The interactable.
getMass
character:getMass()
Returns the mass of the character.
Parameters:
character(Character): The character.
Returns:
- (number): The character's mass.
getMovementSpeedFraction
character:getMovementSpeedFraction()
Returns the current fraction multiplier applied on the character's movement speed.
Parameters:
character(Character): The character.
Returns:
- (number): The movement speed fraction.
getPlayer
character:getPlayer()
Returns the player controlling the character.
Parameters:
character(Character): The character.
Returns:
- (Player): The character's player.
getPublicData
character:getPublicData()
Server-Only
Returns character's server public data.
Parameters:
character(Character): The character.
Returns:
- (table): The character's server public data.
getRadius
character:getRadius()
Returns the radius of the character.
Parameters:
character(Character): The character.
Returns:
- (number): The character's radius.
getSurfaceNormal
character:getSurfaceNormal()
Returns the normal of the character's contact with a surface.
Defaults to a zero vector when no contact is found.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The character's surface normal.
getTpBonePos
character:getTpBonePos( jointName )
Returns the world position for a bone in the third person view animation skeleton.
Parameters:
character(Character): The character.jointName(string): The joint name.
Returns:
- (Vec3): The joint position.
getTpBoneRot
character:getTpBoneRot( jointName )
Returns the world rotation for a bone in the third person view animation skeleton.
Parameters:
character(Character): The character.jointName(string): The joint name.
Returns:
- (Quat): The joint rotation.
getTumblingExtent
character:getTumblingExtent()
Returns the extent of the characters tumbling shape.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The tumbling shape's extent.
getTumblingLinearVelocity
character:getTumblingLinearVelocity()
Returns the linear velocity of the characters tumbling shape.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The tumbling shape's linear velocity.
getTumblingWorldPosition
character:getTumblingWorldPosition()
Returns the world position of the characters tumbling shape.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The tumbling shape's world position.
getTumblingWorldRotation
character:getTumblingWorldRotation()
Returns the world rotation of the characters tumbling shape.
Parameters:
character(Character): The character.
Returns:
- (Quat): The tumbling shape's world rotation.
getUnit
character:getUnit()
Returns the unit controlling the character.
Parameters:
character(Character): The character.
Returns:
- (Unit): The unit controlling the character.
getVelocity
character:getVelocity()
Returns the velocity of the character.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The character's velocity.
getWorld
character:getWorld()
Returns the world the character exists in.
Parameters:
character(Character): The character.
Returns:
- (World): The character's world.
getWorldPosition
character:getWorldPosition()
Returns the world position of the character.
Parameters:
character(Character): The character.
Returns:
- (Vec3): The character's world position.
isAiming
character:isAiming()
Returns whether the character is currently aiming with a weapon.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is aiming or not.
isClimbing
character:isClimbing()
Returns whether the character is currently climbing.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is climbing or not.
isCrouching
character:isCrouching()
Returns whether the character is currently crouching.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is crouching or not.
isDefaultColor
character:isDefaultColor()
Returns true if the character color has its default color.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character has its default color.
isDiving
character:isDiving()
Returns whether the character is currently diving.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is diving or not.
isDowned
character:isDowned()
Returns whether the character is currently downed.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is downed or not.
isOnGround
character:isOnGround()
Returns whether the character is currently standing on the ground.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is on the ground or not.
isPlayer
character:isPlayer()
Returns whether the character belongs to a player.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character belongs to a player or not.
isSprinting
character:isSprinting()
Returns whether the character is currently sprinting.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is sprinting or not.
isSwimming
character:isSwimming()
Returns whether the character is currently swimming.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is swimming or not.
isTumbling
character:isTumbling()
Returns whether the character is currently tumbling.
Parameters:
character(Character): The character.
Returns:
- (boolean): Whether the character is tumbling or not.
removeAnimationCallbacks
character:removeAnimationCallbacks()
Removes all of the character's animation callbacks.
Parameters:
character(Character): The character.
removeRenderable
character:removeRenderable( renderable )
Client-Only
Removes a renderable (file containing model data) that was used for the character in third person view.
Parameters:
character(Character): The character.renderable(string): Path to the renderable file.
setAllowTumbleAnimations
character:setAllowTumbleAnimations( allow )
Client-Only
Enables or disables event animations.
When set to false no animations can play while tumble is active,
when set to true the animations will play while tumbling.
Parameters:
character(Character): The character.allow(boolean): Whether animations are allowed or not.
setClientPublicData
character:setClientPublicData( data )
Client-Only
Sets the character's client public data.
Parameters:
character(Character): The character.data(table): The client public data.
setClimbing
character:setClimbing( state )
Server-Only
Sets whether the character is climbing.
Parameters:
character(Character): The character.state(boolean): Whether the character is climbing or not.
setColor
character:setColor( color )
Server-Only
Sets the character's color.
Parameters:
setDiving
character:setDiving( state )
Server-Only
Sets whether the character is diving.
Parameters:
character(Character): The character.state(boolean): Whether the character is diving or not.
setDowned
character:setDowned( state )
Server-Only
Sets whether the character is downed.
Parameters:
character(Character): The character.state(boolean): Whether the character is downed or not.
setGlowMultiplier
character:setGlowMultiplier( value )
Client-Only
Sets a value to multiply the glow from asg texture with.
Parameters:
character(Character): The character.value(number): The glow multiplier (0.0 - 1.0).
setLockingInteractable
character:setLockingInteractable( interactable )
Set the Interactable that the character is locked to.
Set it to nil to unlock.
Parameters:
character(Character): The character.interactable(Interactable): The interactable.
Returns:
- (boolean): Whether the locking/unlocking was successful.
setMovementEffects
character:setMovementEffects( filepath )
Sets the movement effect set.
Parameters:
character(Character): The character.filepath(string): The effectset file path.
setMovementSpeedFraction
character:setMovementSpeedFraction( fraction )
Sets a fraction multiplier to the character's movement speed.
Parameters:
character(Character): The character.fraction(number): The movement speed fraction.
setMovementWeights
character:setMovementWeights( lower, upper )
Client-Only
Sets the weights for movement animations on the character's upper and lower body.
For a value of 0 no movement animations will play, for a value of 1 the movement animations will fully play unless otherwise overridden.
Parameters:
character(Character): The character.lower(number): The lower weight.upper(number): The upper weight.
setPublicData
character:setPublicData( data )
Server-Only
Sets the character's server public data.
Parameters:
character(Character): The character.data(table): The server public data.
setSwimming
character:setSwimming( state )
Server-Only
Sets whether the character is swimming.
Parameters:
character(Character): The character.state(boolean): Whether the character is swimming or not.
setTumbling
character:setTumbling( state )
Server-Only
Sets whether the character is tumbling.
Parameters:
character(Character): The character.state(boolean): Whether the character is tumbling or not.
setUpDirection
character:setUpDirection( up )
Client-Only
Sets the upward direction of the character's graphics.
Parameters:
updateAnimation
character:updateAnimation( name, time, weight, additive )
Client-Only
Updates the character animation.
Parameters:
character(Character): The character.name(string): The animation name.time(number): The time.weight(number): The weight. Defaults to-1.0. (Optional)additive(boolean): Whether the animation will be added to the default animation. Defaults tofalse. (Optional)
setNameTag
character:setNameTag( name, color, requiresLoS, renderDistance, fadeDistance )
Client-Only
Sets the name tag display value for the character.
Parameters:
character(Character): The character.name(string): The name tag text.color(Color): The the text color. Defaults to white.requiresLoS(boolean): Whether the tag requires line of sight to be visible or not. Defaults to false.renderDistance(number): The max distance the tag will be rendered in. Defaults to 10000.fadeDistance(number): The distance above which the tag starts to fade out. Defaults to 9500.
setWorldPosition
character:setWorldPosition( position )
Server-Only
Sets the world position of the character.
Parameters: