Skip to content

Character

Base character class. A character is a unique entity tied to a player client. Each client can have multiple characters. The character stores information that is relevant to the gameplay, but not specific to the player themselves, for instance: their model, name, description, inventory, etc.

All characters that a player owns are loaded into server memory upon the client connecting.

Methods

Character:save (callback)
Character:save

Saves the character to the database and calls the callback if provided.

Parameters:

function callback Callback when character saved on database

Character:sync (receiver)
Character:sync

Sends character information to the receiver.

Parameters:

Client receiver optional who will receive synchronization, nil - so that all players receive.

Character:setup (noNetworking)
Character:setup

Sets up the "appearance" related information for the character.

Parameters:

boolean noNetworking responsible for character synchronization

Character:kick ()
Character:kick

Forces the player to choose a character.

Character:ban (time)
Character:ban

Prevents the use of this character permanently or for a certain amount of time.

Parameters:

integer time Сharacter ban time

Usage:

    Entity(1):getChar():ban(3600) -- will send a character owned by a player with index 1 to a ban
    

Character:delete ()
Character:delete

Deletes this character from existence along with its associated data.

Character:destroy ()
Character:destroy

Internal

This is used internally - although you're able to use it you probably shouldn't.

Deletes this character from memory.

Character:getPlayer ()
Character:getPlayer

Returns which player owns this character.

Returns:

player The player who owns need character

Usage:

    local charOwner = Entity(1):getChar():getPlayer()
    charOwner:notify('test')
    

Character:joinClass (class, isForced)
Character:joinClass

Makes a character join a class

Parameters:

number class Class index to join

boolean isForced optional. default: false Bypass restrictions if true

Returns:

bool Whether join was successful

Character:kickClass ()
Character:kickClass

Removes character from current class (joins default)

Character:hasMoney (amount)
Character:hasMoney

Checks if character has sufficient funds

Parameters:

number amount Amount to check

Returns:

bool Whether character has enough money

Character:giveMoney (amount, takingMoney)
Character:giveMoney

Gives money to character

Parameters:

number amount Amount to give

boolean takingMoney optional. default: false Internal flag to skip logging

Returns:

bool Always returns true

Character:takeMoney (amount)
Character:takeMoney

Takes money from character

Parameters:

number amount Amount to take

Returns:

bool Always returns true

Character:setFlags (flags)
Character:setFlags

Set the flag data to the character, overriding existing flags

Parameters:

string flags New flags string

Character:takeFlags (flags)
Character:takeFlags

Remove the flags from the character.

Parameters:

string flags Flags to remove

Character:getFlags ()
Character:getFlags

Gets character's current flags.

Returns:

string Current flags string

Character:hasFlags (flags)
Character:hasFlags

Check if the character contains the flags specified.

Parameters:

string flags Flags to check for

Returns:

bool Whether any flag is present