Reference API Roblox

Engine API

Website

Related

Reference API Roblox

Players

A service that contains presently connected Player objects.

This class is not creatable. Instances of this class cannot be created with Instance.new.
This class is a service. It is a singleton that may be acquired with GetService.
Tags: [NotCreatable, Service]

Member index 65

HistoryMember
553BubbleChat: bool
553CharacterAutoLoads: bool
553ClassicChat: bool
553LocalPlayer: Player
553MaxPlayers: int
553NumPlayers: int
553PreferredPlayers: int
553RespawnTime: float
578UseStrafingAnimations: bool
622BanAsync(config: Dictionary): null
573Chat(message: string): null
498CreateHumanoidModelFromDescription(description: HumanoidDescription, rigType: HumanoidRigType, assetTypeVerification: AssetTypeVerification = Default): Model
498CreateHumanoidModelFromUserId(userId: int64): Model
498CreateLocalPlayer(): Player
625GetBanHistoryAsync(userId: int64): BanHistoryPages
498GetCharacterAppearanceAsync(userId: int64): Model
462GetCharacterAppearanceInfoAsync(userId: int64): Dictionary
498GetFriendsAsync(userId: int64): FriendPages
498GetHumanoidDescriptionFromOutfitId(outfitId: int64): HumanoidDescription
498GetHumanoidDescriptionFromUserId(userId: int64): HumanoidDescription
462GetNameFromUserIdAsync(userId: int64): string
567GetPlayerByUserId(userId: int64): Player
483GetPlayerFromCharacter(character: Model): Player
533GetPlayers(): Objects
462GetUserIdFromNameAsync(userName: string): int64
462GetUserThumbnailAsync(userId: int64, thumbnailType: ThumbnailType, thumbnailSize: ThumbnailSize): Tuple
573ReportAbuse(player: Player, reason: string, optionalMessage: string): null
573ReportAbuseV3(player: Player, jsonTags: string): null
643ReportChatAbuse(eligibleChatLines: Array, targetChatLines: Array, tags: Dictionary): null
573ResetLocalPlayer(): null
573SetChatStyle(style: ChatStyle = Classic): null
573SetLocalPlayerInfo(userId: int64, userName: string, displayName: string, membershipType: MembershipType, isUnder13: bool): null
573TeamChat(message: string): null
622UnbanAsync(config: Dictionary): null
573WhisperChat(message: string, player: Instance): null
553getPlayers(): Objects
553playerFromCharacter(character: Model): Player
553players(): Objects
483FriendRequestEvent(player: Player, player: Player, friendRequestEvent: FriendRequestEvent)
462GameAnnounce(message: string)
483PlayerAdded(player: Player)
498PlayerChatted(chatType: PlayerChatType, player: Player, message: string, targetPlayer: Player)
498PlayerConnecting(player: Player)
498PlayerDisconnecting(player: Player)
498PlayerMembershipChanged(player: Player)
498PlayerRejoining(player: Player)
483PlayerRemoving(player: Player)
594UserSubscriptionStatusChanged(user: Player, subscriptionId: string)
inherited from Instance
553Archivable: bool
635Capabilities: SecurityCapabilities
553ClassName: string
553Name: string
553Parent: Instance
635Sandboxed: bool
616UniqueId: UniqueId
553className: string
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
486GetChildren(): Objects
462GetDebugId(scopeLength: int = 4): string
486GetDescendants(): Array
486GetFullName(): string
462GetPropertyChangedSignal(property: string): RBXScriptSignal
641GetStyled(name: string): Variant
576GetTags(): Array
576HasTag(tag: string): bool
486IsA(className: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
580IsPropertyModified(name: string): bool
573Remove(): null
576RemoveTag(tag: string): null
580ResetPropertyToDefault(name: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
553children(): Objects
553clone(): Instance
573destroy(): null
553findFirstChild(name: string, recursive: bool = false): Instance
553getChildren(): Objects
462isA(className: string): bool
553isDescendantOf(ancestor: Instance): bool
573remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462Changed(property: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
553childAdded(child: Instance)

Removed member index 19

HistoryMember
258AddLeaderboardKey(key: string): void
284BlockUser(blockerUserId: int, blockeeUserId: int): string
310GetPlayerByID(userID: int): Instance
310GetPlayerById(userId: int): Instance
310GetUseCoreScriptHealthBar(): bool
310SetAbuseReportUrl(url: string): void
51SetBuildToolsUrl(url: string): void
310SetBuildUserPermissionsUrl(url: string): void
310SetChatFilterUrl(url: string): void
310SetLoadDataUrl(url: string): void
310SetSaveDataUrl(url: string): void
258SetSaveLeaderboardDataUrl(url: string): void
310SetSysStatsUrl(url: string): void
310SetSysStatsUrlId(urlId: string): void
284UnblockUser(exblockerUserId: int, exblockeeUserId: int): string
480getPlayerFromCharacter(character: Instance): Instance
310PlayerAddedEarly(player: Instance)
310PlayerRemovingLate(player: Instance)

Description

The Players service contains Player objects for presently connected clients to a Roblox server. It also contains information about a place's configuration. It can fetch information about players not connected to the server, such as character appearances, friends, and avatar thumbnail.

History 269

Members 65

BanAsync

Parameters (1)
configDictionary
Returns (1)
null

The Players:BanAsync() method allows you to easily ban users who violate your experience's guidelines. You can specify the ban duration, enable the ban to propagate to suspected alternate accounts, and provide a message to the banned user in accordance with the Usage Guidelines. You should also post your experience rules somewhere accessible to all users and provide a way for them to appeal.

Banning and Messaging

Banned users will be immediately evicted and prevented from rejoining your experiences. They will be presented with an error modal displaying the time left on their ban and your DisplayReason. Roblox's backend systems will evict players across all servers from the place(s) that you specify. DisplayReason can have a maximum length of 400 characters and is subject to a text filter. For more information on acceptable modal text, see ban messaging.

Places and Universe

By default, bans extend to any place within that universe. To limit the ban to only the place from which this API is called, configure ApplyToUniverse to false. However, if a user is banned in the start place of the universe, it effectively results in the user being excluded from the entirety of the universe, irrespective of whether a universal ban is in place or not.

Alternative Accounts

Users often play under multiple different accounts, known as alternate accounts or alt accounts, which are sometimes used to circumvent account bans. To help you keep banned users out, the default behavior of this API will propagate all bans from the source account you banned to any of their suspected alt accounts. You can turn off ban propagations to alt accounts by configuring ExcludeAltAccounts to true.

Ban Duration

Not all transgressions are the same, so not all bans should be the same length. This API lets you configure the duration of the ban, in seconds, with the Duration field. To specify a permanent ban, set the field to -1. You may also want to dynamically configure the ban duration based on the user's ban history, which you can query for using Players:GetBanHistoryAsync(). For example, you may want to consider the number of bans, the duration of previous bans, or build logic off of the notes you save under PrivateReason which can be up to 1000 characters and are not text filtered. PrivateReason notes are never shared with the client and can be considered safe from attackers.

Errors and Throttling

This method invokes an HTTP call to backend services which are subject to throttling and may fail. If you're calling this API with more than one UserId, this method will attempt to make the HTTP call for each ID. It will then aggregate any error messages and join them as a comma separated list. For example, if this method is invoked for five users and requests for those with UserIds 2 and 4 fail, the following error message appears:

HTTP failure for UserId 2: Timedout, HTTP 504 (Service unavailable) failure for UserId 4: Service exception

The message will always include failure for UserId {} if it is an HTTP error.

Client-Side Requirement

Because of the risks associated with banning users, this method may only be called on the backend experience server (client-side calls will result in an error). You may test this API in Studio, during collaborative creation, or in a team test, but the bans will not apply to production.

This API uses the User Restrictions Open Cloud API. You will be able to utilize these APIs to manage your bans in third party applications.

This function yields. It will block the calling thread until completion.

History 1

Tags: [Yields]

BubbleChat

TypeDefault
bool

The BubbleChat property indicates whether or not bubble chat is enabled. It is set with the Players:SetChatStyle() method using the ChatStyle enum.

When this chat mode is enabled, the game displays chats in the chat user interface at the top-left corner of the screen.

There are two other chat modes, Players.ClassicChat and a chat mode where both classic and bubble chat are enabled.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 4

Tags: [ReadOnly, NotReplicated]

CharacterAutoLoads

TypeDefault
bool

The CharacterAutoLoads property indicates whether Characters will respawn automatically. The default value is true.

If this property is disabled (false), player Characters will not spawn until the Player:LoadCharacter() function is called for each Player, including when players join the experience.

This can be useful in experiences where players have finite lives, such as competitive games in which players do not respawn until a game round ends.

This property is not replicated. Its interface does not cross the network boundary.

History 4

Tags: [NotReplicated]

Chat

Parameters (1)
messagestring
Returns (1)
null

This function makes the local player chat the given message. Since this item is protected, attempting to use it in a Script or LocalScript will cause an error.

Instead, when creating a custom chat system, or a system that needs access to the chat, you can use the Chat service's Chat:Chat() function instead.

History 5

  • 573 Change ReturnType of Chat from void to null
  • 462 Change ThreadSafety of Chat from to Unsafe
  • 151 Change Security of Chat from LocalUserSecurity to PluginSecurity
  • 83 Change Security of Chat from RobloxScriptSecurity to LocalUserSecurity
  • 47 Add Chat

ClassicChat

TypeDefault
bool

Indicates whether or not classic chat is enabled. This property is set by the Players:SetChatStyle() method using the ChatStyle enum.

When this chat mode is enabled, the game displays chats in a bubble above the sender's head.

There are two other chat modes, Players.BubbleChat and a chat mode where both classic and bubble chat are enabled.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 4

Tags: [ReadOnly, NotReplicated]

CreateHumanoidModelFromDescription

Parameters (3)Default
descriptionHumanoidDescription
rigTypeHumanoidRigType
assetTypeVerificationAssetTypeVerificationDefault
Returns (1)
Model

Returns a character Model equipped with everything specified in the passed in HumanoidDescription, and is R6 or R15 as specified by the rigType.

This function yields. It will block the calling thread until completion.

History 10

Tags: [Yields]

CreateHumanoidModelFromUserId

Parameters (1)
userIdint64
Returns (1)
Model

Returns a character Model set-up with everything equipped to match the avatar of the user specified by the passed in userId. This includes whether that character is currently R6 or R15.

This function yields. It will block the calling thread until completion.

History 6

Tags: [Yields]

CreateLocalPlayer

Parameters (0)
No parameters.
Returns (1)
Player

History 7

FriendRequestEvent

Parameters (3)
playerPlayer
playerPlayer
friendRequestEventFriendRequestEvent

History 4

GameAnnounce

Parameters (1)
messagestring

History 2

GetBanHistoryAsync

Parameters (1)
userIdint64
Returns (1)
BanHistoryPages

Retrieves the ban and unban history of any user within the experience's universe. This method returns a BanHistoryPages instance that inherits from Pages.

This function call will only succeed on production game servers and not on client devices or in Studio.

This API uses the User Restrictions Open Cloud API. You will be able to utilize these APIs to manage your bans in third party applications.

This function yields. It will block the calling thread until completion.

History 1

Tags: [Yields]

GetCharacterAppearanceAsync

Parameters (1)
userIdint64
Returns (1)
Model

This function returns a Model containing the assets which the player is wearing, excluding gear.

If you prefer a Lua table of information about these assets instead of a model, use Players:GetCharacterAppearanceInfoAsync().

This method behaves similar to InsertService:LoadAsset(), and is like using LoadAsset on the asset information returned by Players:GetCharacterAppearanceInfoAsync() except faster.

This function is deprecated. It exists only for backward compatibility, and should not be used for new work.
This function yields. It will block the calling thread until completion.

History 5

Tags: [Yields, Deprecated]

GetCharacterAppearanceInfoAsync

Parameters (1)
userIdint64
Returns (1)
Dictionary

This function returns information about a player's avatar (ignoring gear) on the Roblox website in the form of a dictionary. It is not to be confused with GetCharacterAppearanceAsync, which actually loads the assets described by this method. You can use InsertService:LoadAsset() to load the assets that are used in the player's avatar. The structure of the returned dictionary is as follows:

NameTypeDescription
assetstable (see below)Describes the equipped assets (hats, body parts, etc)
bodyColorstable (see below)Describes the BrickColor values for each limb
bodyColor3stable (see below)Describes the Color3 instance for each limb which may not match perfectly with bodyColors
defaultPantsAppliedboolDescribes whether default pants are applied
defaultShirtAppliedboolDescribes whether default shirt is applied
emotestable (see below)Describes the equipped emote animations
playerAvatarTypestringEither "R15" or "R6"
scalestable (see below)Describes various body scaling factors

Assets Sub-Table

The assets table is an array of tables containing the following keys that describe the assets currently equipped by the player:

NameTypeDescription
idnumberThe asset ID of the equipped asset
assetTypetableA table with name and id fields, each describing the kind of asset equipped ("Hat", "Face", etc.)
namestringThe name of the equipped asset

Scales Sub-Table

The scales table has the following keys, each a number corresponding to one Humanoid scaling property: bodyType, head, height, proportion, depth, width.

Body Colors Sub-Table

The bodyColors table has the following keys, each a number corresponding to a BrickColor ID number which can be used with BrickColor.new(id): leftArmColorId, torsoColorId, rightArmColorId, headColorId, leftLegColorId, rightLegColorId.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

GetFriendsAsync

Parameters (1)
userIdint64
Returns (1)
FriendPages

The GetFriends Players function returns a FriendPages object which contains information for all of the given user's friends. The items within the FriendPages object are tables with the following fields:

NameTypeDescription
Idint64The friend's UserId
UsernamestringThe friend's username
DisplayNamestringThe display name of the friend.

See the code samples for an easy way to iterate over all a player's friends.

This function yields. It will block the calling thread until completion.

History 4

Tags: [Yields]

GetHumanoidDescriptionFromOutfitId

Parameters (1)
outfitIdint64
Returns (1)
HumanoidDescription

Returns the HumanoidDescription for a specified outfitId, which will be set with the parts/colors/Animations etc of the outfit. An outfit can be one created by a user, or it can be the outfit for a bundle created by Roblox.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

GetHumanoidDescriptionFromUserId

Parameters (1)
userIdint64
Returns (1)
HumanoidDescription

Returns a HumanoidDescription which specifies everything equipped for the avatar of the user specified by the passed in userId. Also includes scales and body colors.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

GetNameFromUserIdAsync

Parameters (1)
userIdint64
Returns (1)
string

The GetNameFromUserIdAsync Players function will send a query to the Roblox website asking what the username is of the account with the given UserId.

This method errors if no account exists with the given UserId. If you aren't certain such an account exists, it's recommended to wrap calls to this function with pcall. In addition, you can manually cache results to make future calls with the same UserId fast. See the code samples to learn more.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

GetPlayerByUserId

Parameters (1)
userIdint64
Returns (1)
Player

This function searches each player in Players for one whose Player.UserId matches the given UserId. If such a player does not exist, it simply returns nil. It is equivalent to the following function:

1
2
3
4
5
6
7
8
local Players = game:GetService("Players")
local function getPlayerByUserId(userId)
	for _, player in Players:GetPlayers() do
		if player.UserId == userId then
			return player
		end
	end
end

This method is useful in finding the purchaser of a developer product using MarketplaceService.ProcessReceipt, which provides a table that includes the purchaser's UserId and not a reference to the Player object itself. Most games will require a reference to the player in order to grant products.

History 5

GetPlayerFromCharacter

Parameters (1)
characterModel
Returns (1)
Player

This function returns the Player associated with the given Player.Character, or nil if one cannot be found. It is equivalent to the following function:

1
2
3
4
5
6
7
local function getPlayerFromCharacter(character)
	for _, player in game:GetService("Players"):GetPlayers() do
		if player.Character == character then
			return player
		end
	end
end

This method is often used when some event in player's character fires (such as their Humanoid dying). Such an event might not directly reference the Player object, but this method provides easy access. The inverse of this function can be described as getting the Character of a Player. To do this, simply access the Character property.

History 4

GetPlayers

Parameters (0)
No parameters.
Returns (1)
Objects

This method returns a table of all presently connected Player objects. It functions the same way Instance:GetChildren() would except that it only returns Player objects found under Players. When used with a for loop, it is useful for iterating over all players in a game.

1
2
3
4
5
local Players = game:GetService("Players")

for _, player in Players:GetPlayers() do
	print(player.Name)
end

Scripts that connect to Players.PlayerAdded are often trying to process every Player that connects to the game. This method is useful for iterating over already-connected players that wouldn't fire PlayerAdded. Using this method ensures that no player is missed!

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
local Players = game:GetService("Players")

local function onPlayerAdded(player)
	print("Player: " .. player.Name)
end

for _, player in Players:GetPlayers() do
	onPlayerAdded(player)
end
Players.PlayerAdded:Connect(onPlayerAdded)

History 3

GetUserIdFromNameAsync

Parameters (1)
userNamestring
Returns (1)
int64

This function will send a query to the Roblox website asking what the Player.UserId is of the account with the given Player name.

This method errors if no account exists with the given username. If you aren't certain such an account exists, it's recommended to wrap calls to this function with pcall. In addition, you can manually cache results to quickly make future calls with the same username. See the code samples to learn more.

This function yields. It will block the calling thread until completion.

History 3

Tags: [Yields]

GetUserThumbnailAsync

Parameters (3)
userIdint64
thumbnailTypeThumbnailType
thumbnailSizeThumbnailSize
Returns (1)
Tuple

This function returns the content URL of an image of a player's avatar given their UserId, the desired image size as a ThumbnailSize enum, and the desired type as a ThumbnailType enum. It also returns a boolean describing if the image is ready to use.

Most often, this method is used with ImageLabel.Image or Decal.Texture to display user avatar pictures in an experience.

This function yields. It will block the calling thread until completion.

History 7

Tags: [Yields]

LocalPlayer

TypeDefault
Player

LocalPlayer is a read-only property which refers to the Player whose client is running the experience.

This property is only defined for LocalScripts and ModuleScripts required by them, since they run on the client. For the server, on which Script objects run their code, this property is nil.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 9

Tags: [ReadOnly, NotReplicated]

MaxPlayers

TypeDefault
int

The MaxPlayers property determines the maximum number of players that can be in a server. This property can only be set through a specific place's settings on the Creator Dashboard or through Game Settings.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 7

Tags: [ReadOnly, NotReplicated]

NumPlayers

TypeDefault
int

This property indicates the number of people in the server at the current time. It is read only. Meaning it cannot be written to, only read.

This property is deprecated. It exists only for backward compatibility, and should not be used for new work. GetPlayers should be used instead.
This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 6

Tags: [ReadOnly, NotReplicated, Deprecated]

PlayerAdded

Parameters (1)
playerPlayer

The PlayerAdded event fires when a player enters the game. This is used to fire an event when a player joins a game, such as loading the player's saved GlobalDataStore data.

This can be used alongside the Players.PlayerRemoving event, which fires when a player is about to leave the game. For instance, if you would like print a message every time a new player joins or leaves the game:

1
2
3
4
5
6
7
8
9
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	print(player.Name .. " joined the game!")
end)

Players.PlayerRemoving:Connect(function(player)
	print(player.Name .. " left the game!")
end)

If you want to track when a player's character is added or removed from the game, such as when a player respawns or dies, you can use the Player.CharacterAdded and Player.CharacterRemoving functions.

Note that this event does not work as expected in Play mode because the player is created before scripts run that connect to PlayerAdded. To handle this case, as well as cases in which the script is added into the game after a player enters, create an onPlayerAdded() function that you can call to handle a player's entrance.

History 3

PlayerChatted

Parameters (4)
chatTypePlayerChatType
playerPlayer
messagestring
targetPlayerPlayer

History 4

PlayerConnecting

Parameters (1)
playerPlayer

History 3

PlayerDisconnecting

Parameters (1)
playerPlayer

History 3

PlayerMembershipChanged

Parameters (1)
playerPlayer

This event fires when the game server recognizes that a player's membership has changed. Note, however, that the server will only attempt to check and update the membership after the Premium modal has been closed. Thus, to account for cases where the user purchases Premium outside of the game while playing, you must still prompt them to purchase Premium; this will then show a message telling them they're already upgraded and, once they close the modal, the game server will update their membership and trigger this event.

To learn more about and incorporating Premium into your experience and monetizing with the engagement-based payouts system, see Engagement-Based Payouts.

See also:

History 3

PlayerRejoining

Parameters (1)
playerPlayer

History 3

PlayerRemoving

Parameters (1)
playerPlayer

The PlayerRemoving event fires right before a Player leaves the game. This event fires before ChildRemoved does on Players, and behaves somewhat similarly to Instance.DescendantRemoving. Since it fires before the actual removal of a Player, this event is useful for storing player data using a GlobalDataStore.

This can be used alongside the Player.PlayerAdded event, which fires when a player joins the game. For instance, to print a message every time a new player joins or leaves the game:

1
2
3
4
5
6
7
8
9
local Players = game:GetService("Players")

Players.PlayerAdded:Connect(function(player)
	print(player.Name .. " joined the game!")
end)

Players.PlayerRemoving:Connect(function(player)
	print(player.Name .. " left the game!")
end)

If you want to track when a player's character is added or removed from the game, such as when a player respawns or dies, you can use the Player.CharacterAdded and Player.CharacterRemoving functions.

History 3

PreferredPlayers

TypeDefault
int

The PreferredPlayers property indicates the number of players to which Roblox's matchmaker will fill servers. This number will be less than the maximum number of players (Players.MaxPlayers) supported by the experience.

This property is not replicated. Its interface does not cross the network boundary.
This property is read-only. Its value can be read, but it cannot be modified.

History 4

Tags: [ReadOnly, NotReplicated]

ReportAbuse

Parameters (3)
playerPlayer
reasonstring
optionalMessagestring
Returns (1)
null

History 5

ReportAbuseV3

Parameters (2)
playerPlayer
jsonTagsstring
Returns (1)
null

History 2

ReportChatAbuse

Parameters (3)
eligibleChatLinesArray
targetChatLinesArray
tagsDictionary
Returns (1)
null

History 1

ResetLocalPlayer

Parameters (0)
No parameters.
Returns (1)
null

History 2

RespawnTime

TypeDefault
float

The RespawnTime property controls the time, in seconds, it takes for a player to respawn when Players.CharacterAutoLoads is true. It defaults to 5.0 seconds.

This is useful when you want to change how long it takes to respawn based on the type of your experience but don't want to handle spawning players individually.

Although this property can be set from within a Script, you can more easily set it directly on the Players object in Studio's Explorer window.

History 4

SetChatStyle

Parameters (1)Default
styleChatStyleClassic
Returns (1)
null

This function sets whether BubbleChat and ClassicChat are being used, and tells TeamChat and Chat what to do using the ChatStyle enum. Since this item is protected, attempting to use it in a Script or LocalScript will cause an error.

This function is used internally when the chat mode is set by the game.

History 4

SetLocalPlayerInfo

Parameters (5)
userIdint64
userNamestring
displayNamestring
membershipTypeMembershipType
isUnder13bool
Returns (1)
null

History 4

TeamChat

Parameters (1)
messagestring
Returns (1)
null

This function makes the Players.LocalPlayer chat the given message, which will only be viewable by users on the same team. Since this item is protected, attempting to use it in a Script or LocalScript will cause an error.

This function is used internally when the Players.LocalPlayer sends a message to their team.

History 5

UnbanAsync

Parameters (1)
configDictionary
Returns (1)
null

Unbans players banned from Players:BanAsync() or the User Restrictions Open Cloud API.

Like Players:BanAsync(), this method takes in a config dictionary that will let you bulk unban users. This configures the users that are unbanned and the scope from which they are unbanned from.

Unbans will only take effect on bans with the same ApplyToUniverse scope. For example, an unban with ApplyToUniverse set to true will not invalidate a previous ban with ApplyToUniverse set to false. In other words, a universe level unban will not invalidate a place level ban. The opposite also holds true.

This method invokes a HTTP call to backend services, which are throttled and may fail. If you are calling this API with multiple UserIds, this method will attempt to make this HTTP call for each UserId. It will then aggregate any error messages and join them as a comma separated list. For example, if this method is invoked for five UserIds: {1, 2, 3, 4, 5} and requests for users 2 and 4 fail then the following error message appears: HTTP failure for UserId 2: Timedout, HTTP 504 (Service unavailable) failure for UserId 4: Service exception. The message will always include failure for UserId {} if it is an HTTP error. It is undefined behavior if you pass in both valid and invalid UserIds, i.e. a UserId that is not a positive number, as some network requests may succeed before all input is validated.

Because of the risks associated with banning users, this method may only be called on the backend game server. Client side calls will result in an error. You may test this API in Studio, Team Create, and Team Test, but the bans will not apply to production. This function call will only attempt ban requests on production game servers and not in Studio testing. However, all input validation steps will still work in Studio.

This API uses the User Restrictions Open Cloud API. You will be able to utilize these APIs to manage your bans in third party applications.

This function yields. It will block the calling thread until completion.

History 1

Tags: [Yields]

UseStrafingAnimations

TypeDefault
bool
This property is not scriptable. It cannot be accessed by script code.

History 2

Tags: [NotScriptable]

UserSubscriptionStatusChanged

Parameters (2)
userPlayer
subscriptionIdstring

This event fires when the game server recognizes that the user's status for a certain subscription has changed. Note that the server only attempts to check and update the status after the Subscription Purchase modal has been closed. To account for cases in which the user purchases the subscription outside of the game while playing, you must still prompt them to purchase the subscription; the prompt shows a message telling the user they're already subscribed, and after they close the modal, the game server updates their subscription status and triggers this event.

Note that only server scripts receive this event.

History 2

WhisperChat

Parameters (2)
messagestring
playerInstance
Returns (1)
null

History 4

getPlayers

Parameters (0)
No parameters.
Returns (1)
Objects
This function is deprecated. It exists only for backward compatibility, and should not be used for new work. GetPlayers should be used instead.

History 3

Tags: [Deprecated]

playerFromCharacter

Parameters (1)
characterModel
Returns (1)
Player
This function is deprecated. It exists only for backward compatibility, and should not be used for new work. GetPlayerFromCharacter should be used instead.

History 6

Tags: [Deprecated]

players

Parameters (0)
No parameters.
Returns (1)
Objects

This function was once used to return a list of players in a game, but has since been deprecated in favor of Players:GetPlayers()

This function is deprecated. It exists only for backward compatibility, and should not be used for new work. GetPlayers should be used instead.

History 3

Tags: [Deprecated]

Removed members 19

AddLeaderboardKey

Parameters (1)
keystring
Returns (1)
void

History 4

BlockUser

Parameters (2)
blockerUserIdint
blockeeUserIdint
Returns (1)
string
This function yields. It will block the calling thread until completion.

History 2

Tags: [Yields]

GetPlayerByID

Parameters (1)
userIDint
Returns (1)
Instance
This function is deprecated. It exists only for backward compatibility, and should not be used for new work.

History 3

Tags: [Deprecated]

GetPlayerById

Parameters (1)
userIdint
Returns (1)
Instance

History 2

GetUseCoreScriptHealthBar

Parameters (0)
No parameters.
Returns (1)
bool

History 2

PlayerAddedEarly

Parameters (1)
playerInstance

History 2

PlayerRemovingLate

Parameters (1)
playerInstance

History 2

SetAbuseReportUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetBuildToolsUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetBuildUserPermissionsUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetChatFilterUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetLoadDataUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetSaveDataUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetSaveLeaderboardDataUrl

Parameters (1)
urlstring
Returns (1)
void

History 4

SetSysStatsUrl

Parameters (1)
urlstring
Returns (1)
void

History 2

SetSysStatsUrlId

Parameters (1)
urlIdstring
Returns (1)
void

History 2

UnblockUser

Parameters (2)
exblockerUserIdint
exblockeeUserIdint
Returns (1)
string
This function yields. It will block the calling thread until completion.

History 2

Tags: [Yields]

getPlayerFromCharacter

Parameters (1)
characterInstance
Returns (1)
Instance
This function is deprecated. It exists only for backward compatibility, and should not be used for new work.

History 3

Tags: [Deprecated]

Settings