ユーザーがエクスペリエンスに参加すると、Roblox はデータモデルでそれらを プレイヤー として表示します。 Player オブジェクトには、ユーザーがエクスペリエンス間でユニバーサルな情報を持つためのユーザーユーザーネーム、友達リスト、保存された
サービスには、エクスペリエンス内のすべての Players インスタンスが含まれています。各 Player オブジェクトは、ユーザーをエクスペリエンスで表現するユ
ライフサイクル
クライアントとサーバーサイドのスクリプトは、Players.PlayerAdded および Players.PlayerRemoved イベントに接続して、Class.Player
スクリプトを使用して、ユーザーが参加または離れるときにデータを取得し、保存するためのデータストアを含むサーバー関連サービスにアクセスします。クライアントが新しいユーザーに関連するゲームプレイインスタンスを作成および削除する必要がある場合は、ローカルスクリプトを使用します。ユーザーの統計について、カスタムリーダーボードの GUI
ユーザー参加
クライアントがエクスペリエンスに接続すると、その関連する Player オブジェクトが Players サー
ユーザーデータをジョイン時にロードする
ユーザーがエクスペリエンスに参加するときにデータを読み込むには、Players.PlayerAddedイベントを使用して、Script 内の次の例 Script リストを聞きます。成功してユーザーのデータを取得した後、1>Class.Script</
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("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
-- 現在のデータでさらにアクションを実行する
end)
ユーザーが去る
クライアントがエクスペリエンスから切断すると、サーバーはその関連する Player オブジェ
注意、イベントは Player.PlayerRemoving と呼ばれ、 Player.PlayerRemoved オブジェクトがすでに削除されているため、Player オブジェクトはアクセス不可能になっています。
ユーザーのデータを終了時に保存する
ユーザーがエクスペリエンスを終了すると、データを保存するために Players.PlayerRemoving イベントを使用します。次の例 Script リストは、イベントを聞き取り、ユーザーのデータをデータストアのキーとして保存しようとします。
ServerScriptService のスクリプト
local DataStoreService = game:GetService("DataStoreService")
local playerDataStore = DataStoreService:GetDataStore("PlayerData")
game:GetService("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.Character モデルは、アバターを表します。デフォルトでは、 Player.CharacterAutoLoads が true です。ユーザーのキャラクターモデルは、エクスペリエンスに参加すると自動的にスポーンします。如果 Class.Player.CharacterAuto
ユーザーの
キャラクターのデスポーン
プレイヤーの Humanoid が死亡すると、ボディ部分が地面に落ち、Humanoid.Died イベントが発動します。サーバーは、Players.Respawntime プロパティ
プレイヤーの死亡数をカウントする
Class.Humanoid.Died イベントを使用して、キルを処理するためにスコアを処理したり、カスタムラグドールモデルを作成したりできます。次の <
ServerScriptService のスクリプト
game:GetService("Players").PlayerAdded:Connect(function(player)
local deaths = 0
player.CharacterAdded:Connect(function(character)
local humanoid = character:WaitForChild("Humanoid")
humanoid.Died:Connect(function()
deaths += 1
print(player.Name .. " death count: " .. deaths)
end)
end)
end)
ユーザーを禁止する
あなたのエクスペリエンスでの文明と公平プレイを確保するために、あなたのエクスペリエンスルールとコミュニティガイドラインに違反するユーザーを禁止することができます。ユーザーの禁止期間、メッセージ、潜在的に別のアカウントに拡張することを含む、禁止 と メッセージ のガイドライ
実装と使用方法については、Players.BanAsync を参照してください。
ガイドラインに従う
バンをエクスペリエンスに実装するときは、次のガイドラインに従ってください:
- エクスペリエンスルールは、Roblox の コミュニティ基準 と 利用規約 に反してはなりません。
- たとえば、性別によって誰かを排除するエクスペリエンスルールを作成することはできません、これは Roblox の差別、詰め込み、ヘイトスピーチポリシー に違反します。
- クリエーターは、すべてのユーザーにアクセス可能な場所に、エクスペリエンスルールを明確に記述する必要があります。
- クリエーターは、自分のエクスペリエンスルールを公平に適用し、特定のユーザーを任意でターゲットにしてはなりません。
- ユーザーは、自分の禁止が正しくないと信じる場合、クリエーターに直接訴えることができます。
- Roblox は、ユーザーがクリエーターのエクスペリエンスルールまたは規制の適用を信じない限り、これらの訴えを調停しません。
- Roblox は、クリエーターのエクスペリエンスルールやその規制に違反があると思われる場合、エクスペリエンスをモデレートできます。
メッセージガイドライン
ユーザーが禁止されると、バン長と理由のような情報を含むエラーモーダルが表示されます。テキストフィルターされたメッセージでは、RRoblox(ロブロックス)blox のコミュニティ基準 に準拠した追加情報を含めることができます。
たとえば、あなたの禁止メッセージでは、ブランド名とプラットフォームを参照することができます:
- 「私のグループ/エクスペリエンスページで Discord を訪問する」
- 「Twitter で私にメッセージを送るか、X」
このメッセージフィールドに個人情報または直接リンクを含めることはできません。これには、特定のユーザー名またはハンドルを投稿すること、または Discord サーバーまたは X アカウントに直接リンクを提供することが含まれます。
コンテナ
Class.Player オブジェクトは、複数の重要なコンテナを保存します:
バックパック
Class.Player.Backpack コンテナはユーザーのインベントリを保存します。Tool オブジェクトは、ユーザーの Backpack ディスプレイの下部にあるユーザーのイン
ユーザーの Player.Character がスポーンすると、StarterPack サービスとそのクローンを Player.StarterGear に置きます。当該キャラクターが死亡すると、クライアントはそのキャラクターの 2>Class.Backpack
Class.Backpack は、クライアントとサーバーの両方にアクセスできる Scripts と LocalScripts を保アクセス, 書き込み権限 (write access)および実行します。
Roblox は、プレイヤーが画面の下部にある Backpack とインベントリにアクセスできるインターフェイスを提供します。デフォルトの Roblox バックパックGUIを無効にし、自所有のバックパックGUIに置き換えるには、StarterGui:SetCoreGuiEnabled() をLocalScriptで呼び出します。
スターターギア
Class.StarterGear コンテナは、そのキャラクターがスポーンすると、ユーザーの Player.Backpack にコンテンツをクローンします。さらに、場所がギアとユーザーがギアを所有する場合、Tool のオブジェクトのギアクローンをその場
Class.StarterPack とは、Player.StarterGear の子ではなく、各 Player オブ
ギアを追加した後、ユーザーがそこで簡単に悪用できるゲームをテストする必要があります。ギアには Script オブジェクトが含まれており、プレイヤーが行うべきアクションを許可します。たとえば、ナビゲーションギアは、マップの部分をアクセスできな
PlayerGui
Class.PlayerGui コンテナは、プレイヤーの GUI を作成するオブジェクトを保存します。Class.PlayerGui</
Player.CharacterAutoLoads が偽で設定されている場合、キャラクターはスポーンしません。StarterGui コンテンツは、Player:LoadCharacter() が呼び出され
PlayerScripts
ユーザーがエクスペリエンスに参加すると、StarterPlayer.StarterPlayerScripts コンテナ内のコンテンツが PlayerScripts にクローンされます。任意のローカルスクリプトとモジュールスクリプトは、クローンされると実行されます。
Class.PlayerScripts コンテナは、PlayerGui および PlayerScripts