友達と一緒にスポーン

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

エクスペリエンス中に友達を見つけることは困難です。 SpawnWithFriends 開発者モジュール は、エクスペリエンス中の友達の 1 つの近くにスポーンプレイヤーを自動的に移動します。このモジュールは、コマンドでプレイヤーをテレポートする代わりに自動的に移動することもできます。

モジュール使用

インストール

エクスペリエンスで SpawnWithFriends モジュールを使用するには:

  1. 从 the ビュー タブで、ツールボックスを開き、 クリエイターストア タブを選択します。

    Toolbox toggle button in Studio
  2. モデル ソートが選択されていることを確認してから、 すべてを表示 ボタンをクリックして、 カテゴリ のための 1>ボタン1> をクリックします。

  3. デバッグモジュール タイルを見つけてクリックします。

  4. 友達とスポーン モジュールを見つけ、クリックするか、3D ビューにドラッグアンドドロップします。

  5. In the Explorer ウィンドウで、 SpawnWithFriends モデル全体を ServerScriptService に移動します。エクスペリエンスを実行すると、モジュールは各サービスに分配され、実行を開始します。

制限付きのスポーンエリア

このモジュールは、VIPルーム、アクセス権限のあるエリアなど、制限されたエリアでプレイヤーがスポーンすることを防ぐために結果を生成する可能性があります。プレイヤーがこれらのエリアにテレポートするのを防ぐには:

  1. Class.BasePart.Anchored|Anchored ブロックで制限エリアを満たします。CanCollideCanTouch 、および 1> Class.BasePart.CanQueue|CanQueue 1> がすべてブロッ

    プレイヤーがスポーンするのを防ぐために、刑務所の全体をブロックする
  2. 各ブロックのプロパティの タグ セクション、または Studio の タグエディタ を使用して、タグを RestrictedSpawnArea 適用して、2> Class.CollectionService2> がそれらを検出するようにします。

  3. 次のコードを Script 内の ServerScriptService に入れます。

    スクリプト

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("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 リファレンス

機能

環境設定

require(require: table )

concept テーブルの次のキー/値を通じて、デフォルトの設定オプションをオーバーライドします。この関数は Script からのみ呼び出すことができます。

キー説明デフォルト
teleportToFriendOnRespawnfalse を teleportToRandomFriend に設定すると、テレポートをフレンドにのみ手動で行います。はい
teleportDistanceプレイヤーが互いからどれくらい離れているか、スタッドで測定される。5
maxCharacterVelocityこの値より速く移動するキャラクターは、テレポート候補として選択されない場合があります。たとえば、移動車両の中のキャラクターなどです。48
bypassFriendshipCheck設定が「真」になっている場合、すべてのプレイヤーがテレポートの候補になります、友達だけではありません。
showLogsログメッセージを出力で表示するかどうか。
スクリプト

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

teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player): boolean

プレイヤーのエクスペリエンス内の友達の 1 つにテレポートを手動でトリガーします。返す値は、テレポートが成功したかどうかを示すボールーンです:サーバーに友達がないため、テレポートに失敗する可能性があります。この関数は Script からのみ呼び出すことができます。

setTeleportationValidation

setTeleportationValidation(Validate: function )

有効なバリデーターコールバック関数を呼び出すことで、カスタムのプレテレポートチェックを実行できます。コールバックは 3つのパラメーターを受信します:

パラメータ説明
playerToTeleport参照先: Player がテレポートされています。
destinationPlayer参照先のターゲット PlayerplayerToTeleport にテレポートされています。
teleportationPointCFrame で、playerToTeleport がテレポートする。

この関数とそのコールバックは、Script 内のみ使用でき、コールバックは teleport の処理を示すBooleanを返します。たとえば、次の有効なバリデータ関数の return ロジックは、スポーンプレイヤーと目的地プレイヤーが同じチームにいることを保証します。

スクリプト

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- 同じチームにいる場合にのみプレイヤーをテレポートします
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)