SpawnLocation
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Vị trí xuất hiện, hoặc "xuất hiện" xác định nơi một Player tái sinh khi chúng chết.Chúng có thể được cấu hình để chỉ cho phép một số người chơi nhất định sử dụng mỗi spawn, sử dụng Teams .Họ cũng kiểm soát cách ForceFields được thiết lập cho các người chơi mới được tạo ra.
Vị trí SpawnLocations có thể được sử dụng như điểm kiểm tra, chẳng hạn như trong một khóa học chướng ngại vật, bằng cách sử dụng thuộc tính SpawnLocation.AllowTeamChangeOnTouch, để khi một người chơi chạm vào nó, họ sẽ thay đổi đội cho đội của SpawnLocation.Trong trường hợp này, chỉ phần đầu tiên Team nên có Team.AutoAssignable được đặt thành true, nếu không, người chơi sẽ không bắt đầu tại điểm kiểm tra đầu tiên.
Lưu ý nếu một SpawnLocation được thêm vào Workspace trong Studio với SpawnLocation.Neutral đặt thành false một đội sẽ được tạo tương ứng với SpawnLocation.TeamColor nếu nó chưa tồn tại.Hành vi này không xảy ra khi tạo spawn bằng cách sử dụng Script trong trò chơi hoặc nếu các thuộc tính của SpawnLocation được thay đổi sau khi đã được thêm vào.Khuyến nghị các nhà phát triển luôn thiết lập các nhóm của họ bằng tay và không dựa vào hành vi này.
Tạo quy tắc
Có một số quy tắc xuất hiện khi một người chơi hồi sinh:
- Khi SpawnLocation.Neutral được đặt thành false chỉ Players với Player.TeamColor phù hợp SpawnLocation.TeamColor sẽ hồi sinh phía trên nó
- Khi SpawnLocation.Neutral được đặt thành true, bất kỳ người chơi nào cũng có thể sinh ra trên nó bất kể SpawnLocation.TeamColor
- Nếu nhiều spawn đủ điều kiện có sẵn cho một Player, một ngẫu nhiên sẽ được chọn
- Người chơi sẽ xuất hiện ở các điểm khác nhau trên SpawnLocation, nhưng hiện tại, họ vẫn có thể xuất hiện trên nhau nếu họ xuất hiện ngay sau một và kia khác
Xem thêm:
- Nếu bạn muốn thiết lập thời gian một người chơi hồi sinh, hãy xem xét thuộc tính RespawnTime
Mẫu mã
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)
Tóm Tắt
Thuộc Tính
Cho phép một Player tham gia vào đội bằng cách chạm vào SpawnLocation.Khi được đặt thành true, nếu một nhân vật Player vào tiếp xúc với SpawnLocation, nhân vật của người chơi Player.TeamColor sẽ được đặt thành SpawnLocation.TeamColor .
Thời gian, bằng giây, mà một ForceField sẽ được áp dụng cho một Player nhân vật xuất hiện tại đây SpawnLocation .Nếu Thời lượng là không, ForceField sẽ không bao giờ được tạo, và nó sẽ không kích hoạt sự kiện Instance.DescendantAdded hoặc Instance.ChildAdded .
Bộ đặt xem có hay không có SpawnLocation bị bật.Khi người chơi bị vô hiệu hóa không thể sinh sản tại SpawnLocation và chức năng AllowTeamChangeOnTouch bị vô hiệu hóa.
Liệu có phải là SpawnLocation một là thành viên của một nhóm cụ thể hay không.Điều này có nghĩa là bất kỳ Player , của bất kỳ Team , có thể sinh ra trên nó nếu thuộc tính này được đặt thành true.
Đặt nhóm mà SpawnLocation được liên kết với.Nếu thuộc tính SpawnLocation.Neutral giả mạo, chỉ Players với cùng một Player.TeamColor như màu sắc đội của spawn sẽ có thể sinh sản ở đó.
Xác định hình dạng tổng thể của đối tượng.
Xác định xem một phần có bất di chuyển bởi vật lý hay không.
Tốc độ góc của lắp ráp phần.
Trung tâm của khối lượng của lắp ráp phần trong không gian thế giới.
Tốc độ song song của lắp ráp phần.
Tổng khối lượng lắp ráp của phần.
Một tham chiếu đến phần gốc của lắp ráp.
Xác định xem phần có thể tương tác vật lý với mô phỏng âm thanh hay không, tương tự như CastShadow đối với ánh sáng.
Xác định loại bề mặt cho mặt sau của một phần.
Xác định loại bề mặt cho mặt dưới của một phần.
Xác định màu của một phần.
Xác định vị trí và hướng của BasePart trong thế giới.
Xác định xem một phần có thể va chạm với các phần khác hay không.
Xác định xem phần có được xem xét trong các hoạt động truy vấn không gian không.
Xác định xem sự kiện Touched và TouchEnded có bắt lửa trên phần hay không.
Xác định xem một phần có phải phát ra bóng hay không.
Mô tả vị trí thế giới mà trung tâm khối lượng của một phần nằm.
Mô tả tên của nhóm va chạm của một phần.
Xác định màu của một phần.
Chỉ ra các tính chất vật lý hiện tại của phần.
Xác định một số tính chất vật lý của một phần.
Dùng để bật hoặc tắt lực khí động trên các bộ phận và lắp ráp.
Kích thước vật lý thực sự của BasePart theo quan điểm của động cơ vật lý.
Xác định loại bề mặt cho mặt trước của một phần.
Xác định loại bề mặt cho mặt trái của một phần.
Xác định một hệ số cho BasePart.Transparency mà chỉ có thể nhìn thấy bởi khách hàng địa phương.
Xác định xem một phần có thể được chọn trong Studio hay không.
Mô tả khối lượng của phần, sản phẩm của độ dày và khối lượng của nó.
Xác định xem phần có đóng góp vào tổng khối lượng hoặc lượng lưu lưu của cơ thâncứng hay không.
Xác định kết cấu và tính chất vật lý mặc định của một phần.
Tên của MaterialVariant .
Mô tả việc xoay của phần trong thế giới.
Xác định offset của trục của phần từ CFrame của nó.
Mô tả vị trí của phần trong thế giới.
Thời gian kể từ lần cập nhật vật lý cuối cùng.
Xác định bao nhiêu một phần phản ánh hộp trời.
Mô tả thay đổi nhỏ nhất về kích thước có thể cho phép bởi phương pháp Resize().
Mô tả các khuôn mặt mà một phần có thể được thay đổi kích cỡ.
Xác định loại bề mặt cho mặt phải của một phần.
Quy tắc chính trong việc xác định phần gốc của một tập hợp.
Sự xoay của phần theo độ cho ba trục.
Xác định kích thước của một phần (chiều dài, chiều rộng, chiều cao).
Xác định loại bề mặt cho mặt trên của một phần.
Xác định bao nhiêu một phần có thể được nhìn thấy thông qua (ngược lại với độ mờ phần).
Phương Pháp
Phương Pháp kế thừa từ BasePartÁp dụng một động lực góc cho lắp ráp.
Áp dụng một động lực cho lắp ráp tại lắp ráp center of mass .
Áp dụng một xung lực cho lắp ráp ở vị trí được chỉ định.
Trả về xem các bộ phận có thể va chạm với nhau hay không.
Kiểm tra xem bạn có thể đặt quyền sở hữu mạng của một phần hay không.
Trả về một bảng các bộ phận kết nối với đối tượng bằng bất kỳ loại khớp cứng nào.
Trả lại tất cả Các khớp hoặc Giới hạn được kết nối với Phần này.
Trả giá trị của thuộc tính Mass .
Trả về người chơi hiện tại là chủ sở hữu mạng của phần này, hoặc nil trong trường hợp của máy chủ.
Trả về true nếu động cơ trò chơi tự động quyết định chủ sở hữu mạng cho phần này.
Trả lại phần cơ bản của một tập hợp các bộ phận.
Trả về một bảng tất cả các BasePart.CanCollide phần đúng có chồng lấp với phần này.
Trả về tốc độ song song của lắp ráp phần ở vị trí đã cho so với phần này.
Trả về true nếu đối tượng được kết nối với một phần sẽ giữ nó ở vị trí (ví dụ một phần Anchored), nếu không trả về false.
Thay đổi kích thước của một đối tượng giống như sử dụng công cụ thay đổi kích thước Studio.
Đặt người chơi được cung cấp làm chủ mạng cho này và tất cả các bộ phận kết nối.
Cho phép động cơ trò chơi quyết định người sẽ xử lý vật lý của phần (một trong những khách hàng hoặc máy chủ).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đối tượng mới IntersectOperation từ hình học chồng lấp của phần và các phần khác trong danh sách được cho.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đoạn mới UnionOperation từ phần, trừ định hình được chiếm bởi các phần trong mảng được cho.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tạo một đoạn mới UnionOperation từ phần, cộng với hình học được chiếm bởi các phần trong mảng đã cho.
Nhận trung tâm của một PVInstance .
Biến đổi PVInstance cùng với tất cả con cháu của nó PVInstances như vậy mà trục trung tâm bây giờ được đặt tại điểm CFrame được chỉ định.
Sự Kiện
Sự Kiện kế thừa từ BasePartBắt lửa khi một phần ngừng chạm vào một phần khác do chuyển động vật lý.
Bắt lửa khi một phần chạm vào phần khác do chuyển động vật lý.
Thuộc Tính
AllowTeamChangeOnTouch
Cho phép một Player tham gia vào đội bằng cách chạm vào SpawnLocation.Khi được đặt thành true, nếu một nhân vật Player vào tiếp xúc với SpawnLocation, nhân vật của người chơi Player.TeamColor sẽ được đặt thành SpawnLocation.TeamColor .Player.Neutral cũng sẽ được đặt thành SpawnLocation.Neutral khi liên hệ, có nghĩa là một người chơi cũng có thể trở nên trung lập bằng cách chạm vào một vị trí đẻ.
Điều này sẽ không hoạt động khi SpawnLocation.Enabled được đặt thành false.
Tạo điểm kiểm tra
Tính năng này thường được sử dụng để tạo các điểm kiểm soát trong các khóa học chướng ngại vật hoặc các trò chơi tương tự.
Mẫu mã
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
Thời gian, bằng giây, mà một ForceField sẽ được áp dụng cho một Player nhân vật xuất hiện tại đây SpawnLocation .Nếu Thời lượng là không, ForceField sẽ không bao giờ được tạo, và nó sẽ không kích hoạt sự kiện Instance.DescendantAdded hoặc Instance.ChildAdded .
Giá trị mặc định của thuộc tính này là 10 giây.
Tính năng thời gian cho phép các nhà phát triển dễ dàng cung cấp Players bảo vệ khỏi 'phát sinh giết' có thể là một trải nghiệm thất vọng đối với người chơi.Lưu ý, ForceFields sẽ chỉ bảo vệ người dùng khỏi Explosions và vũ khí sử dụng Humanoid:TakeDamage() để gây sát thương hoặc kiểm tra khác nhau bằng ForceField .
Mẫu mã
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
Bộ đặt xem có hay không có SpawnLocation bị bật. Khi người chơi bị vô hiệu hóa không thể sinh sản tại SpawnLocation và chức năng SpawnLocation.AllowTeamChangeOnTouch bị vô hiệu hóa.
Tính năng này cung cấp cách thuận tiện nhất để ngăn chặn Players từ spawn xuất hiện tại một spawn.
Lưu ý, mặc dù đội thay đổi khi chạm vào bằng cách sử dụng SpawnLocation.AllowTeamChangeOnTouch bị vô hiệu hóa khi Bật được đặt thành false, các sự kiện chạm khác sử dụng BasePart.Touched vẫn sẽ bắn.
Mẫu mã
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
Liệu có phải một lần spawn có liên quan đến một đội cụ thể hay không.Điều này có nghĩa là bất kỳ Player , của bất kỳ Team , có thể sinh sản trên nó nếu thuộc tính này được đặt thành true.
Nếu Neutral được đặt thành false, chỉ người chơi có Player.TeamColor bằng với SpawnLocation.TeamColor mới có thể sử dụng SpawnLocation .
Nếu SpawnLocation.AllowTeamChangeOnTouch nếu đúng Player.Neutral sẽ được đặt cho tính năng này khi tiếp xúc với spawn.
Mẫu mã
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
Thuộc tính TeamColor đặt ra nhóm mà SpawnLocation được liên kết.Nếu thuộc tính SpawnLocation.Neutral giả mạo, chỉ Players với cùng một Player.TeamColor như màu sắc đội của spawn sẽ có thể sinh sản ở đó.
Nếu SpawnLocation.AllowTeamChangeOnTouch nếu đúng Player.Neutral sẽ được đặt cho tính năng này khi tiếp xúc với spawn.
Mẫu mã
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)