Players

非推奨を表示

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

作成できません
サービス

サービスには、Players 現在、クライアントにRoblox サーバーに接続されている Player オブジェクトが含まれています。また、場プレースの設定に関する情報も含まれています。サーバーに接続されていないプレイヤーの場合、例えばキャラクターの見た目、友達、アバターのサムネイルなど、Players

概要

プロパティ

  • 複製されていません
    スクリプト作成できません
    並列読み取り

    バンアシンクロメソッドを 3つの Players メソッド ( BanAsync()UnbanAsync() 、および 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> 構成する

  • 読み取り専用
    複製されていません
    並列読み取り

    バブルチャットが有効かどうかを指定します。 Players:SetChatStyle() メソッドで設定されています。

  • 複製されていません
    並列読み取り

    Class.Character|Characters が自動的にリスポーンするかどうかを示します。

  • 読み取り専用
    複製されていません
    並列読み取り

    クラシックチャットが有効かどうかを指示します; Players:SetChatStyle() メソッドによって設定されます。

  • 読み取り専用
    複製されていません
    並列読み取り

    Class.LocalScript が実行されている LocalScript

  • 読み取り専用
    複製されていません
    並列読み取り

    サーバーに参加できるプレーヤーの最大数。

  • 読み取り専用
    複製されていません
    並列読み取り

    サーバーのプレイヤーの最大数。

  • 並列読み取り

    プレイヤーのキャラクターがリスポーンするのにかかる時間をコントロールします。

  • スクリプト作成できません
    並列読み取り

方法

  • Chat(message : string):void
    プラグインのセキュリティ

    ローカルプレイヤーのチャットを指定したメッセージに変更します。

  • 並列書き込み

    Class.Player を返し、 UserId がゲーム内にある場合、Class.Player.UserId|userId> です。

  • Class.Player の中の Character が与えられたインスタンスと一致するか、nil が 1 つでも見つからない場合、1>Class.Player1> を返します。

  • GetPlayers():Instances
    並列書き込み

    現在接続されているすべての Player オブジェクトのテーブルを返します。

  • プラグインのセキュリティ

    バブルチャットとクラシックチャットが使用されているかどうかを設定し、チームチャットと Chat に何をすべきかを伝えます。

  • TeamChat(message : string):void
    プラグインのセキュリティ

    LocalPlayer は、入力したメッセージ をチャットしますが、同じチームのユーザーのみが表示できます。

  • BanAsync(config : Dictionary):void
    イールド

    ユーザーをエクスペリエンスから禁止し、期間、理由、バンが宇宙全体に適用されるか、現在の場プレースにのみ適用されるかなど、オプションで指定した期間を指定します。このメソッドは Players.BanningEnabled プロパティによって有効化/無効化されます。

  • パスしたヒューマノイド説明に指定されたすべてのモデルを返し、R6 または R15 は RigType によって指定されたように R6 または R15 です。

  • 指定されたユーザーのアバターに一致するように装備されたすべてのモデルを返します。

  • エクスペリエンスのユニバース内のユーザーのバンとアンバン履歴を取得します。このメソッドは Players.BanningEnabled プロパティによって有効化され、Class.Players.BanningEnabled プロパティによって無効化されます。

  • 指定されたユーザーのキャラクターの外観に関する情報を返します。

  • イールド

    Class.FriendPages オブジェクトを返します これには、与えられたプレイヤーのすべての友達の情報が含まれています。

  • 指定された服装のヒューマノイドの説明を返し、服装のパーツ/色/アニメーションなどを設定します。

  • 指定されたユーザーのアバターに装備されたすべてのものを返します。

  • イールド

    指定された UserId のユーザー名でRoblox ウェブサイトにクエリを送信します。

  • イールド

    指定されたユーザー名のアカウントに userId の Roblox ウェブサイトにクエリを送信します。

  • GetUserThumbnailAsync(userId : number,thumbnailType : Enum.ThumbnailType,thumbnailSize : Enum.ThumbnailSize):Tuple
    イールド

    サイズと種入力を指定したプレイヤーのサムネイルのコンテンツ URL を返します。また、画像が使用できるかどうかを示すBoolean も返します。

  • UnbanAsync(config : Dictionary):void
    イールド

    Class.Players:BanAsync() または Players.BanningEnabled のユーザー制限オープンクラウド API から追放されたプレイヤーをアクセスできません。このメソッドは Class.Players.BanningEnabled プロパティで有効化され、1>Class.Players.BanningEnabled1> プロパティで無効化されます。

イベント

プロパティ

BanningEnabled

複製されていません
スクリプト作成できません
並列読み取り

バンアシンクロメソッドを 3つの Players メソッド ( BanAsync()UnbanAsync() 、および 1> Class.Players:GetBanHistoryAsync()|GetBanHistoryAsync()1> 構成する

BubbleChat

読み取り専用
複製されていません
並列読み取り

The BubbleChat プロパティは、バブルチャットが有効になっているかどうかを指し示します。 は、Players:SetChatStyle() メソッドを使用して、Enum.ChatStyle 枚を使用しています。

このチャットモードが有効になると、ゲームは画面の左上隅にあるチャット UI でチャットを表示します。

他の 2つのチャットモード、 Players.ClassicChat と、クラシックチャットとバブルチャットの両方が有効なチャットモードがあります。

CharacterAutoLoads

複製されていません
並列読み取り

CharacterAutoLoads プロパティは、Class.Character|Characters が自動的にリスポーンするかどうかを示します。デフォルトの値は true です。

このプロパティが無効になっている場合 ( false )、player Class.Character|Characters は、Player:LoadCharacter() がエクスペリエンスに参加するたびに Player 関数を呼び出すまで、エクスペリエンスをスポーンしません。

これは、プレイヤーの命が限られているエクスペリエンス、例えばコンペティティブゲームで、プレイヤーがゲームラウンドが終了するまでリスポーンしないことができる場合に便利です。

コードサンプル

Player Respawn Timer

local Players = game:GetService("Players")
-- Set CharacterAutoLoads to false
Players.CharacterAutoLoads = false
-- Remove player's character from workspace on death
Players.PlayerAdded:Connect(function(player)
while true do
local char = player.CharacterAdded:Wait()
char.Humanoid.Died:Connect(function()
char:Destroy()
end)
end
end)
-- Respawn all dead players once every 10 seconds
while true do
local players = Players:GetChildren()
-- Check if each player is dead by checking if they have no character, if dead load that player's character
for _, player in pairs(players) do
if not workspace:FindFirstChild(player.Name) then
player:LoadCharacter()
end
end
-- Wait 10 seconds until next respawn check
task.wait(10)
end

ClassicChat

読み取り専用
複製されていません
並列読み取り

クラシックチャットが有効かどうかを指定します。このプロパティは、Players:SetChatStyle() メソッドを使用して、Enum.ChatStyle エンムを使用しています。

このチャットモードが有効になると、ゲームは送信者の頭上のバブルにチャットを表示します。

他の 2つのチャットモード、 Players.BubbleChat と、クラシックとバブルチャットの両方が有効なチャットモードがあります。

LocalPlayer

読み取り専用
複製されていません
並列読み取り

LocalPlayer は、エクスペリエンスを実行しているクライアントの Player に参照する読み取りのみのプロパティです。

このプロパティは、LocalScripts と、ModuleScripts の必要に応じてのみ定義されます。これらは、クライアントで実行されるため、サーバーでは Script オブジェクトが実行するコードを読み込みます。サーバーでは、1> nil

MaxPlayers

読み取り専用
複製されていません
並列読み取り

プロパティ MaxPlayers は、サーバーに入ることができる最大プレイヤーの数を決定します。このプロパティは、クリエイターダッシュボード または ゲーム設定 を通じてのみ設定できます。

PreferredPlayers

読み取り専用
複製されていません
並列読み取り

The PreferredPlayers プロパティは、Roblox のマッチメーカーがサーバーを満たすプレイヤーの数を指します。この数は、エクスペリエンスにサポートされている最大プレイヤー数 (Players.MaxPlayers) より小さいです。

RespawnTime

並列読み取り

プロパティ RespawnTime は、Players.CharacterAutoLoads が true の場合、プレイヤーがリスポーンする時間を制御します。デフォルトは 5.0 秒です。

これは、エクスペリエンスの種類に応じて、リスポーンするのにかかる時間を変更したい場合に便利ですが、個々のプレイヤーを処理することはしたくありません。

このプロパティは Script 内から設定できますが、Players オブジェクトの直接上に Explorer ウィンドウで設定することがより簡単です。

UseStrafingAnimations

スクリプト作成できません
並列読み取り

方法

Chat

void
プラグインのセキュリティ

この関数は、ローカルプレイヤーが入力したメッセージを、指定されたメッセージに変換します。このアイテムは保護されているため、Script またはLocalScript で使用しようとしてもエラーが発生します。

代わりに、カスタムチャットシステム、またはチャットにアクセスする必要があるシステムを作成するときは、<a href="https://www.Class.Chat.com/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://www.Class.Chat.com/ja/"> <a href="https://

パラメータ

message: string

メッセージチャット。


戻り値

void

コードサンプル

Players:Chat

-- Command bar
game:GetService("Players"):Chat("Hello, world!") --Results in 'Hello, world!' appearing in the Chat log under your Player's name.
-- Script
local Players = game:GetService("Players")
Players:Chat("Hello, world!") --Errors

GetPlayerByUserId

並列書き込み

この関数は、player を含む Players の各 Player.UserId を検索します。2>Class.Player.UserId2> が与えられたユーザーID と一致するプレイヤーが存在しない場合、5>nil5> を返します。次の関数と同等です:


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

このメソッドは、MarketplaceService.ProcessReceipt を使用して、開発者製品の購入者を見つけるのに便利です。これは、ユーザーのユーザーIDを含むテーブルを提供し、Player オブジェクト自体の参照を含まないようにします。ほとんどのゲームでは、製品を与えるためにプレイヤーに参照が必要になります。

パラメータ

userId: number

指定されているプレイヤーの Player.UserId


戻り値

コードサンプル

Players:GetPlayerByUserId

local Players = game:GetService("Players")
local player = Players:GetPlayerByUserId(1)
if player then
print("Player with userId 1 is in this server! Their name is: " .. player.Name)
else
print("Player with userId 1 is not in this server!")
end
ProcessReceipt Callback

local MarketplaceService = game:GetService("MarketplaceService")
local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
-- Data store for tracking purchases that were successfully processed
local purchaseHistoryStore = DataStoreService:GetDataStore("PurchaseHistory")
-- Table setup containing product IDs and functions for handling purchases
local productFunctions = {}
-- ProductId 123123 for a full heal
productFunctions[123123] = function(_receipt, player)
-- Logic/code for player buying a full heal (may vary)
if player.Character and player.Character:FindFirstChild("Humanoid") then
-- Heal the player to full health
player.Character.Humanoid.Health = player.Character.Humanoid.MaxHealth
-- Indicate a successful purchase
return true
end
end
-- ProductId 456456 for 100 gold
productFunctions[456456] = function(_receipt, player)
-- Logic/code for player buying 100 gold (may vary)
local stats = player:FindFirstChild("leaderstats")
local gold = stats and stats:FindFirstChild("Gold")
if gold then
gold.Value = gold.Value + 100
-- Indicate a successful purchase
return true
end
end
-- The core 'ProcessReceipt' callback function
local function processReceipt(receiptInfo)
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local purchased = false
local success, result, errorMessage
success, errorMessage = pcall(function()
purchased = purchaseHistoryStore:GetAsync(playerProductKey)
end)
-- If purchase was recorded, the product was already granted
if success and purchased then
return Enum.ProductPurchaseDecision.PurchaseGranted
elseif not success then
error("Data store error:" .. errorMessage)
end
-- Determine if the product was already granted by checking the data store
local playerProductKey = receiptInfo.PlayerId .. "_" .. receiptInfo.PurchaseId
local success, isPurchaseRecorded = pcall(function()
return purchaseHistoryStore:UpdateAsync(playerProductKey, function(alreadyPurchased)
if alreadyPurchased then
return true
end
-- Find the player who made the purchase in the server
local player = Players:GetPlayerByUserId(receiptInfo.PlayerId)
if not player then
-- The player probably left the game
-- If they come back, the callback will be called again
return nil
end
local handler = productFunctions[receiptInfo.ProductId]
local success, result = pcall(handler, receiptInfo, player)
-- If granting the product failed, do NOT record the purchase in datastores.
if not success or not result then
error("Failed to process a product purchase for ProductId: " .. tostring(receiptInfo.ProductId) .. " Player: " .. tostring(player) .. " Error: " .. tostring(result))
return nil
end
-- Record the transaction in purchaseHistoryStore.
return true
end)
end)
if not success then
error("Failed to process receipt due to data store error.")
return Enum.ProductPurchaseDecision.NotProcessedYet
elseif isPurchaseRecorded == nil then
-- Didn't update the value in data store.
return Enum.ProductPurchaseDecision.NotProcessedYet
else
-- IMPORTANT: Tell Roblox that the game successfully handled the purchase
return Enum.ProductPurchaseDecision.PurchaseGranted
end
end
-- Set the callback; this can only be done once by one script on the server!
MarketplaceService.ProcessReceipt = processReceipt

GetPlayerFromCharacter

この関数は、Player を返し、Player.Character または nil が与えられた、2> Class.Player2> に関連付けられた返します。同じ機能は次の関数と同等です:


local function getPlayerFromCharacter(character)
for _, player in game:GetService("Players"):GetPlayers() do
if player.Character == character then
return player
end
end
end

このメソッドは、プレイヤーのキャラクターのイベントが発生したときによく使用されます (例えば、その Class.Humanoid Humanoid )。このようなイベントは、プレイヤーオブジェクトに直接参照することはできませんが、このメソッドは簡単にアクセ

パラメータ

character: Model

プレイヤーを取得したいキャラクターインスタンス。


戻り値

コードサンプル

Players:GetPlayerFromCharacter

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local PLAYER_NAME = "Nightriff"
local character = Workspace:FindFirstChild(PLAYER_NAME)
local player = Players:GetPlayerFromCharacter(character)
if player then
print(`Player {player.Name} ({player.UserId}) is in the game`)
else
print(`Player {PLAYER_NAME} is not in the game!`)
end

GetPlayers

Instances
並列書き込み

このメソッドは、現在接続されているすべての Player オブジェクトのテーブルを返します。同じように Instance:GetChildren() が機能しますが、Player オブジェクトが 2>Class.Players2> の下にあるので、


local Players = game:GetService("Players")
for _, player in Players:GetPlayers() do
print(player.Name)
end

Class.Players.PlayerAdded に接続するスクリプトは、ゲームに接続するすべてのプレイヤーを処理しようとしています。このメソッドは、既に接続されたプレイヤーをイテレートするのに便利です。このメソッドは、PlayerAdded を実行するプレイヤーを怠惰にすることなく確実に実


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)

戻り値

Instances

サーバー内のすべてのプレイヤーを含むテーブル。

コードサンプル

Give Sparkles to Everyone

local Players = game:GetService("Players")
local function onCharacterAdded(character)
-- Give them sparkles on their head if they don't have them yet
if not character:FindFirstChild("Sparkles") then
local sparkles = Instance.new("Sparkles")
sparkles.Parent = character:WaitForChild("Head")
end
end
local function onPlayerAdded(player)
-- Check if they already spawned in
if player.Character then
onCharacterAdded(player.Character)
end
-- Listen for the player (re)spawning
player.CharacterAdded:Connect(onCharacterAdded)
end
Players.PlayerAdded:Connect(onPlayerAdded)

SetChatStyle

void
プラグインのセキュリティ

この関数は、BubbleChatとClassicChatが使用されているかどうかを設定し、TeamChat と Chat に Enum.ChatStyle 枚を使用するようにします。このアイテムは保護されているため、Script または LocalScript で使用しようとしているとエラーが発生します。

この関数は、ゲームがチャットモードを設定したときに内部で使用されます。

パラメータ

指定されたチャットスタイルが設設定するされています。

既定値: "Classic"

戻り値

void

コードサンプル

Setting a Player's Chat Style

-- Command bar
game.Players:SetChatStyle(Enum.ChatStyle.Classic) -- Set's chat style to Classic
-- LocalScript
local Players = game:GetService("Players")
Players:SetChatStyle(Enum.ChatStyle.Classic) -- Errors

TeamChat

void
プラグインのセキュリティ

この関数は、Players.LocalPlayer チャットを、与えられたメッセージを表示するようにします。このアイテムは保護されているので、Script または LocalScript で使用しようとしてもエラーが発生します。

この関数は、Players.LocalPlayer がチームにメッセージを送信するときに内部で使用されます。

パラメータ

message: string

チャット中のメッセージ。


戻り値

void

コードサンプル

Sending Team Chat

-- Command bar
game.Players:TeamChat("Hello World") -- Sends a "Hello World" message to all players on the local player's team
-- LocalScript
local Players = game:GetService("Players")
Players:TeamChat("Hello World") -- Errors

BanAsync

void
イールド

Class.Players:BanAsync() メソッドは、エクスペリエンスのガイドラインに違反するユーザーを簡単に禁止することができます。禁止期間、禁止を拡異議申し立てする、および、<

禁止とメッセージ送信

禁止されたユーザーはすぐに追放され、エクスペリエンスに再参加することを防止されます。彼らは、バンの残り時間とあなたの DisplayReason を表示するエラーモーダルを持つことがあります。Roblox のバックエンドシステ

場所と宇宙

デフォルトでは、バンは宇宙のどの場所にも拡張されます。この API が呼び出される場所を制限するためには、ApplyToUniversefalse に設定します。しかし、ユーザーが宇宙の開始場所にバンされた場合、それはユーザーが宇宙の全体から排除される

アルティメットアカウント

ユーザーは、別のアカウントまたはオルタアカウントとして知られる、アカウントの禁止を回避するために多くの場合にプレイします。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

バンの期間

すべての違反は同じではありませんので、

エラーとスロットリング

このメソッドは、UserId のあるバックエンドサービスに HTTP コールをインストールします。UserIds の 1 以上のユーザーにこのメソッドを呼び出すと、HTTP コールが各 ID のため

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

メッセージには常に failure for UserId {} が含まれています。これは HTTP エラーです。

クライアント側の要件

ユーザーを禁止するリスクについては、このメソッドはバックエンドエクスペリエンスサーバー (クライアント側の呼び出しによるエラー) にのみ呼び出されることになります。このメソッドを Studio で、コラボレーション の作作品中、またはチームテスト でテストすることができますが、バンはプロダクショ

この API は、ユーザー制限オープンクラウド API を使用しています。これらの API を使用して、サードパーティのアプリで禁止を管理できます。

パラメータ

config: Dictionary
  • UserIds (必須; 配列) — プレイヤーの UserIds を禁止するアレイ。最大サイズは 50 です。

  • ApplyToUniverse (オプション; ブール) — バンがエクスペリエンス宇宙内のすべての場所に拡散するかどうか。デフォルトは true です。

  • Duration (必須; 整数) — アカウント停止ンの期間、in 秒。永久バンは -1 に値を持つ必要があります。0 および他のすべてのネガティブ値は無効です。

  • DisplayReason (必須; 文字列) — ユーザーがエクスペリエンスに参加しようとして失敗したときに表示されるメッセージ。最大文字列長は 400 です。

  • PrivateReason (必須; 文字列) — ユーザーの禁止歴をクエリーするときに返される内部メッセージ。最大文字列長は 1000 です。

  • ExcludeAltAccounts (オプション; ブールスタッフ) — true の場合、Roblox は alt アカウントを禁止しません。デフォルトは false です。


戻り値

void

コードサンプル

Banning Users

local Players = game:GetService("Players")
if shouldBeBanned(player: Player) then
local banHistoryPages = Players:GetBanHistoryAsync(player.UserId)
local duration = getNextBanDuration(banHistoryPages) -- Creator-implemented logic
local config: BanConfigType = {
UserIds = {player.UserId},
Duration = duration,
DisplayReason = "You violated community guideline #5",
PrivateReason = "Put anything here that the user should not know but is helpful for your records",
ExcludeAltAccounts = false,
ApplyToUniverse = true
}
local success, err = pcall(function()
return Players:BanAsync(config)
end)
print(success, err)
end

CreateHumanoidModelFromDescription

イールド

パスしたヒューマノイド説明に指定されたすべてのモデルを返し、R6 または R15 は RigType によって指定されたように R6 または R15 です。

パラメータ

description: HumanoidDescription

返されたキャラクターの外観を指定します。

返されたキャラクターが R6 または R15 であるかどうかを指定します。

assetTypeVerification: Enum.AssetTypeVerification

アセットタイプの検証は、この関数がモデルを読み込むかどうかを決定します (非カタログアセットを読み込まないようにしてください)。

既定値: "Default"

戻り値

ヒューマノイドキャラクターモデル。

コードサンプル

Create Humanoid Model From Description

game.Players:CreateHumanoidModelFromDescription(Instance.new("HumanoidDescription"), Enum.HumanoidRigType.R15).Parent = game.Workspace

CreateHumanoidModelFromUserId

イールド

指定されたユーザーのアバターに一致するように設定されたキャラクターのモデルを返します。これには、そのキャラクターが現在 R6 または R15 であるかどうかが含まれます。

パラメータ

userId: number

Roblox ユーザーのユーザーID (ユーザーID は、ユーザープロフィールの番号など、Roblox サーバーでのユーザーの識別です。)


戻り値

ヒューマノイドキャラクターモデル。

コードサンプル

Create Humanoid Model From A User ID

game.Players:CreateHumanoidModelFromUserId(1).Parent = game.Workspace

GetBanHistoryAsync

イールド

エクスペリエンスのユニバース内のユーザーのバンとアンバン履歴を取得します。このメソッドは、BanHistoryPages インスタンスを返しますが、Pages から継承されます。このメソッドは Players.BanningEnabled プロパティで、Studio でオン/オフしている

この関数コールは、プロダクションゲームサーバーでのみに成功し、クライアントデバイスや Studio では成功しません。

この API は、ユーザー制限オープンクラウド API を使用しています。これらの API を使用して、サードパーティのアプリで禁止を管理できます。

パラメータ

userId: number

戻り値

Class.BanHistoryPages で参照先を返します。

GetCharacterAppearanceInfoAsync

イールド

この関数は、Roblox ウェブサイトのアバターのアバターに関する情報 (ギアを無視) を形式の辞書で返します。これは GetCharacterAppearanceAsync とは異なります。このメソッドで説明されているアセッ


<tr>
<td><code>アセット</code></td>
<td>table (以下を参照)</td>
<td>装備されたアセット (帽子、ボディパーツなど) を説明します</td>
</tr>
<tr>
<td><code>ボディカラー</code></td>
<td>table (以下を参照)</td>
<td>各リンブの BrickColor 値を説明します</td>
</tr>
<tr>
<td><code>ボディカラー3秒</code></td>
<td>table (以下を参照)</td>
<td>ボディカラーと一致しない可能性のある各リムブの Color3 インスタンスを説明します</td>
</tr>
<tr>
<td><code>デフォルトのパンツを適用済み</code></td>
<td>ブール</td>
<td>デフォルトのパンツを適用するかどうかを記述します</td>
</tr>
<tr>
<td><code>defaultShirtApplied )</code></td>
<td>ブール</td>
<td>デフォルトのシャツが適用されるかどうかを記述します</td>
</tr>
<tr>
<td><code>エモート</code></td>
<td>table (以下を参照)</td>
<td>装備されたエモートアニメーションを説明します</td>
</tr>
<tr>
<td><code>playerAvatarType</code></td>
<td>文字列</td>
<td>「R15」または「R6」</td>
</tr>
<tr>
<td><code>スケール</code></td>
<td>table (以下を参照)</td>
<td>さまざまなボディスケーリングファクターを説明します</td>
</tr>
名前タイプ説明
アセットのサブテーブル

資産 テーブルは、プレイヤーが現在装備している資産の説明を含む、次のキーを含むアレイのテーブルです:


<tr>
<td><code>id</code></td>
<td>番号</td>
<td>装備されたアセットのアセットID</td>
</tr>
<tr>
<td><code>アセットタイプ</code></td>
<td>テーブル</td>
<td>名前と id の両方がある、<code>名前</code> と <code>id</code> の両方がある、それぞれ種類のアセットを装備している ("Hat", "Face", etc")</td>
</tr>
<tr>
<td><code>名前</code></td>
<td>文字列</td>
<td>装備されたアセットの名前</td>
</tr>
名前タイプ説明
スケールSub-Table

scales テーブルには、Humanoid スケーリングプロパティに対応する各 bodyType のキーがあります:1>bodyType1>、4>head4>、7>bodyHeight7>、9>proportion9>、

ボディカラー サブテーブル

bodyColors テーブルには、BrickColor ID 番号を使用できる、BrickColor.new(id) 、1>torsoColorId

パラメータ

userId: number

指定されたプレイヤーの * ユーザーID


戻り値

ユーザーの外観に関する情報を含む辞典。

コードサンプル

Example Return Character Appearance Dictionary

local result = {
playerAvatarType = "R15",
defaultPantsApplied = false,
defaultShirtApplied = false,
scales = {
bodyType = 0,
head = 1,
height = 1.05,
proportion = 0,
depth = 0.92,
width = 0.85,
},
bodyColors = {
leftArmColorId = 1030,
torsoColorId = 1001,
rightArmColorId = 1030,
headColorId = 1030,
leftLegColorId = 1001,
rightLegColorId = 1001,
},
assets = {
{
id = 1031492,
assetType = {
name = "Hat",
id = 8,
},
name = "Striped Hat",
},
{
id = 13062491,
assetType = {
name = "Face Accessory",
id = 42,
},
name = "Vision Française ",
},
{
id = 16598440,
assetType = {
name = "Neck Accessory",
id = 43,
},
name = "Red Bow Tie",
},
{
id = 28999228,
assetType = {
name = "Face",
id = 18,
},
name = "Joyous Surprise",
},
{
id = 86896488,
assetType = {
name = "Shirt",
id = 11,
},
name = "Expensive Red Tuxedo Jacket",
},
{
id = 86896502,
assetType = {
name = "Pants",
id = 12,
},
name = "Expensive Red Tuxedo Pants",
},
{
id = 376530220,
assetType = {
name = "Left Arm",
id = 29,
},
name = "ROBLOX Boy Left Arm",
},
{
id = 376531012,
assetType = {
name = "Right Arm",
id = 28,
},
name = "ROBLOX Boy Right Arm",
},
{
id = 376531300,
assetType = {
name = "Left Leg",
id = 30,
},
name = "ROBLOX Boy Left Leg",
},
{
id = 376531703,
assetType = {
name = "Right Leg",
id = 31,
},
name = "ROBLOX Boy Right Leg",
},
{
id = 376532000,
assetType = {
name = "Torso",
id = 27,
},
name = "ROBLOX Boy Torso",
},
},
}
print(result)

GetFriendsAsync

イールド

GetFriends Players 機能は、FriendPages オブジェクトを返しますが、これには、与えられたユーザーのすべての友達の情報が含まれています。FriendPages オブジェクト内のアイテムは、次のフィールドを含むテーブルです:


<tr>
<td>ID</td>
<td>int64</td>
<td>友達人のユーザーID</td>
</tr>
<tr>
<td>ユーザーネーム</td>
<td>文字列</td>
<td>友達のユーザーネーム</td>
</tr>
<tr>
<td>ディスプレイ名</td>
<td>文字列</td>
<td>友達の <code>Class.Player.DisplayName|ディスプレイ名</code> 。</td>
</tr>
名前タイプ説明

プレイヤーの友達をすべて反復する簡単な方法については、コードサンプルを参照してください。

パラメータ

userId: number

指定されているプレイヤーのユーザーID。


戻り値

コードサンプル

Print Roblox Friends

local Players = game:GetService("Players")
local USERNAME = "Cozecant"
local function iterPageItems(pages)
return coroutine.wrap(function()
local pagenum = 1
while true do
for _, item in ipairs(pages:GetCurrentPage()) do
coroutine.yield(item, pagenum)
end
if pages.IsFinished then
break
end
pages:AdvanceToNextPageAsync()
pagenum = pagenum + 1
end
end)
end
-- First, get the user ID of the player
local userId = Players:GetUserIdFromNameAsync(USERNAME)
-- Then, get a FriendPages object for their friends
local friendPages = Players:GetFriendsAsync(userId)
-- Iterate over the items in the pages. For FriendPages, these
-- are tables of information about the friend, including Username.
-- Collect each username in a table
local usernames = {}
for item, _pageNo in iterPageItems(friendPages) do
table.insert(usernames, item.Username)
end
print("Friends of " .. USERNAME .. ": " .. table.concat(usernames, ", "))

GetHumanoidDescriptionFromOutfitId

イールド

指定された衣装IDに対応するヒューマノイドの説明を返します。これは、服装のパーツ/色/アニメーションなどの部分によって設定されます。服装はユーザーが作成することがあり、または Roblox が作成したバンドルの服装です。

パラメータ

outfitId: number

HumanoidDescription が検索される衣装の id。


戻り値

衣装ID の指定で人形の説明が初期化されました。

コードサンプル

Get HumanoidDescription From Outfit ID

local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local function getOutfitId(bundleId)
if bundleId <= 0 then
return
end
local info = game.AssetService:GetBundleDetailsAsync(bundleId)
if not info then
return
end
for _, item in pairs(info.Items) do
if item.Type == "UserOutfit" then
return item.Id
end
end
return nil
end
local function getHumanoidDescriptionBundle(bundleId)
local itemId = getOutfitId(bundleId)
if itemId and itemId > 0 then
return Players:GetHumanoidDescriptionFromOutfitId(itemId)
end
return nil
end
local humanoidDescription = getHumanoidDescriptionBundle(799)
local humanoidModel = Players:CreateHumanoidModelFromDescription(humanoidDescription, Enum.HumanoidRigType.R15)
humanoidModel.Parent = Workspace

GetHumanoidDescriptionFromUserId

イールド

指定されたユーザーのアバターに装備されたすべてのものを指定するヒューマノイドの説明を返します。また、スケールとボディの色を含みます。

パラメータ

userId: number

Roblox ユーザーのユーザーID (ユーザーID は、ユーザープロフィールの番号など、Roblox サーバーでのユーザーの識別です。)


戻り値

ユーザーのアバターの仕様により人形化された説明。

コードサンプル

Get HumanoidDescription From User ID

game.Players:CreateHumanoidModelFromDescription(game.Players:GetHumanoidDescriptionFromUserId(1), Enum.HumanoidRigType.R15).Parent = game.Workspace

GetNameFromUserIdAsync

イールド

GetNameFromUserIdAsync Players 機能は、Roblox ウェブサイトにユーザー名のアカウントに与えられた UserId のユーザーネームを取得するクエリを送信します。

このメソッドは、ユーザーID が与えられているアカウントが存在しない場合にエラーが発生します。ユーザーID が存在しないアカウントがある場合は、pcall で呼び出しをラップしてください。また、ユーザーID が存在するアカウントを手動でキャッシュすることもできます。詳細は、コードサンプルを参照してくださ

パラメータ

userId: number

指定されているプレイヤーの Player.UserId


戻り値

指定された Player.UserId のユーザーの名前。

コードサンプル

Get Name from UserId

local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local nameOne = Players:GetNameFromUserIdAsync(118271)
local nameTwo = Players:GetNameFromUserIdAsync(131963979)
print(nameOne, nameTwo)
-- prints: "RobloxRulez docsRule"
Get Name from UserId using a cache

local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'Name' as they are found.
-- If we lookup a 'Name' using the same 'UserId', the 'Name' will come
-- from cache (fast) instead of GetNameFromUserIdAsync() (yields).
local cache = {}
function getNameFromUserId(userId)
-- First, check if the cache contains 'userId'
local nameFromCache = cache[userId]
if nameFromCache then
-- if a value was stored in the cache at key 'userId', then this 'nameFromCache'
-- is the correct Name and we can return it.
return nameFromCache
end
-- If here, 'userId' was not previously looked up and does not exist in the
-- cache. Now we need to use GetNameFromUserIdAsync() to look up the name
local name
local success, _ = pcall(function()
name = Players:GetNameFromUserIdAsync(userId)
end)
if success then
-- if 'success' is true, GetNameFromUserIdAsync() successfully found the
-- name. Store this name in the cache using 'userId' as the key so we
-- never have to look this name up in the future. Then return name.
cache[userId] = name
return name
end
-- If here, 'success' was false, meaning GetNameFromUserIdAsync()
-- was unable to find the 'name' for the 'userId' provided. Warn the user
-- this happened and then return nothing, or nil.
warn("Unable to find Name for UserId:", userId)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a UserId is used, GetNameFromUserIdAsync() will be called
local nameOne = getNameFromUserId(118271)
local nameTwo = getNameFromUserId(131963979)
-- Because 118271 was previously used, get its Name from the cache
local nameOneQuick = getNameFromUserId(118271)
print(nameOne, nameTwo, nameOneQuick)
-- prints: "RobloxRulez docsRule RobloxRulez"

GetUserIdFromNameAsync

イールド

この関数は、Player.UserId が与えられた Player 名のアカウントの何であるかを Roblox ウェブサイトにクエリーを送信します。

このメソッドは、指定されたユーザーユーザーネームにアカウントが存在しない場合にエラーが発生します。如果您確信アカウントが存在しない場合は、pcall で呼び出しをラップしてください。さらに、「pcall」をマニュアルでキャッシュすることで、将来のコールを迅速に行うことができます。コードサンプルを参照して詳細

パラメータ

userName: string

指定されているプレイヤーのユーザーネーム。


戻り値

ユーザーの名前が指定されたユーザーの Player.UserId

コードサンプル

Get UserId from Name

local Players = game:GetService("Players")
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
local userIdOne = Players:GetUserIdFromNameAsync("RobloxRulez")
local userIdTwo = Players:GetUserIdFromNameAsync("docsRule")
print(userIdOne, userIdTwo)
-- prints: "118271 131963979"
Get UserId from Name using a cache

local Players = game:GetService("Players")
-- Create a table called 'cache' to store each 'UserId' as they are found.
-- If we lookup a 'UserId' using the same 'Name', the 'UserId' will come
-- from cache (fast) instead of GetUserIdFromNameAsync() (yields).
local cache = {}
function getUserIdFromName(name)
-- First, check if the cache contains 'name'
local userIdFromCache = cache[name]
if userIdFromCache then
-- if a value was stored in the cache at key 'name', then this 'userIdFromCache'
-- is the correct UserId and we can return it.
return userIdFromCache
end
-- If here, 'name' was not previously looked up and does not exist in the
-- cache. Now we need to use GetUserIdFromNameAsync() to look up the userId
local userId
local success, _ = pcall(function()
userId = Players:GetUserIdFromNameAsync(name)
end)
if success then
-- if 'success' is true, GetUserIdFromNameAsync() successfully found the
-- userId. Store this userId in the cache using 'name' as the key so we
-- never have to look this userId up in the future. Then return userId.
cache[name] = userId
return userId
end
-- If here, 'success' was false, meaning GetUserIdFromNameAsync()
-- was unable to find the 'userId' for the 'name' provided. We can warn the
-- user this happened and then return nothing, or nil.
warn("Unable to find UserId for Name:", name)
return nil
end
-- Example Data:
-- UserId: 118271 Name: "RobloxRulez"
-- UserId: 131963979 Name: "docsRule"
-- The first time a Name is used, GetUserIdFromNameAsync() will be called
local userIdOne = getUserIdFromName("RobloxRulez")
local userIdTwo = getUserIdFromName("docsRule")
-- Because "RobloxRulez" was previously used, get its UserId from the cache
local userIdOneQuick = getUserIdFromName("RobloxRulez")
print(userIdOne, userIdTwo, userIdOneQuick)
-- prints: "118271 131963979 118271"

GetUserThumbnailAsync

イールド

この関数は、 UserIdEnum.ThumbnailSizeEnum.ThumbnailType の順序で、プレイヤーのアバターの画像のコンテンツの URLを返します。2>Class.Player.RenderSize|thaumailSize2> 、5>Class.Player.RenderType|thaumailType5> 、

このメソッドは、ImageLabel.Image または Decal.Texture を使用して、ユーザーアバターの写真をエクスペリエンスで表示するために最もよく使用されます。

パラメータ

userId: number

指定されているプレイヤーの Player.UserId

thumbnailType: Enum.ThumbnailType

Entity.ThumbnailType タイプのサムネイルの説明。

thumbnailSize: Enum.ThumbnailSize

サムネイルサイズを指定する Enum.ThumbnailSize


戻り値

指定されたパラメータに基づくユーザーのサムネイルのコンテンツ URL と、画像を使用できるかどうかを記述するブールの両方を含むチュープ。

コードサンプル

Display Player Thumbnail

local Players = game:GetService("Players")
local player = Players.LocalPlayer
local PLACEHOLDER_IMAGE = "rbxassetid://0" -- replace with placeholder image
-- fetch the thumbnail
local userId = player.UserId
local thumbType = Enum.ThumbnailType.HeadShot
local thumbSize = Enum.ThumbnailSize.Size420x420
local content, isReady = Players:GetUserThumbnailAsync(userId, thumbType, thumbSize)
-- set the ImageLabel's content to the user thumbnail
local imageLabel = script.Parent
imageLabel.Image = (isReady and content) or PLACEHOLDER_IMAGE
imageLabel.Size = UDim2.new(0, 420, 0, 420)

UnbanAsync

void
イールド

Class.Players:BanAsync() または User Restrictions Open Cloud API から禁止されたプレイヤーを Players.BanningEnabled プロパティにより有効化/無効化します。このメソッドは、1>Class.Players.BanningEnabled1> プロパティの 4>PlayerRestrictions4> をオン/オフにすることで有効化/無効化できます。

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

Unbans は、同じ ApplyToUniverse スコープのバンにのみ有効です。たとえば、 ApplyToUniversetrue に設定しておくと、以前のアカウント停止ンは無効になりません。 In other words, a universe-level unban will not invalidate a

このメソッドは、サーバーによってバックエンドサービスに HTTP コールを実行し、サーバーが制限されて失敗する可能性があります。ユーザーID が正常である場合でも、 UserIds サーバーの制限を超えてしまう可能性があります。例えば、

ユーザーを禁止するリスクについては、このメソッドはバックエンドゲームサーバーにのみ呼び出される可能性があります。クライアント側の呼び出しはエラーになります。このメソッドを Studio 、チーム作成 、チームテスト でテストすることはできますが、禁止はプロダクションゲームサーバーでは適用され

この API は、ユーザー制限オープンクラウド API を使用しています。これらの API を使用して、サードパーティのアプリで禁止を管理できます。

パラメータ

config: Dictionary

<tbody>
<tr>
<td><code>ユーザーID</code></td>
<td>配列</td>
<td>ユーザーID をエクスペリエンスに強制的に許可します。最大サイズは 50 です。</td>
</tr>
<tr>
<td><code>ApplyToUniverse</code></td>
<td>ブールーン</td>
<td>この宇宙内のすべての場所にアクセスできるようになります。</td>
</tr>
</tbody>
名前タイプ説明

戻り値

void

コードサンプル

Unbanning Users

local Players = game:GetService("Players")
if shouldBeUnbanned(player: Player) then
local config: UnbanConfigType = {
UserIds = {player.UserId, 789},
ApplyToUniverse = false
}
local success, err = pcall(function()
return Players:UnbanAsync(config)
end)
print(success, err)
end

イベント

PlayerAdded

プレイヤーがゲームに入ると、PlayerAdded イベントが発動します。これは、プレイヤーがゲームに参加するときにイベントを発動するために使用されます。これは、プレイヤーがゲームに参加するときに、GlobalDataStore の保存されたデータを読み込むなど、プレイヤーのセーブデータを処理するためのイベントを発動するためです。

これは、Players.PlayerRemovingイベントと一緒に使用できます。これは、プレイヤーがゲームから去る準備ができたときに発動するイベントで、インスタンスえば、新しいプレイヤーがゲームに参加するたびに印刷するメッセージを表示するなどと、Class.Players.PlayerRemovingイベントをオーバーライドすることができます。


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)

プレイヤーのキャラクターがゲームから追加されたり削除されたりするときに追跡したい場合は、プレイヤーがリスポーンするか死亡するなど、Player.CharacterAdded および Player.CharacterRemoving 機能を使用できます。

このイベントは、スクリプトが PlayerAdded に接続する前にプレイヤーが作成されるため、期待通りに機能しません。この場合を処理するために、スクリプトがゲームに追加された後に呼び出される PlayerAdded 関数を作成し、プレイヤーの入口を処理できるようにします。

パラメータ

player: Player

ゲームに参加したプレイヤーのインスタンス。


コードサンプル

Players.PlayerAdded

local Players = game:GetService("Players")
local function onPlayerAdded(player)
print("A player has entered: " .. player.Name)
end
Players.PlayerAdded:Connect(onPlayerAdded)

PlayerMembershipChanged

このイベントは、ゲームサーバーがプレミアムメンバーのメンバーシップを変更したことに気づいたときに発生します。ただし、プレミアムモーダルが閉じた後にのみサーバーがメンバーシップをチェックして更新します。つまり、ユー

Premium をエクスペリエンスに統合し、エンゲージメントベースの支払いシステムでマネタイズする方法については、エンゲージメントベースの支払いシステム を参照してください。

参照してください:

パラメータ

player: Player

コードサンプル

Handling Premium Membership Changes

local Players = game:GetService("Players")
local function grantPremiumBenefits(player)
-- Grant the player access to Premium-only areas, items, or anything you can imagine!
print("Giving", player, "premium benefits!")
end
local function playerAdded(player)
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
local function playerMembershipChanged(player)
print("Received event PlayerMembershipChanged. New membership = " .. tostring(player.MembershipType))
if player.MembershipType == Enum.MembershipType.Premium then
grantPremiumBenefits(player)
end
end
Players.PlayerAdded:Connect(playerAdded)
Players.PlayerMembershipChanged:Connect(playerMembershipChanged)

PlayerRemoving

PlayerRemoving イベントは、Player がゲームを終了する直前に発動します。このイベントは、ChildRemovedPlayers に実行

これは、Player.PlayerAdded イベントと一緒に使用できます。これは、プレイヤーがゲームに参加するときに発動するイベントで、メッセージを毎回プリントアウトすることができます。たとえば、新しいプレイヤーがゲームに参加するたびにメッセージをプリントアウトするために使用できます:


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)

プレイヤーのキャラクターがゲームから追加されたり削除されたりするときに追跡したい場合は、プレイヤーがリスポーンするか死亡するなど、Player.CharacterAdded および Player.CharacterRemoving 機能を使用できます。

パラメータ

player: Player

ゲームを終了するプレイヤーのインスタンス。


コードサンプル

Players.PlayerRemoving

local Players = game:GetService("Players")
local function onPlayerRemoving(player)
print("A player has left: " .. player.Name)
end
Players.PlayerRemoving:Connect(onPlayerRemoving)

UserSubscriptionStatusChanged

このイベントは、ゲームサーバーがユーザーのステータスを特定のサブスクリプションのステータス変更として認識したときに発生します。このサブスクリプション購入モーダルを閉じると、サブスクリプション購入モーダ

このイベントは、サーバースクリプトのみが受信します。

パラメータ

user: Player

サブスクリプションステータスが変更されたユーザー。

subscriptionId: string

ステータス変更のあるサブスクリプションの ID。