友達と一緒に出現

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

友達を経験内で見つけるのは難しいことがあります。SpawnWithFriends 開発者モジュールは、出現するプレイヤーを、その経験内にいる友達の近くに自動的に移動させます。このモジュールは、あらかじめ設定しておけば、自動的にでなく、指示に従ってプレイヤーをテレポートさせることもできます。

モジュールの使用

インストール

SpawnWithFriendsモジュールを経験内で使用するには:

  1. Studioのウィンドウメニューまたはホームタブのツールバーから、ツールボックスを開き、クリエイターストアタブを選択します。

  2. モデルのソートが選択されていることを確認し、次にカテゴリすべて表示ボタンをクリックします。

  3. パッケージタイルを見つけてクリックします。

  4. 友達と一緒に出現モジュールを見つけてクリックするか、3Dビューにドラッグ&ドロップします。

  5. エクスプローラーウィンドウで、SpawnWithFriendsモデル全体をReplicatedStorageに移動します。経験を実行すると、モジュールが実行を開始します。

制限された出現エリア

このモジュールは、プレイヤーがVIPルームやアクセス専用スペースなどの制限されたエリアに出現する原因となる場合があります。これらのエリアにプレイヤーがテレポートするのを防ぐには:

  1. 制限されたエリアに不可視のAnchoredブロックを埋めます。すべてのブロックについてCanCollideCanTouchCanQuery無効になっていることを確認します。

    プレイヤーが内部に出現するのを防ぐために、監獄の部屋全体を満たすブロック
  2. 各ブロックのプロパティのタグセクションを使用して、RestrictedSpawnAreaタグを適用し、CollectionServiceがそれらを検出できるようにします。

  3. 次のコードをServerScriptService内のScriptに貼り付けます。

    Script

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- タグ付けされた部分をすべて反復
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- 出現先が制限されたエリア内にあるため、テレポートを中止
    end
    end
    return true -- 出現先が制限されたエリアに重ならないため、テレポートを続行
    end
    SpawnWithFriends.setTeleportationValidator(validator)

API リファレンス

関数

configure

configure(config: table)

configテーブルの以下のキー/値を通じてデフォルトの設定オプションを上書きします。この関数はScriptからのみ呼び出すことができます。

キー説明デフォルト
teleportToFriendOnRespawnfalseに設定すると、友達へのテレポートは手動でのみ行われ、teleportToRandomFriendによって実行されます。true
teleportDistanceプレイヤーが互いからどれくらい離れて出現するべきか、スタッド単位で測定されます。5
maxCharacterVelocityこの値よりも速く移動しているキャラクターは、テレポート候補として選ばれません。例えば、移動中の車両内のキャラクターなどです。48
bypassFriendshipChecktrueに設定すると、すべてのプレイヤーがテレポートの候補になり、友達だけではなくなります。false
showLogsログメッセージを出力に表示するかどうか。false
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
SpawnWithFriends.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})

teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player): boolean

プレイヤーを経験内の友達の一人に手動でテレポートします。テレポートが成功したかどうかを示すブーリアンを返します。テレポートに失敗する原因は、サーバーに友達がいない場合や、遮られていないテレポートポイントを見つけられない場合です。この関数はScriptからのみ呼び出すことができます。

setTeleportationValidator

setTeleportationValidator(validator: function)

バリデータコールバック関数をフックアップして、カスタム前テレポートチェックを実行できます。コールバックは3つのパラメータを受け取ります。

パラメータ説明
playerToTeleportテレポートされるPlayerへの参照。
destinationPlayerplayerToTeleportがテレポートされる対象のPlayerへの参照。
teleportationPointplayerToTeleportがテレポートされるCFrame

この関数とそのコールバックはScriptでのみ使用され、コールバックはテレポートを続行すべきかどうかを示すブーリアンを返します。例えば、以下のバリデータ関数のreturnロジックにより、出現するプレイヤーと出現先のプレイヤーが同じチームにいることが保証されます。

Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- プレイヤーが同じチームにいる場合のみテレポート
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。