ユーザーとプレイヤー

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

ロブロックスユーザーがゲームに参加すると、そのユーザーは Player として DataModel に表されます。この Player オブジェクトには、ユーザー名、フレンドリスト、保存された アバターキャラクター など、ゲームに跨るユーザー情報が含まれています。また、ユーザーのゲーム参加から退出までの ライフサイクル に影響を与えるプロパティ、メソッド、およびイベントも含まれています。各 Player オブジェクトは、ユーザー体験をカスタマイズするために使用できる4つの重要な コンテナ を親に持ちます: BackpackStarterGearPlayerGui、および PlayerScripts です。

Player には Player.User プロパティが表示され、これは現在のゲーム内のプレイヤーのドメインスコープのアイデンティティを表す User 値です。ユーザー識別がどのように機能するか、ドメインスコープのユーザーIDおよび User 型についての詳細は、ユーザーとドメインスコープのユーザーID を参照してください。

ライフサイクル

Players サービスには、ゲーム内のすべての Player インスタンスが含まれています。クライアントおよびサーバー側のスクリプトは、Players.PlayerAdded および Players.PlayerRemoved イベントに接続して、Player オブジェクトのライフサイクルに応じたアクションを実行できます。スクリプトはまた、キャラクターの出現や消失時にゲームプレイに関連するアクションを実行するために、Player.CharacterAdded および Player.CharacterRemoving イベントに接続することもできます。

ユーザーの参加

ユーザークライアントがゲームに接続すると、Players.PlayerAdded イベントが発火し、参加したユーザーの Player オブジェクトを渡します。このオブジェクトは、データストアからの ユーザーデータ のロードやプレイヤーを チーム に割り当てるなど、さまざまな目的に使用できます。

例えば、ユーザーがゲームに参加したときにデータをロードするには、Script 内で PlayerAdded イベントを使用して、そのユーザーのユーザーIDのデータストアに保存されたデータを取得します:

ServerScriptService内のスクリプト

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerAdded:Connect(function(player)
local userId = player.UserId
-- データストアキーを読み取る
local getSuccess, currentData = pcall(function()
return playerDataStore:GetAsync(userId)
end)
if getSuccess then
print(currentData)
end
-- currentDataを使ってさらにアクションを実行
end)

キャラクターの出現

デフォルトでは、ユーザーの Player.Character モデルはプラットフォームアバターを表し、Players.CharacterAutoLoadstrue です。これは、ユーザーがゲームに参加したときにキャラクターモデルが自動的に出現することを意味します。

ユーザーの Player.Character が出現すると、ScriptsLocalScriptsStarterCharacterScripts からキャラクターモデルにクローンされ、Player.CharacterAdded イベントが発火します。 このイベントは、新しいキャラクターモデルをリスナーに渡し、キャラクターの Humanoid オブジェクトを見つけてその挙動を変更するために使用できます。例えば、Humanoid:ApplyDescription() を使用してアバターの衣装を変更できます。

キャラクターの消失

プレイヤーの Humanoid が死亡すると、サーバーは自動的に Players.RespawnTime で指定された時間の後にキャラクターモデルを削除します。次に、Player.CharacterRemoving イベントを使用して、他のオブジェクトをリセットしたり、キャラクターに関連付けられたデータを更新したりできます。

ユーザーの退出

ユーザークライアントがゲームから切断されると、サーバーは Players サービス内の関連する Player オブジェクトを破棄します。この時点で、Players.PlayerRemoving イベントが発火し、切断したユーザーの Player オブジェクトを渡します。これを使用して、ユーザーデータの保存、スコアボードからのプレイヤースタッツの削除、またはゲーム内のプレイヤーが作成したモデルの破棄など、さまざまな目的を果たすことができます。

次の例の ScriptPlayerRemoving イベントをリスンし、ユーザーのユーザーIDのデータストアにデータを保存しようとします:

ServerScriptService内のスクリプト

local DataStoreService = game:GetService("DataStoreService")
local Players = game:GetService("Players")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
Players.PlayerRemoving:Connect(function(player)
local userId = player.UserId
-- ゲーム内のプレイヤーのデータ状態を取得
local currentData = getCurrentData(player)
-- データストアに保存
local setSuccess, errorMessage = pcall(function()
playerDataStore:SetAsync(userId, currentData)
end)
if not setSuccess then
warn(errorMessage)
end
end)

コンテナ

Player オブジェクトは、ユーザークライアントを表し、いくつかの重要なコンテナを格納します: BackpackStarterGearPlayerGui、および PlayerScripts。ゲーム実行時に、「編集」データモデル内のいくつかのコンテナが、その内容をこれらの Player コンテナにコピーします。これには、StarterGui から PlayerGuiStarterPack から BackpackStarterPlayerScripts から PlayerScripts へのコピーが含まれます。

編集データモデルと実行時データモデル間のオブジェクトをマッピングする図。

Backpack 内の Tool オブジェクトはプレイヤーのインベントリを構成し、画面の下部にアイコンボタンとして表示されます。詳細については、ゲーム内のツールを参照してください。

上記のように、StarterPack の内容とプレイヤーの StarterGear は、プレイヤーの Character が出現するときに Backpack にクローンされます。キャラクターが死亡すると、クライアントは Backpack を破棄し、新しいものと置き換えます。

デフォルトのロブロックスインベントリGUIを無効にし、自分のものに置き換えるには、デフォルトUIの無効化 に概説されているように、StarterGui:SetCoreGuiEnabled()LocalScript 内で呼び出します。

ユーザーの禁止

ゲーム内での礼儀と公正なプレイを確保するために、規則やコミュニティガイドラインを違反したユーザーを禁止することができます。禁止の期間、禁止メッセージ、および潜在的な代替アカウントに禁止を拡張することもできます。この機能を使用する際は、禁止するための ガイドライン および メッセージ に従わなければなりません。

禁止に関しては、いくつかのオプションがあります:

  • Creator Hub の各ゲームページには、禁止 ダッシュボードがあります。
  • エンジンAPIを使用したプログラムでの利用については、Players:BanAsync() を参照してください。
  • Open Cloud については、禁止とブロックを参照してください。

デバイスブロッキング

アカウントを禁止することに加えて、Players:BanAsync() は設定テーブルの ApplyDeviceBlock フィールドを通じて デバイスブロッキング をサポートします。ApplyDeviceBlocktrue に設定して、現在あなたのゲームに接続しているユーザーを禁止すると、そのユーザーに関連付けられたデバイスも24時間再接続がブロックされます。このオプションは、禁止の回避に対する摩擦を加えます。禁止されたプレイヤーは、同じデバイス上の新しいアカウントからすぐに再接続できません。

  • デバイスブロッキングは、現在デスクトップ(WindowsおよびmacOS)のプレイヤーのみに適用されます。モバイルデバイスやコンソールには適用されません。
  • デバイスブロックは、そのデバイスを使用した他のアカウントには禁止として伝播しません。
  • 影響を受けたユーザーに対して禁止解除APIを呼び出すと、そのユーザーのデバイスに関連付けられたすべてのアクティブなデバイスブロックが直ちに削除され、再度ゲームに参加できるようになります。

禁止ガイドライン

ゲームに禁止を実装する際は、以下のガイドラインに従ってください:

  • ゲームの規則はロブロックスの コミュニティスタンダード および 利用規約 と矛盾してはなりません。たとえば、性別によって誰かを排除するゲームルールを作成することはできません。これは ロブロックスの差別、侮辱、ヘイトスピーチポリシー に違反します。
  • 制作者は、すべてのユーザーがアクセスできる場所にゲームのルールを明記する必要があります。
  • 制作者は、ゲームの規則を公正に適用し、特定のユーザーを恣意的に対象にしてはなりません。
  • ユーザーは、自分の禁止が不正であったと信じる場合、直接制作者に訴えることができます。ロブロックスは、ユーザーが制作者のゲームの規則やその規則の執行が コミュニティスタンダード に違反していると信じる場合を除き、これらの訴えを調停しません。
  • ロブロックスは、制作者のゲームの規則またはその規則の執行が コミュニティスタンダード に違反していると疑われる場合、そのゲームを監視することがあります。

メッセージガイドライン

ユーザーが禁止されると、そのユーザーには禁止の長さや理由に関する情報を表示するエラーモーダルが表示されます。フィルタリングされたメッセージには、アピールや連絡先情報などの追加情報を含めることができますが、ロブロックスの コミュニティスタンダード を満たす必要があります。

例えば、禁止のメッセージでは、ブランド名やプラットフォームに言及することが許可されています:

  • "私のグループ/ゲームページのDiscordを訪問してください"
  • "TwitterまたはXで私にメッセージを送ってください"

このメッセージフィールドには、個人情報や直接リンクに関する言及は許可されていません。これには、特定のユーザー名やハンドルを投稿したり、DiscordサーバーやXアカウントへの直接リンクを提供することが含まれます。

©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。