SpawnLocation
*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。
SpawnLocations、または「spawn」は、死亡時に Player が再生する場所を決定します。特定のプレイヤーだけが各スポーンを使用できるように構成でき、Teams を使用します。また、新しく生成されたプレイヤーにどのように ForceFields が設定されるかも制御します。
SpawnLocations は、障害物コースでのように、SpawnLocation.AllowTeamChangeOnTouch プロパティを使用してチェックポイントとして使用でき、プレイヤーがそれに触れると、チームが SpawnLocation のチームに変更されます。この場合、最初の Team のみが Team.AutoAssignable に真実を設定し、そうでなければプレイヤーは最初のチェックポイントで開始しません。
Note if a SpawnLocation is added to the Workspace in Studio with SpawnLocation.Neutral set to false a チームが既に存在しない場合、SpawnLocation.TeamColor に対応するチームが作成されます。この動作は、Script を使用してゲーム内でスポーンを作成するときや、SpawnLocation のプロパティがすでに追加された後に変更された場合には発生しません。開発者は、この動作に頼らず、常にチームを手動で設定することを推奨します。
ルールの生成中
プレイヤーがリスポーンすると、特定の SpawnLocation に関連する複数のルールが発動します:
- When SpawnLocation.Neutral が偽に設定されていると、Players と一致する Player.TeamColor が SpawnLocation.TeamColor を上に再生します
- When SpawnLocation.Neutral が true に設定されていると、どのプレイヤーもその上に独立して生成できます。SpawnLocation.TeamColor
- 複数の有効なスポーンが Player に利用可能である場合、ランダムなものが選択されます
- プレイヤーは、スポーン場所の上に異なる場所でスポーンしますが、現在、1つともう1つの直後にスポーンすると、互いに上にスポーンする可能性があります
参照してください:
- プレイヤーがリスポーンするまでにかかる時間を構成したい場合は、RespawnTime プロパティを見てください
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
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)
概要
プロパティ
すべての Player が SpawnLocation にタッチすることでチームに参加できるようにします。真に設定されると、Player 文字がSpawnLocation に接触すると、プレイヤーのPlayer.TeamColor がSpawnLocation.TeamColor に設定されます。
秒単位の時間、 がこの に生成されるキャラクターに適用される期間。期間がゼロの場合、ForceField は決して作成されず、Instance.DescendantAdded または Instance.ChildAdded イベントをトリガーしません。
SpawnLocation が有効かどうかを設定します。無効なプレイヤーが SpawnLocation で生成できないとき、「AllowTeamChangeOnTouch」機能が無効になっています。
SpawnLocation が特定のチームと関連しているかどうか。これは、任意の Player 、任意の Team が、このプロパティが真に設定されている場合、それに生成できることを意味します。
SpawnLocation に属するチームを設定します。SpawnLocation.Neutralが false である場合、スポーンの Players と同じ Player.TeamColor のみがそこにスポーンできます。
オブジェクトの全体形状を設定します。
パーツが物理的に移動不可能かどうかを決定します。
部品の組み立ての角速度。
ワールドスペースでのパーツのアセンブリの質量の中心。
部品の組み立ての線速度。
パーツのアセンブリの総質量。
アセンブリの根部に対する参照。
パーツがオーディオシミュレーションと物理的に相互作用するかどうかを決定します。照明のための CastShadow と同様です。
部品の後面の表面タイプを決定します。
部品の底面の表面タイプを決定します。
部品の色を決定します。
世界の BasePart の位置と方向を決定します。
パーツが他のパーツと衝突できるかどうかを決定します。
パーツが空間クエリ操作で考慮されるかどうかを決定します。
Touched および TouchEnded イベントがパーツに発射するかどうかを決定します。
パーツがシャドウをキャストするかどうかを決定します。
部品の質量の中心が位置する世界の位置を説明します。
パーツの衝突グループの名前を記述します。
部品の色を決定します。
部品の現在の物理プロパティを示します。
部品の複数の物理的特性を決定します。
部品やアセンブリの空力を有効化または無効化するのに使用します。
物理エンジンによって見られる BasePart の実際のサイズ。
部品の前面の表面タイプを決定します。
部品の左面の表面タイプを決定します。
ローカルクライアントにしか表示されない BasePart.Transparency の乗数を決定します。
スタジオでパーツが選択可能かどうかを決定します。
部品の質量、密度とボリュームの積を記述します。
パーツが剛ボディの総質量または粘性に貢献するかどうかを決定します。
部品のテクスチャとデフォルトの物理プロパティを決定します。
名前の MaterialVariant 。
世界でのパーツの回転を説明します。
パーツのピボットのオフセットを、CFrame から指定します。
世界のパーツの位置を記述します。
最後の物理アップデート以来の時間。
パーツが天空ボックスをどの程度反映するかを決定します。
Resize() メソッドで許可される最小サイズ変更を説明します。
パーツがサイズ変更できる顔を説明します。
部品の右面の表面タイプを決定します。
アセンブリのルート部分を決定する主なルール。
3軸のためのパーツの回転度です。
部品の寸法 (長さ、幅、高さ) を決定します。
部品の上面のタイプを決定します。
パーツがどの程度透明に見えるかを決定します (パーツの不透明度の逆)。
方法
BasePart から継承した 方法アングルパルスをアセンブリに適用します。
アセンブリの center of mass にアインプルスを適用します。
指定された位置にアセンブリにインパルスを適用します。
パーツが互いに衝突できるかどうかを返します。
パーツのネットワーク所有権を設定できるかどうかをチェックします。
剛性ジョイントでオブジェクトに接続されたパーツのテーブルを返します。
このパーツに接続されているすべてのジョイントまたは制限を返す。
Mass プロパティの値を返します。
この部分のネットワーク所有者である現在のプレイヤーを返すか、nil は、サーバーの場合。
ゲームエンジンが自動的にこの部分のネットワーク所有者を決定する場合、真を返します。
パーツのアセンブリのベース部分を返します。
このパーツと交差するすべての BasePart.CanCollide 真のパーツの表を返します。
このパーツに対する位置に関連して、部品の組み立ての線速度を返します。
オブジェクトがそれを保持するパーツに接続されている場合 (例: Anchored パーツ) は真を返し、そうでない場合は false を返します。
Studio のサイズ変更ツールを使用するのと同じように、オブジェクトのサイズを変更します。
指定されたプレイヤーをこのネットワークの所有者とすべての接続部品の所有者とします。
ゲームエンジンが動的に、パーツの物理を処理する人 (クライアントの 1 人またはサーバー) を決定できます。
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
パーツとその他のパーツの重複する幾何学から新しい IntersectOperation を作成し、指定された配列に追加します。
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
パーツから新しい UnionOperation を作成し、指定されたアレイに含まれるパーツによって占有される幾何学を除きます。
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
パーツから新しい UnionOperation を作成し、指定された配列内のパーツによって占有された幾何学を加えます。
PVInstance のピボットを取得します。
変換する PVInstance とすべての子孫 PVInstances を通じて、ピボットが現在指定された CFrame に位置します。
プロパティ
AllowTeamChangeOnTouch
すべての Player が SpawnLocation にタッチすることでチームに参加できるようにします。真に設定されると、Player 文字がSpawnLocation に接触すると、プレイヤーのPlayer.TeamColor がSpawnLocation.TeamColor に設定されます。 も接連絡時に設定され、プレイヤーがスポーン場所に触れることで中立になることも意味します。
これは、SpawnLocation.Enabled が false に設定されていると機能しません。
チェックポイントを作成中
この機能は、障害物コースや同様のゲームでチェックポイントを作るのによく使用されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
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
秒単位の時間、 がこの に生成されるキャラクターに適用される期間。期間がゼロの場合、ForceField は決して作成されず、Instance.DescendantAdded または Instance.ChildAdded イベントをトリガーしません。
このプロパティのデフォルト値は 10秒です。
期間機能により、開発者は簡単にPlayersプレイヤーに煩わしい経験となる「スポーンキリング」から保護を提供できます。注意, ForceFields は、ユーザーを Explosions と Humanoid:TakeDamage() にダメージを与える武器、または ForceField をチェックする武器から保護するだけです。
コードサンプル
This sample will create a neutral SpawnLocation in the Workspace that'll give players spawning a ForceField for 20 seconds.
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
SpawnLocation が有効かどうかを設定します。無効にすると、プレイヤーがSpawnLocation で生成できなくなり、SpawnLocation.AllowTeamChangeOnTouch 機能が無効になります。
このプロパティは、スポーンで Players が生成されるのを防ぐ最も便利な方法を提供します。
注: タッチを使用してチームを変更するときに SpawnLocation.AllowTeamChangeOnTouch を無効に設定しても、BasePart.Touched を使用した他のタッチイベントは引き続き発射します。
コードサンプル
The following sample will create a SpawnLocation in the Workspace that will become semi-transparent when it is disabled.
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 が、このプロパティが真に設定されている場合、それに生成できることを意味します。
中立が false に設定されている場合、Player.TeamColor が SpawnLocation.TeamColor と同じのプレイヤーだけが SpawnLocation を使用できます。
If SpawnLocation.AllowTeamChangeOnTouch が true である場合、Player.Neutral は、スポーンとの接触時にこのプロパティに設定されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
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
TeamColor プロパティは、SpawnLocation に属するチームを設定します。SpawnLocation.Neutralが false である場合、スポーンの Players と同じ Player.TeamColor のみがそこにスポーンできます。
If SpawnLocation.AllowTeamChangeOnTouch が true である場合、Player.Neutral は、スポーンとの接触時にこのプロパティに設定されます。
コードサンプル
This sample demonstrates how SpawnLocations can be used to make a checkpoint system. Typically this would be done Studio and not in Lua, but this example serves as a comprehensive example of what Team and SpawnLocation properties need to be used to achieve this setup.
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)