SpawnLocation

非推奨を表示

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

スポーン場所、または「スポーン」は、Player が死亡したときにリスポーンする場所を決定します。これらは、Teams を使用して、特定のプレイヤーのみが各スポーンを使用できるように構成することができます。また、 Class.ForceField|ForceField

スポーン場所は、障害物コースなどでチェックポイントとして使用できます。SpawnLocation.AllowTeamChangeOnTouch プロパティを使用して、プレイヤーがそれに触れると、スポーン場所のチームが変更されます。この場合、最初の Class.

Class.SpawnLocation.TeamColor が SpawnLocation.Neutral を false に設定している Studio の SpawnLocation.TeamColor に SpawnLocation が追加された場合、チームが 1>Class.SpawnLocation.TeamColor</

ルールの生成

プレイヤーがリスポーンすると、以下のいくつかのルールが有効になります:

  • Class.SpawnLocation.Neutral が偽で設定されているとき、Players は、Player.TeamColor が Class.SpawnLocation.TeamColor と一致するように、上にリスポーンします。
  • Class.SpawnLocation.Neutral が true に設定されると、任意のプレイヤーは SpawnLocation.TeamColor にかかわらず、上にスポーンできます
  • Class.Player に複数の資格のあるスポーンがある場合、ランダムなスポーンが選択されます
  • プレイヤーは、スポーン場所の上部にあるさまざまな場所にスポーンしますが、現在は、1つの場所からスポーンした後、他の場所からスポーンすることができます

参照してください:

  • プレイヤーがリスポーンするのにどれくらいの時間がかかるか構成したい場合は、RespawnTime プロパティを見てください

コードサンプル

SpawnLocation Checkpoints

local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)

概要

プロパティ

  • 並列読み取り

    Class.Player が SpawnLocation に触れると、Player キャラクターが 1>Class.SpawnLocation1> に接触すると、プレイヤーの 4>Class.Player.TeamColor4> が 7>Class.SpawnLocation.TeamColor

  • 並列読み取り

    この 0>Class.SpawnLocation0> に生成される 3>Class.Player3> キャラクターの時間長、6>Class.ForceField6> は、ForceField9> の Duration がゼロである場合、2>Class.ForceField</

  • 並列読み取り

    Class.SpawnLocation が有効であるかどうかを設定します。無効なプレイヤーは、SpawnLocation に生成できません、および AllowTeamChangeOnTouch 機能が無効になっています。

  • 並列読み取り

    Class.SpawnLocation が特定のチームと関係しているかどうかにかかわらず。これは、このプロパティを「Player」、または「Team」のいずれかが設定されている場合、すべての 1> Class.SpawnLocation1> がその上に生成されることを意味します。

  • 並列読み取り

    Class.SpawnLocation は、SpawnLocation.Neutral プロパティが偽である場合、スポーンのチームカラーと同じ Players を持つ、同じ 1>Class.Player1> だけがそこにスポーンできます。

Part から継承した プロパティ
  • 複製されていません
    並列読み取り

    オブジェクトの全体的な形状を設定します。

BasePart から継承した プロパティ
  • 並列読み取り

    物理的に移動不可能なパーツを決定します。

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

    パーツの組み立ての角度速度。

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

    世界スペースのパーツアセンブリの中心。

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

    部品の組み立ての直線速度。

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

    パーツのアセンブリの合計質量。

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

    アセンブリのルート部分に関する参照。

  • 並列読み取り

    パーツの背面の表面タイプを決定します (+Z 方向)。

  • 部品の下面の表面のタイプを決定します (-Y 方向)。

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

    パーツの色を決める。

  • 並列読み取り

    世界中の BasePart の位置と向きを決める。

  • 並列読み取り

    パーツが他のパーツと衝突するかどうかを決定します。

  • 並列読み取り

    空間クエリ操作中にパーツが検討されるかどうかを決定します。

  • 並列読み取り

    パーツで TouchedTouchEnded イベントが発動するかどうかを決定します。

  • 並列読み取り

    パーツがシャドウをキャストするかどうかを決定します。

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

    パーツの中心マスが位置する世界の位置を説明します。

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

    部品の衝突グループの名前を説明します。

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

    パーツの色を決める。

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

    パーツの現在の物理プロパティを示します。

  • パーツの複数の物理プロパティを決定します。

  • 並列読み取り

    パーツやアセンブリで空気力を有効にまたは無効にする。

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

    Class.BasePart の物理的エクセンツの BasePart

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

    Class.BasePart の実際の物理サイズは、物理エンジンによって見られる。

  • 並列読み取り

    パーツのフロント面のタイプ(-Z 方向)を決定します。

  • 並列読み取り

    パーツの左側の表面のタイプを決定します (-X 方向)。

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

    ローカルクライアントに表示されるのは、BasePart.Transparency のマルチプライヤーを決定します。

  • 並列読み取り

    スタジオでパーツを選択できるかどうかを決定します。

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

    部品の質量、密度、ボリュームの製品を説明します。

  • 並列読み取り

    パーツが硬ボディの総質量または惰性に貢献しているかどうかを決定します。

  • 並列読み取り

    パーツのテクスチャとデフォルトの物理プロパティを決定します。

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

    Class.Material の名前。

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

    世界のパーツの回転を説明します。

  • 並列読み取り

    パーツのピボットのオフセットを CFrame から指定します。

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

    部品の世界の位置を説明します。

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

    最後に記アップデートされた物理の更新からの時間。

  • 並列読み取り

    パーツがスカイボックスを反射する量を決めます。

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

    サイズ変更メソッドによって許可される最小の変更を説明します。

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

    パーツのサイズ変更が可能な顔を説明します。

  • 並列読み取り

    パーツの右側面の表面の種類を決定します (+X 方向)。

  • 並列読み取り

    アセンブリのルート部分を決定するための主要ルール。

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

    3軸のパーツの回転

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

    パーツのサイズ (長さ、幅、高さ) を決定します。

  • 並列読み取り

    パーツのトップフェイスの表面の種類を決定します (+Y 方向)。

  • 並列読み取り

    パーツの不透明度の逆にあるパーツの見える量を決めます。

PVInstance から継承した プロパティ
  • 複製されていません
    スクリプト作成できません
    並列読み取り
  • 複製されていません
    スクリプト作成できません
    並列読み取り

方法

BasePart から継承した 方法PVInstance から継承した 方法
  • 並列書き込み

    Class.PVInstance のピボットを取得します。

  • PivotTo(targetCFrame : CFrame):void

    Class.PVInstance とそのすべての子孫 PVInstances は、ピボットが指定の CFrame に移動します。

イベント

BasePart から継承した イベント

プロパティ

AllowTeamChangeOnTouch

並列読み取り

Class.Player は、SpawnLocation に連絡れるとチームに参加できます。

Class.SpawnLocation.Enabled が偽値に設定されている場合、これは機能しません。

チェックポイントを作成する

この機能は、障害物コースや同様のゲームでチェックポイントを作成するのによく使用されます。

コードサンプル

SpawnLocation Checkpoints

local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)

Duration

並列読み取り

この 0>Class.SpawnLocation0> に生成される 3>Class.Player3> キャラクターの時間長、6>Class.ForceField6> は、ForceField9> の Duration がゼロである場合、2>Class.ForceField</

このプロパティのデフォルト値は 10秒です。

期間機能は、開発者が簡単に Players を保護することができます ForceFields これは、プレイヤーにとって frustrating エクスペリエンスになる可能

コードサンプル

SpawnLocation ForceField

local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Duration = 20
spawnLocation.Parent = workspace

Enabled

並列読み取り

Class.SpawnLocation が有効であるかどうかを設定します。無効なプレイヤーは、SpawnLocation および SpawnLocation.AllowTeamChangeOnTouch 機能を使用できません。

このプロパティは、Players がスポーン時にスポーンされるのを防ぐ最も便利な方法を提供します。

注、SpawnLocation.AllowTeamChangeOnTouch を使用してチームを変更すると、 Class.BasePart.Touched を使用している他のタッチイベントは発動しません。

コードサンプル

SpawnLocation Enabled

local spawnLocation = Instance.new("SpawnLocation")
spawnLocation.Anchored = true
spawnLocation.Size = Vector3.new(5, 1, 5)
spawnLocation.Neutral = true -- anyone can spawn here
spawnLocation.Enabled = true
spawnLocation.Parent = workspace
local function onEnabledChanged()
spawnLocation.Transparency = spawnLocation.Enabled and 0 or 0.5
end
spawnLocation:GetPropertyChangedSignal("Enabled"):Connect(onEnabledChanged)
task.wait(5)
spawnLocation.Enabled = false -- transparency = 0.5

Neutral

並列読み取り

スポーンが特定のチームと関連しているかどうか。これは、このプロパティを「Player」、または「Team」のいずれかに設定している場合、その上にスポーンできるようになります。

Neutral が false に設定されている場合、Player.TeamColorSpawnLocation.TeamColor と同等であるプレイヤーのみが SpawnLocation を使用できます。

Class.SpawnLocation.AllowTeamChangeOnTouch が true の場合、Player.Neutral は、スポーンとの接触によりこのプロパティに設定されます。

コードサンプル

SpawnLocation Checkpoints

local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)

TeamColor

並列読み取り

チームカラープロパティは、SpawnLocation が属するチームを設定します。SpawnLocation.Neutral プロパティが偽である場合、スポーンのチームカラーと同じ Players を持つプレイヤーのみがそこでスポーンできます。

Class.SpawnLocation.AllowTeamChangeOnTouch が true の場合、Player.Neutral は、スポーンとの接触によりこのプロパティに設定されます。

コードサンプル

SpawnLocation Checkpoints

local Teams = game:GetService("Teams")
-- create start team (AutoAssignable = true)
local startTeam = Instance.new("Team")
startTeam.Name = "Start"
startTeam.AutoAssignable = true
startTeam.TeamColor = BrickColor.new("White")
startTeam.Parent = Teams
-- create checkpoint teams (Autoassignable = false), ensuring all TeamColors are unique
local team1 = Instance.new("Team")
team1.Name = "Checkpoint 1"
team1.AutoAssignable = false
team1.TeamColor = BrickColor.new("Bright blue")
team1.Parent = Teams
local team2 = Instance.new("Team")
team2.Name = "Checkpoint 2"
team2.AutoAssignable = false
team2.TeamColor = BrickColor.new("Bright green")
team2.Parent = Teams
local team3 = Instance.new("Team")
team3.Name = "Checkpoint 2"
team3.AutoAssignable = false
team3.TeamColor = BrickColor.new("Bright red")
team3.Parent = Teams
-- create spawns
local startSpawn = Instance.new("SpawnLocation")
startSpawn.Anchored = true
startSpawn.Size = Vector3.new(5, 1, 5)
startSpawn.Neutral = false
startSpawn.AllowTeamChangeOnTouch = false
startSpawn.TeamColor = startTeam.TeamColor
startSpawn.BrickColor = startTeam.TeamColor
startSpawn.Parent = game.Workspace
local team1Spawn = Instance.new("SpawnLocation")
team1Spawn.Anchored = true
team1Spawn.Size = Vector3.new(5, 1, 5)
team1Spawn.Neutral = false
team1Spawn.AllowTeamChangeOnTouch = true
team1Spawn.TeamColor = team1.TeamColor
team1Spawn.BrickColor = team1.TeamColor
team1Spawn.Parent = game.Workspace
local team2Spawn = Instance.new("SpawnLocation")
team2Spawn.Anchored = true
team2Spawn.Size = Vector3.new(5, 1, 5)
team2Spawn.Neutral = false
team2Spawn.AllowTeamChangeOnTouch = true
team2Spawn.TeamColor = team2.TeamColor
team2Spawn.BrickColor = team2.TeamColor
team2Spawn.Parent = game.Workspace
local team3Spawn = Instance.new("SpawnLocation")
team3Spawn.Anchored = true
team3Spawn.Size = Vector3.new(5, 1, 5)
team3Spawn.Neutral = false
team3Spawn.AllowTeamChangeOnTouch = true
team3Spawn.TeamColor = team3.TeamColor
team3Spawn.BrickColor = team3.TeamColor
team3Spawn.Parent = game.Workspace
-- position spawns
startSpawn.CFrame = CFrame.new(0, 0.5, 0)
team1Spawn.CFrame = CFrame.new(10, 0.5, 0)
team2Spawn.CFrame = CFrame.new(20, 0.5, 0)
team3Spawn.CFrame = CFrame.new(30, 0.5, 0)

方法

イベント