SpawnLocations, 또는 "spawns"는 클래스 Player 가 죽었을 때 어디에서 새로운 클래스 Teams 가 생성되는지 결정합니다. 그들은 ForceFields 를 사용하여 특정 플레이어만 각 생성을 사용할 수 있도록 구성할 수
생성 위치는 장애물 코스에서 사용하는 체크포인트로, SpawnLocation.AllowTeamChangeOnTouch 속성을 사용하여 플레이어가 그것을 만질 때 팀을 스폰 로ケ이션의 팀으로 변경하도록 합니다. 이 경우 첫
Class.SpawnLocation.Neutral 을 false로 설정하면 팀이 만들어지고, SpawnLocation.Neutral 가 있으면 해당 팀이 만들어집니다. 이 동작은 스폰이
규칙 생성
플레이어가 부활할 때 적용되는 몇 가지 규칙이 있습니다.
- Class.SpawnLocation.Neutral 이 false로 설정되면 Players 와 Player.TeamColor 가 일치하는 1>Class.SpawnLocation.TeamColor1> 위에 다시 생성됩니다.
- Class.SpawnLocation.Neutral 가 진실로 설정되면 플레이어는 SpawnLocation.TeamColor 에 관계없이 위에서 생성할 수 있습니다.
- 만 가능한 스폰이 있으면 Player 에 랜덤 하나가 선택됩니다
- 플레이어는 SpawnLocation의 다른 위치에 생성되지만, 현재는 여전히 서로 위에 생성될 수 있습니다.
또한 참조하십시오.
- 플레이어가 재생성되는 데 걸리는 시간을 구성하려면 RespawnTime 속성을 살펴보십시오.
코드 샘플
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>
이 ForceField 에 생성되는 캐릭터는 클래스 Player 에 적용될 때까지 초 단위의 시간 길이입니다. 만약 지속 시간이 0이라면 SpawnLocation 는 생
Class.SpawnLocation 이 활성화되어 있는지 여부를 설정합니다. 활성화되지 않은 플레이어는 SpawnLocation에 생성할 수 없으며 AllowTeamChangeOnTouch 기능이 비활성화되었습니다.
Class.SpawnLocation 이 특정 팀과 관련이 있는지 여부. 이 경우 모든 Player 및 모든 Team 의 모든 1>Class.SpawnLocation1>는 이 속성이 설정된 경우 해당 위치에서 생성될 수 있습니다.
Class.SpawnLocation 은 팀에 속하는 것으로 설정합니다. SpawnLocation.Neutral 속성이 잘못 되어 있으면 동일한 Players 만 생성 위치의 팀 색과 같은 색으로 생성할 수 있습니다.
개체의 전체 모양을 설정합니다.
물리적으로 부품이 움직일 수 없는지 여부를 결정합니다.
부품 조립의 각도 속도.
부품 조립의 중심 공간.
부품 조립의 직선 속도.
부품 조립의 총 질량.
조립의 루트 부분에 대한 참조.
부품의 뒷면 표면 유형을 결정합니다 (+Z 방향).
부품의 하단 면에 대한 표면 유형을 결정합니다(Y 방향).
부품의 색을 결정합니다.
세계에서 BasePart의 위치 및 방향을 결정합니다.
부품이 다른 부품과 충돌할 수 있는지 여부를 결정합니다.
공간 쿼리 작업 중에 부품이 고려되는지 여부를 결정합니다.
부품에 화재가 발생하는지 여부를 결정합니다. Touched 및 TouchEnded 이벤트가 부품에서 발생하는지 여부를 결정합니다.
부품이 그림자를 캐스트하는지 여부를 결정합니다.
부품의 중심 마사가 위치한 세계 위치를 설명합니다.
부품 충돌 그룹의 이름을 설명합니다.
부품의 색을 결정합니다.
부품의 현재 물리적 속성을 나타냅니다.
부품의 여러 물리적 속성을 결정합니다.
부품 및 조립에 대한 공기 동력 힘을 활성화하거나 비활성화합니다.
물리적 엔터티의 CFrame 의 물리적 부분입니다.
물리적 엔진에 의해 보는 BasePart의 실제 크기.
부품의 앞면에 대한 표면 유형을 결정합니다(Z 방향).
부품의 왼쪽 표면 유형을 결정합니다(ـX 방향).
로컬 클라이언트에만 표시되는 BasePart.Transparency 의 배수를 결정합니다.
Studio에서 부품을 선택할 수 있는지 여부를 결정합니다.
부품의 질량, 밀도 및 볼륨의 제품을 설명합니다.
부품이 유연 신체총 질량이나 비활성에 기여하는지 여부를 결정합니다.
부품의 텍스처 및 기본 물리 속성을 결정합니다.
Class.MaterialVariant 의 이름.
부품의 회전을 설명합니다.
부품의 피벗 오프셋을 지정합니다. CFrame 에서.
세계의 부품 위치를 설명합니다.
마지막으로 기록된 물리 업데이트 이후의 시간.
부품이 하늘 상자를 얼마나 반영하는지 결정합니다.
크기 조정 메서드에 의해 허용되는 가장 작은 변경 내용을 설명합니다.
부품의 크기를 조정할 수 있는 얼굴을 설명합니다.
부품의 오른쪽 면에 대한 표면 유형을 결정합니다 (+X 방향).
조립의 뿌리 부분을 결정하는 주요 규칙입니다.
부품의 회전은 세 축에 대한 도 단위입니다.
부품의 크기 (길이, 너비, 높이)를 결정합니다.
부품의 상단 면에 대한 표면 유형을 결정합니다 (+Y 방향).
부품의 불투명도(부품 불투명도의 부품 반대)를 결정하는 방법을 결정합니다.
메서드
메서드가 BasePart에서 상속되었습니다조립에 각진 충격을 적용합니다.
조립의 중심에 충격을 적용하십시오. center of mass .
지정된 위치에 임팩트를 적용합니다.
부품이 서로 충돌할 수 있는지 여부를 반환합니다.
부품 소유자의 네트워크 소유권을 설정할 수 있는지 여부를 확인합니다.
모든 종류의 고정 관절을 통해 개체에 연결된 부품 테이블을 반환합니다.Returns a table of parts connected to the object by any kind of rigid joint.
이 부분에 연결된 모든 관절 또는 제한을 반환합니다.
Class.BasePart.Mass|Mass 속성의 값을 반환합니다.
이 부분의 네트워크 소유자인 현재 플레이어를 반환하거나 서버의 경우 일반 0을 반환합니다.
이 부분에 대한 네트워크 소유자를 게임 엔진이 자동으로 결정하면 true를 반환합니다.
부품 조립의 기본 부분을 반환합니다.
이 부품과 교차하는 모든 BasePart.CanCollide 진실한 부품의 테이블을 반환합니다.
이 부품과 관련된 지정된 위치에 대해 부품 조립의 직선 속도를 반환합니다.
부품에 연결할 개체가 있으면 참이 되고 그렇지 않으면 참이 되지 않습니다.
Studio 크기 조정 도구를 사용하는 것과 같이 개체의 크기를 변경합니다.
이 모든 연결된 부품에 대해 지정된 플레이어를 네트워크 소유자로 설정합니다.
게임 엔진이 물리적 시뮬레이션을 처리할 클라이언트 또는 서버를 결정하도록 동적으로 결정합니다.
- 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 를 부품에서 만들고 지정된 배열에 있는 부품의 기하학을 점유합니다.
Class.PVInstance의 피벗을 가져옵니다.
모든 후손 PVInstance 과 함께 폼 PVInstances 으로 핵심이 이제 CFrame 에 위치 하도록 변환 합니다.
이벤트
이벤트가 BasePart에서 상속되었습니다물리적 이동의 결과로 부품이 다른 부품을 만지지 않게 되면 화재가 발생합니다.
물리적 이동의 결과로 부품이 다른 부품을 만질 때 발생합니다.
속성
AllowTeamChangeOnTouch
팀에 참여하려면 Player 를 만지십시오. SpawnLocation .
Class.SpawnLocation.Enabled가 가짜로 설정된 경우에는 이 기능이 작동하지 않습니다.
체크포인트 만들기
이 기능은 장애물 코스나 유사한 게임에서 체크포인트를 만드는 데 자주 사용됩니다.
코드 샘플
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 에 생성되는 캐릭터는 클래스 Player 에 적용될 때까지 초 단위의 시간 길이입니다. 만약 지속 시간이 0이라면 SpawnLocation 는 생
이 속성의 기본 값은 10초입니다.
지속 시간 기능을 사용하면 플레이어에게 짜증나는 경험이 될 수 있는 '스폰 킬링'으로부터 Players 보호를 쉽게 제공할 수 있습니다. 참고,
코드 샘플
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 가 설정된 경우에도 불구하고 사용자가 활성화한 경우 다른 터치 이벤트를 사용하여 BasePart.Touched 를 시작하여 발생합니다.
코드 샘플
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 의 모든 Class.Player 는 이 속성이 설정된 경우 해당 스폰에 생성될 수 있습니다.
중립이 false로 설정되면 플레이어의 Player.TeamColor 가 SpawnLocation.TeamColor 와 같을 수 있습니다. SpawnLocation 을 사용하려면 2> Class.SpawnLocation2> 을 참조하십시오.
Class.SpawnLocation.AllowTeamChangeOnTouch가 진실하면 Player.Neutral은 생성과 관련된 모든 연락에 대해 이 속성을 설정합니다.
코드 샘플
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
팀 색상 속성은 팀 Class.SpawnLocation 가 속한 팀을 설정합니다. 팀 Class.Player|Players 는 동일한 팀 색상을 가진 팀 Class.Player 만 생성할 수 있습니다. If 팀 색상 속성이 거짓인 경우, 팀 Class.Player 의 동일
Class.SpawnLocation.AllowTeamChangeOnTouch가 진실하면 Player.Neutral은 생성과 관련된 모든 연락에 대해 이 속성을 설정합니다.
코드 샘플
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)