Zum Hauptinhalt springen
Version: latest - a1.156.0 ⚖️

👩‍💻 Player

Players are Entities that represents the individual behind the mouse and keyboard. Players are spawned automatically when connected to the server.

👪Inheritance
This class shares methods and events from Base Entity.

Behörde

🟥 You cannot spawn or Destroy Players.

🎒 Examples​

Server/Index.lua
-- Spawns and possess a Character when a Player joins the server
Player.Subscribe("Spawn", function(player)
local new_char = Character(Vector(), Rotator(), "nanos-world::SK_Male")
player:Possess(new_char)
end)

-- Destroys the Character when the Player leaves the server
Player.Subscribe("Destroy", function(player)
local character = player:GetControlledCharacter()
if (character) then
character:Destroy()
end
end)

🗿 Static Functions​

Inherited Entity Static Functions
Player inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
ReturnsNameDescription
table of Base EntityGetAllReturns a table containing all Entities of the class this is called on
Base EntityGetByIndexReturns a specific Entity of this class at an index
integerGetCountReturns how many Entities of this class exist
table of tableGetInheritedClassesGets a list of all directly inherited classes from this Class created with the Inheriting System
iteratorGetPairsReturns an iterator with all Entities of this class to be used with pairs()
table or nilGetParentClassGets the parent class if this Class was created with the Inheriting System
tableInheritInherits this class with the Inheriting System
booleanIsChildOfGets if this Class is child of another class if this Class was created with the Inheriting System
functionSubscribeSubscribes to an Event for all entities of this Class
functionSubscribeRemoteSubscribes to a custom event called from server
UnsubscribeUnsubscribes all callbacks from this Event in this Class within this Package, or only the callback passed
ReturnsNameDescription
Player or nilGetBySteamIDRetrieves a player by their Steam ID

Slow

GetBySteamID​

Retrieves a player by their Steam ID
local player = Player.GetBySteamID(steam_id)

Parameters

TypeParameterDefaultDescription
stringsteam_id Required parameter The Steam ID (SteamID64) to look for

Returns

TypeDescription
Player or nilPlayer by their Steam ID

🦠 Functions​

Inherited Entity Functions
Player inherits from Base Entity Class, sharing it's methods and functions:
Base Entityscripting-reference/classes/base-classes/entity
ReturnsNameDescription
BroadcastRemoteEventCalls a custom remote event directly on this entity to all Players
BroadcastRemoteInRadiusEventCalls a custom remote event directly on this entity to all Players in a radius
CallRemoteEventCalls a custom remote event directly on this entity to a specific Player
CallRemoteEventCalls a custom remote event directly on this entity
CallRemotePlayersEventCalls a custom remote event directly on this entity to a list of Players
DestroyDestroys this Entity
FinishSpawnFinish the spawning process and send the entity to clients if it was spawned with a deferred spawn_mode
table of stringGetAllValuesKeysGets a list of all values keys
tableGetClassGets the class of this entity
integerGetIDGets the universal network ID of this Entity (same on both client and server)
anyGetValueGets a Value stored on this Entity at the given key
booleanHasAuthorityGets if the local context has authority over this Entity (true if spawned by the client, false if spawned by the server)
booleanIsARecursively checks if this entity is inherited from a Class
booleanIsBeingDestroyedReturns true if this Entity is being destroyed
booleanIsSpawnedGets if this Entity finished spawning
booleanIsValidReturns true if this Entity is valid (i.e. wasn't destroyed and points to a valid Entity)
SetSpawnModeOverrides when this Entity finishes spawning, from the Constructor of an Inherited Class
SetValueSets a Value in this Entity
functionSubscribeSubscribes to an Event on this specific entity
functionSubscribeRemoteSubscribes to a custom event called from server on this specific entity
UnsubscribeUnsubscribes all callbacks from this Event in this Entity within this Package, or only the callback passed
ReturnsNameDescription
AttachCameraToAttaches the Player's Camera to an Actor
BanBans the player from the server
ConnectRedirects the player to another server
stringGetAccountIconURLReturn a URL which can be used through WebUI and Widgets to display the Player's Steam Avatar (64x64)
stringGetAccountIDGets the Player's nanos world account ID
stringGetAccountNameGets the Player's nanos world account name
floatGetCameraArmLengthGets the Player's camera arm (spring arm) length
VectorGetCameraLocationGets the location of the Player's camera
RotatorGetCameraRotationGets the rotation of the Player's camera
Base Pawn or nilGetControlledCharacterGets the Pawn (Character) this Player is currently possessing
integerGetDimensionGets this Player's dimension
stringGetIPGets the Player's IP address
stringGetNameGets the Player's name
integerGetPingGets the Player's ping
stringGetSteamIDGets the Player's Steam ID
table of integerGetVOIPListeningChannelsReturns a list of VOIP channels this player is listening to
table of integerGetVOIPSpeakingChannelsReturns a list of VOIP channels this player is currently speaking to
booleanIsHostGets if this Player is the host of a P2P (listen) server
booleanIsLocalPlayerGets if this Player is the local Player (the one running this client)
booleanIsVOIPMutedReturns whether VOIP is muted for this player
KickKicks the player from the server
PossessMakes this Player possess and control a Pawn (Character)
ResetCameraResets the Camera to default state (Unspectate and Detaches)
RotateCameraToSmoothly moves the Player's Camera Rotation
SetCameraArmLengthSets the Player's Camera Arm Length (Spring Arm length)
SetCameraFOVSets the Player's Camera FOV (if not possessing a Character)
SetCameraLocationSets the Player's Camera Location (only works if not possessing any Character)
SetCameraRotationSets the Player's Camera Rotation
SetCameraSocketOffsetSets the Player's Camera Socket Offset (Spring Arm Offset)
SetCameraSpeedSettingsSets the Player's Camera Speed Settings (if not possessing a Character)
SetDimensionSets this Player's dimension
SetDistanceOptimizationMultiplierSets the multiplier for how much this Player's is affected by distance optimization from other actors
SetManualCameraFadeTurns on camera fading at the given opacity
SetNameSets the player's name
SetVOIPGlobalAllChannelsSettingSets the VOIP setting for all global channels
SetVOIPGlobalChannelSettingSets the VOIP setting for a specific global channel
SetVOIPGlobalHighPassFilterSets the global VOIP high-pass filter threshold frequency
SetVOIPGlobalLowPassFilterSets the global VOIP low-pass filter threshold frequency
SetVOIPGlobalVolumeSets the global VOIP volume. It only affects the global channels
SetVOIPLocalMaxDistanceSets the local/proximity VOIP max distance. This also affects networking usage
SetVOIPLocalSettingSets the VOIP setting for the local/proximity
SetVOIPLocalVolumeSets the local/proximity VOIP input/output volume. It only affects the local/proximity channel
SetVOIPMutedMutes or unmutes VOIP for this player
SpectateMakes this Player spectate another Player
StartCameraFadeDoes a camera fade to/from a solid color
StopCameraFadeStops camera fading.
TranslateCameraToSmoothly moves the Player's Camera Location (only works if not possessing any Character)
UnPossessRelease the Player from the Character

Optimal

AttachCameraTo​

Attaches the Player's Camera to an Actor
my_player:AttachCameraTo(actor, socket_offset?, blend_speed?)

Parameters

TypeParameterDefaultDescription
Base Actoractor Required parameter The Actor to attach the camera to
Vectorsocket_offset?Vector(0, 0, 0)
Offset of the camera relative to the Actor
floatblend_speed?0.0
Speed of the camera blend, 0 to snap immediately

Slow

Ban​

Bans the player from the server
my_player:Ban(reason)

Parameters

TypeParameterDefaultDescription
stringreason Required parameter The reason shown to the Player

Optimal

Connect​

Redirects the player to another server
my_player:Connect(ip, password?)

Parameters

TypeParameterDefaultDescription
stringip Required parameter The server address to connect to, in the format IP:PORT
stringpassword?
Server password

Optimal

GetAccountIconURL​

Return a URL which can be used through WebUI and Widgets to display the Player's Steam Avatar (64x64)
local account_icon_url = my_player:GetAccountIconURL()

Returns

TypeDescription
stringURL of the Steam avatar image

Optimal

GetAccountID​

Gets the Player's nanos world account ID
local account_id = my_player:GetAccountID()

Returns

TypeDescription
stringThe nanos world account ID

Optimal

GetAccountName​

Gets the Player's nanos world account name
local account_name = my_player:GetAccountName()

Returns

TypeDescription
stringThe account name

Optimal

GetCameraArmLength​

Gets the Player's camera arm (spring arm) length
local length = my_player:GetCameraArmLength(return_base?)

Parameters

TypeParameterDefaultDescription
booleanreturn_base?false
Whether to return the current (false) or base (true) value. The base is the same value set by SetCameraArmLength(). Use base if you want to get the original value set by SetCameraArmLength() and not the current (interpolated) value.

Returns

TypeDescription
floatThe camera arm length, in units

See also SetCameraArmLength.


Optimal

GetCameraLocation​

Gets the location of the Player's camera
local location = my_player:GetCameraLocation()

Returns

TypeDescription
VectorThe camera location

See also SetCameraLocation.


Optimal

GetCameraRotation​

Gets the rotation of the Player's camera
local rotation = my_player:GetCameraRotation()

Returns

TypeDescription
RotatorThe camera rotation

See also SetCameraRotation.


Optimal

GetControlledCharacter​

Gets the Pawn (Character) this Player is currently possessing
local controlled_character = my_player:GetControlledCharacter()

Returns

TypeDescription
Base Pawn or nilThe possessed Pawn, or nil if not possessing any

Optimal

GetDimension​

Gets this Player's dimension
local dimension = my_player:GetDimension()

Returns

TypeDescription
integerThis Player's dimension

See also SetDimension, DimensionChange.


Optimal

GetIP​

Gets the Player's IP address
local ip = my_player:GetIP()

Returns

TypeDescription
stringThe IP address

Optimal

GetName​

Gets the Player's name
local player_name = my_player:GetName()

Returns

TypeDescription
stringThe Player's name

See also SetName.


Optimal

GetPing​

Gets the Player's ping
local ping = my_player:GetPing()

Returns

TypeDescription
integerThe ping, in milliseconds

Optimal

GetSteamID​

Gets the Player's Steam ID
local steam_id = my_player:GetSteamID()

Returns

TypeDescription
stringThe Steam ID (SteamID64)

Moderate

GetVOIPListeningChannels​

Returns a list of VOIP channels this player is listening to
local ret = my_player:GetVOIPListeningChannels()

Returns

TypeDescription
table of integerlist of channel indexes

Moderate

GetVOIPSpeakingChannels​

Returns a list of VOIP channels this player is currently speaking to
local ret = my_player:GetVOIPSpeakingChannels()

Returns

TypeDescription
table of integerlist of channel indexes

Optimal

IsHost​

Gets if this Player is the host of a P2P (listen) server
local is_host = my_player:IsHost()

Returns

TypeDescription
booleanWhether this Player is the host

Optimal

IsLocalPlayer​

Gets if this Player is the local Player (the one running this client)
local is_local_player = my_player:IsLocalPlayer()

Returns

TypeDescription
booleanWhether this is the local Player

Optimal

IsVOIPMuted​

Returns whether VOIP is muted for this player
local ret = my_player:IsVOIPMuted()

Returns

TypeDescription
booleanWhether VOIP is muted for this player

See also SetVOIPMuted.


Moderate

Kick​

Kicks the player from the server
my_player:Kick(reason)

Parameters

TypeParameterDefaultDescription
stringreason Required parameter The reason shown to the Player

Moderate

Possess​

Makes this Player possess and control a Pawn (Character)
my_player:Possess(new_pawn, blend_time?, exp?)

Parameters

TypeParameterDefaultDescription
Base Pawnnew_pawn Required parameter The Pawn to possess
floatblend_time?0
Seconds to smoothly blend the camera to the new Pawn
floatexp?0
Exponent used to smooth the blend, use 0 for linear

Optimal

ResetCamera​

Resets the Camera to default state (Unspectate and Detaches)
my_player:ResetCamera()

Optimal

RotateCameraTo​

Smoothly moves the Player's Camera Rotation
my_player:RotateCameraTo(rotation, time, exp?)

Parameters

TypeParameterDefaultDescription
Rotatorrotation Required parameter The target camera rotation
floattime Required parameter Seconds to reach the target
floatexp?0
Exponential used to smooth interp, use 0 for linear movement

Optimal

SetCameraArmLength​

Sets the Player's Camera Arm Length (Spring Arm length)
my_player:SetCameraArmLength(length, force?)

Parameters

TypeParameterDefaultDescription
floatlength Required parameter Length of the camera spring arm, in units
booleanforce?false
Whether to bypass interpolation and set the target to its value directly

See also GetCameraArmLength.


Optimal

SetCameraFOV​

Sets the Player's Camera FOV (if not possessing a Character)
my_player:SetCameraFOV(fov?)

Parameters

TypeParameterDefaultDescription
floatfov?90
Value must be between 5 and 170. Pass empty to reset to default.

Optimal

SetCameraLocation​

Sets the Player's Camera Location (only works if not possessing any Character)
my_player:SetCameraLocation(location)

Parameters

TypeParameterDefaultDescription
Vectorlocation Required parameter The new Player's Camera Location

See also GetCameraLocation.


Optimal

SetCameraRotation​

Sets the Player's Camera Rotation
my_player:SetCameraRotation(rotation)

Parameters

TypeParameterDefaultDescription
Rotatorrotation Required parameter The new Player's Camera Rotation

See also GetCameraRotation.


Optimal

SetCameraSocketOffset​

Sets the Player's Camera Socket Offset (Spring Arm Offset)
my_player:SetCameraSocketOffset(socket_offset)

Parameters

TypeParameterDefaultDescription
Vectorsocket_offset Required parameter The new Player's Camera Socket Offset

Optimal

SetCameraSpeedSettings​

Sets the Player's Camera Speed Settings (if not possessing a Character)
my_player:SetCameraSpeedSettings(max_speed?, acceleration?, deceleration?, turning_boost?)

Parameters

TypeParameterDefaultDescription
floatmax_speed?1200
Maximum velocity magnitude allowed
floatacceleration?4000
Acceleration applied by input (rate of change of velocity)
floatdeceleration?4000
Deceleration applied when there is no input (rate of change of velocity)
floatturning_boost?8
Setting affecting extra force applied when changing direction, making turns have less drift and become more responsive. Velocity magnitude is not allowed to increase, that only happens due to normal acceleration. It may decrease with large direction changes. Larger values apply extra force to reach the target direction more quickly, while a zero value disables any extra turn force.

Slow

SetDimension​

Sets this Player's dimension
my_player:SetDimension(dimension)

Parameters

TypeParameterDefaultDescription
integerdimension Required parameter The new dimension

See also GetDimension, DimensionChange.


Optimal

SetDistanceOptimizationMultiplier​

Sets the multiplier for how much this Player's is affected by distance optimization from other actors.
A value of 0 disables optimization. Values under 1 decrease the effect, while values over 1 increase it
my_player:SetDistanceOptimizationMultiplier(multiplier)

Parameters

TypeParameterDefaultDescription
floatmultiplier Required parameter The new multiplier for how much this Player's is affected by distance optimization from other actors

Optimal

SetManualCameraFade​

Turns on camera fading at the given opacity. Does not auto-animate, allowing user to animate themselves. Call StopCameraFade to turn fading back off.
my_player:SetManualCameraFade(in_fade_amount, color, in_fade_audio)

Parameters

TypeParameterDefaultDescription
floatin_fade_amount Required parameter Range [0..1], where 0 is fully transparent and 1 is fully opaque solid color.
Colorcolor Required parameter The color to use
booleanin_fade_audio Required parameter Whether to fade the audio as well

Optimal

SetName​

Sets the player's name
my_player:SetName(player_name)

Parameters

TypeParameterDefaultDescription
stringplayer_name Required parameter The new player's name

See also GetName.


Optimal

SetVOIPGlobalAllChannelsSetting​

Sets the VOIP setting for all global channels
my_player:SetVOIPGlobalAllChannelsSetting(setting)

Parameters

TypeParameterDefaultDescription
VOIPSettingsetting Required parameter The new VOIP setting for all global channels

See also SetVOIPGlobalChannelSetting, GetVOIPListeningChannels, GetVOIPSpeakingChannels, VOIPGlobalChannelSettingChange.


Optimal

SetVOIPGlobalChannelSetting​

Sets the VOIP setting for a specific global channel
my_player:SetVOIPGlobalChannelSetting(channel, setting)

Parameters

TypeParameterDefaultDescription
integerchannel Required parameter Channel number, from 1 to 63
VOIPSettingsetting Required parameter Whether this Player listens, speaks, both or none on this channel

See also SetVOIPGlobalAllChannelsSetting, GetVOIPListeningChannels, GetVOIPSpeakingChannels, VOIPGlobalChannelSettingChange.


Optimal

SetVOIPGlobalHighPassFilter​

Sets the global VOIP high-pass filter threshold frequency. Set it to 0 to disable it
my_player:SetVOIPGlobalHighPassFilter(threshold)

Parameters

TypeParameterDefaultDescription
integerthreshold Required parameter The new global VOIP high-pass filter threshold frequency

See also SetVOIPGlobalLowPassFilter.


Optimal

SetVOIPGlobalLowPassFilter​

Sets the global VOIP low-pass filter threshold frequency. Set it to 0 to disable it
my_player:SetVOIPGlobalLowPassFilter(threshold)

Parameters

TypeParameterDefaultDescription
integerthreshold Required parameter The new global VOIP low-pass filter threshold frequency

See also SetVOIPGlobalHighPassFilter.


Optimal

SetVOIPGlobalVolume​

Sets the global VOIP volume. It only affects the global channels
my_player:SetVOIPGlobalVolume(volume)

Parameters

TypeParameterDefaultDescription
floatvolume Required parameter The new global VOIP volume. It only affects the global channels

Optimal

SetVOIPLocalMaxDistance​

Sets the local/proximity VOIP max distance. This also affects networking usage
my_player:SetVOIPLocalMaxDistance(max_distance)

Parameters

TypeParameterDefaultDescription
integermax_distance Required parameter Falloff Distance. Default is 3600

See also SetVOIPLocalSetting, SetVOIPLocalVolume.


Optimal

SetVOIPLocalSetting​

Sets the VOIP setting for the local/proximity
my_player:SetVOIPLocalSetting(setting)

Parameters

TypeParameterDefaultDescription
VOIPSettingsetting Required parameter The new VOIP setting for the local/proximity

See also SetVOIPLocalMaxDistance, SetVOIPLocalVolume, VOIPLocalSettingChange.


Optimal

SetVOIPLocalVolume​

Sets the local/proximity VOIP input/output volume. It only affects the local/proximity channel
my_player:SetVOIPLocalVolume(volume)

Parameters

TypeParameterDefaultDescription
floatvolume Required parameter The new local/proximity VOIP input/output volume. It only affects the local/proximity channel

See also SetVOIPLocalSetting, SetVOIPLocalMaxDistance, VOIPLocalSettingChange.


Optimal

SetVOIPMuted​

Mutes or unmutes VOIP for this player
my_player:SetVOIPMuted(is_muted)

Parameters

TypeParameterDefaultDescription
booleanis_muted Required parameter Whether VOIP is muted

See also IsVOIPMuted.


Optimal

Spectate​

Makes this Player spectate another Player
my_player:Spectate(player, blend_speed?)

Parameters

TypeParameterDefaultDescription
Playerplayer Required parameter The Player
floatblend_speed?0
Speed of the camera blend, 0 to snap immediately

Moderate

StartCameraFade​

Does a camera fade to/from a solid color. Animates automatically
my_player:StartCameraFade(from_alpha, to_alpha, duration, to_color, should_fade_audio?, hold_when_finished?)

Parameters

TypeParameterDefaultDescription
floatfrom_alpha Required parameter Alpha at which to begin the fade. Range [0..1], where 0 is fully transparent and 1 is fully opaque solid color.
floatto_alpha Required parameter Alpha at which to finish the fade.
floatduration Required parameter How long the fade should take, in seconds.
Colorto_color Required parameter Color to fade to/from.
booleanshould_fade_audio?false
True to fade audio volume along with the alpha of the solid color.
booleanhold_when_finished?false
True for fade to hold at the ToAlpha until explicitly stopped (e.g. with StopCameraFade)

Optimal

StopCameraFade​

Stops camera fading.
my_player:StopCameraFade()

Optimal

TranslateCameraTo​

Smoothly moves the Player's Camera Location (only works if not possessing any Character)
my_player:TranslateCameraTo(location, time, exp?)

Parameters

TypeParameterDefaultDescription
Vectorlocation Required parameter The target camera location
floattime Required parameter Seconds to reach the target
floatexp?0
Exponential used to smooth interp, use 0 for linear movement

Optimal

UnPossess​

Release the Player from the Character
my_player:UnPossess()

🚀 Events​

Inherited Entity Events
Player inherits from Base Entity Class, sharing it's events:
Base Entityscripting-reference/classes/base-classes/entity
NameDescription
ClassRegisterTriggered when a new Class is registered with the Inheriting System
DestroyTriggered when an Entity is destroyed
SpawnTriggered when an Entity is spawned/created
ValueChangeTriggered when an Entity has a value changed with :SetValue()
NameDescription
DimensionChangeTriggered when a Player changes its dimension
PossessTriggered when Player starts controlling a Pawn (Character)
ReadyTriggered when Player is ready (the client fully joined, loaded the map and all entities and is ready to play)
UnPossessA Pawn (Character) was unpossessed from the Player
VOIPWhen a Player starts/ends using VOIP
VOIPGlobalChannelSettingChangeTriggered when a global VOIP channel setting changes for this player
VOIPLocalSettingChangeTriggered when the local VOIP setting changes for this player

DimensionChange​

Triggered when a Player changes its dimension
Player.Subscribe("DimensionChange", function(self, old_dimension, new_dimension)
-- DimensionChange was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
integerold_dimensionThe previous dimension
integernew_dimensionThe new dimension

See also SetDimension, GetDimension.


Possess​

Triggered when Player starts controlling a Pawn (Character)
Player.Subscribe("Possess", function(self, pawn)
-- Possess was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
Base PawnpawnThe Pawn being possessed

See also GetControlledCharacter.


Ready​

Triggered when Player is ready (the client fully joined, loaded the map and all entities and is ready to play)
Player.Subscribe("Ready", function(self)
-- Ready was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event

UnPossess​

A Pawn (Character) was unpossessed from the Player
Player.Subscribe("UnPossess", function(self, pawn)
-- UnPossess was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
Base PawnpawnThe Pawn being unpossessed

See also GetControlledCharacter.


VOIP​

When a Player starts/ends using VOIP

When 'is_talking' is true, return false to prevent this voice stream from playing (on server will prevent for everyone, on client will prevent only for the client)
Player.Subscribe("VOIP", function(self, is_talking)
-- VOIP was called
return true
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
booleanis_talkingWhether the Player started (true) or stopped (false) talking

VOIPGlobalChannelSettingChange​

Triggered when a global VOIP channel setting changes for this player
Player.Subscribe("VOIPGlobalChannelSettingChange", function(self, channel, old_setting, new_setting)
-- VOIPGlobalChannelSettingChange was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
integerchannelThe channel that changed (1-63)
VOIPSettingold_settingThe previous setting
VOIPSettingnew_settingThe new setting

See also SetVOIPGlobalChannelSetting, SetVOIPGlobalAllChannelsSetting.


VOIPLocalSettingChange​

Triggered when the local VOIP setting changes for this player
Player.Subscribe("VOIPLocalSettingChange", function(self, old_setting, new_setting)
-- VOIPLocalSettingChange was called
end)

Arguments

TypeArgumentDescription
PlayerselfThe Player that triggered the event
VOIPSettingold_settingThe previous setting
VOIPSettingnew_settingThe new setting

See also SetVOIPLocalSetting.