SpawnLocation
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
SpawnLocations veya "doğar" bir Player yeniden doğduğunda nerede yeniden doğacağını belirler.Sadece belirli oyuncuların her doğumu kullanmasına izin vermek için yapılandırılabilirler, bunu da Teams kullanarak.Ayrıca, yeni oluşturulan oyuncular için nasıl ForceFields kurulduğunu da kontrol ederler.
SpawnLocations, bir engel parkurunda olduğu gibi, SpawnLocation.AllowTeamChangeOnTouch özelliğini kullanarak kontrol noktaları olarak kullanılabilir, böylece bir oyuncu dokunduğunda takımları SpawnLocation takımına değiştirecektir.Bu durumda, yalnızca ilk sadece doğru ayarlanmalıdır, aksi takdirde oyuncular ilk kontrol noktasında başlamayacaktır.
Bir SpawnLocation, Workspace stüdyoda SpawnLocation.Neutral false olarak ayarlanmışsa bir Takım, var olmadığı takdirde SpawnLocation.TeamColor eşdeğer olarak oluşturulacaktır, eğer zaten varsa.Bu davranış, oyun içinde bir Script kullanarak oluşturmalar yapıldığında veya SpawnLocation özellikleri zaten eklenmişken özellikleri değiştirildiğinde meydana gelmez.Geliştiricilerin daima ekiblerini manuel olarak ayarlamaları ve bu davranışa güvenmeleri önerilmez.
Kural Oluşturma
Bir oyuncu yeniden doğduğunda devreye giren birkaç kural vardır: verilen bir SpawnLocation için:
- When SpawnLocation.Neutral false olarak ayarlanırsa yalnızca Players ile eşleşen Player.TeamColor ile SpawnLocation.TeamColor yeniden doğacak
- When SpawnLocation.Neutral true olarak ayarlanırsa, herhangi bir Oyuncu SpawnLocation.TeamColor bağımsız olarak üzerinde doğabilir
- Eğer çok sayıda elverişli oluşturma mevcutsa Player , rastgele bir tane seçilecektir
- Oyuncular bir SpawnLocation'un üzerinde farklı noktalarda ortaya çıkacak, ancak şu anda birbirinin üzerinde hala doğabilirler, eğer birbirinden hemen sonra doğarlarsa
Ayrıca bakın:
- Bir oyuncunun yeniden doğması için ne kadar süre gerektiğini yapılandırmak istiyorsanız, RespawnTime özelliğine bir göz atın
Kod Örnekleri
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)
Özet
Özellikler
Bir ekibe katılmak için Player 'ye dokunarak SpawnLocation 'ye katılmasına izin verir.Doğru ayarlanırsa, bir Player karakteri ile SpawnLocation 'ye temas ederse, oyuncunun Player.TeamColor 'u SpawnLocation.TeamColor olarak ayarlanacaktır.
Bir ForceField 'nin bu Player 'de oluşturulan bir SpawnLocation karaktere uygulanacağı süre, saniyeler içinde.Eğer Süre sıfırsa, ForceField hiç oluşturulmaz ve Instance.DescendantAdded veya Instance.ChildAdded olaylarını tetiklemez.
SpawnLocation 'nin etkin olup olmadığını ayarlar.Devre dışı bırakılan oyuncular SpawnLocation ve AllowTeamChangeOnTouch işlevi devre dışı olduğunda oluşturulamaz.
Bir SpawnLocation belirli bir ekibe bağlı olup olmadığı.Bu, herhangi bir Player 'in, herhangi bir Team 'in üzerinde ortaya çıkabileceği anlamına gelir, bu özellik doğru olarak ayarlanırsa.
Hangi takıma SpawnLocation bağlı olduğunu ayarlar.Eğer SpawnLocation.Neutral özelliği yanlışsa, yalnızca Players ile aynı Player.TeamColor spawn'un TakımRenk'i orada oluşturulabilecektir.
Nesnenin genel şeklini ayarlar.
Bir parçanın fiziğe göre hareketsiz olup olmadığını belirler.
Parçanın montajındaki açısal hız.
Dünya uzayındaki parçanın montajının kütle merkezi.
Parçanın montajının lineer hızı.
Parçanın montajının toplam masesi.
Montajın kök kısmına bir referans.
Bir parçanın arka yüzü için yüzey türünü belirler (+Z yönü).
Bir parçanın alt yüzü için yüzey türünü belirler (-Y yönü).
Bir parçanın rengini belirler.
Dünyadaki BasePart konumunu ve yönünü belirler.
Bir parçanın diğer parçalarla çarpışıp çarpışmayacağını belirler.
Parçanın uzay sorgu operasyonları sırasında dikkate alınıp alınmadığını belirler.
Touched ve TouchEnded olaylarının parçada ateşlenip ateşlenmediğini belirler.
Bir parçanın gölge atıp atmadığını belirler.
Bir parçanın kütle merkezinin bulunduğu dünya konumunu tanımlar.
Bir parçanın çarpışma grupadını tanımlar.
Bir parçanın rengini belirler.
Parçanın mevcut fiziksel özelliklerini gösterir.
Bir parçanın birkaç fiziksel özelliğini belirler.
Parçalar ve montajlar üzerinde hava dinamik güçlerini etkinleştirmek veya devre dışı bırakmak için kullanılır.
Fizik motoru tarafından ele alınan BasePart 'nin gerçek fiziksel boyutu.
Bir parçanın ön yüzü için yüzey türünü belirler (-Z yönü).
Bir parçanın sol yüzünün yüzey türünü belirler (-X yönü).
Yerel müşteriye yalnızca görünen bir çarpanı BasePart.Transparency belirler, ki bu sadece yerel müşteridir.
Bir parçanın Studio'da seçilebilir olup olmadığını belirler.
Parçanın kütlesini, yoğunluğunun ve hacminin ürününü tanımlar.
Parçanın sert vücuttoplam kütlesine veya süspansiyonuna katkıda bulunup bulunmadığını belirler.
Bir parçanın dokusunu ve varsayılan fiziksel özelliklerini belirler.
MaterialVariant adı.
Dünyadaki parçanın dönüşünü tanımlar.
Parçanın merkezinin CFrame 'sinden ayrılma ofsetini belirtir.
Parçanın dünyadaki konumunu tanımlar.
Son kaydedilen fizik güncellemesinden beri geçen süre.
Bir parçanın gökyüzünü ne kadar yansıttığını belirler.
Yeniden boyutlandırma yöntemi tarafından kabul edilen en küçük boyut değişikliğini tanımlar.
Bir parçanın yeniden boyutlandırılabileceği yüzleri tanımlar.
Bir parçanın Sağ yüzünün yüzey türünü belirler (+X yönü).
Bir montajın kök parçasını belirlemenin ana kuralı.
Üç eksen için parçanın derecelerinde dönmesi.
Bir parçanın boyutlarını belirler (uzunluk, genişlik, yükseklik).
Bir parçanın üst yüzünün türünü belirler (+Y yönü).
Bir parçanın ne kadar görülebildiğini belirler (parça saydamlığının tersi).
Yöntemler
Şuradan alınan Yöntemler: BasePartMontaja bir açısal hız uygulayın.
Montajın center of mass 'sinde montaja bir tepki uygulayın.
Belirtilen pozisyonda montaja bir tepki uygulayın.
Parçaların birbiriyle çarpıp çarpıp olmadığını döndürür.
Bir parçanın ağ sahipliğini ayarlayabileceğinizi kontrol eder.
Objeye herhangi bir sert bağlantı ile bağlı bir parça tablosu döndürür.
Bu Parçaya bağlı olan tüm Eklemleri veya Kısıtları geri döndür.
Mass özelliğinin değerini döndürür.
Bu parçanın ağ sahibi olan mevcut oyuncuyu veya nil sunucu durumunda döndürür.
Oyun motoru bu parça için ağ sahibini otomatik olarak karar verirse gerçek döndürür.
Bir parça grubunun temel parçasını döndürür.
Bu parçayla kesişen tüm BasePart.CanCollide gerçek parçaların bir tablosunu döndürür.
Bu parçanın montajının verilen konuma göre lineer hızını döndürür.
Nesne bir yerde tutacak bir parçaya bağlıysa gerçek döndürür (örneğin bir Anchored parçası), aksi takdirde yalan döndürür.
Bir nesnenin boyutunu, Studio yeniden boyutlandırma aracını kullanarak gibi değiştirir.
Verdiğiniz oyuncuyu bu ve tüm bağlı parçalar için ağ sahibi olarak ayarlar.
Oyun motorunun dinamik olarak kimin parçanın fiziğini ele alacağına karar vermesine izin verin (müşterilerden biri veya sunucu).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçanın ve verilen dizedeki diğer parçaların örtüşen geometrisinden yeni bir IntersectOperation oluşturur.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçadan yeni bir UnionOperation oluşturur, verilen matristeki parçaların geometrisinden eksilerek.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Parçadan yeni bir UnionOperation ve verilen matristeki parçalar tarafından işgal edilen geometri oluşturur.
Bir PVInstance 'nin merkezini alır.
Dönüştürür PVInstance tüm altındaki PVInstances ile birlikte pivotun şimdi belirtilen CFrame 'de yer aldığını, böylece dönüşüm aşağıdaki gibi gerçekleşir:
Etkinlikler
Şuradan alınan Etkinlikler: BasePartBir parça, fiziksel hareketin sonucu olarak başka bir parçaya dokunmayı bıraktığında ateş eder.
Bir parça fiziksel hareketin sonucu olarak başka bir parçaya dokunduğunda ateş eder.
Özellikler
AllowTeamChangeOnTouch
Bir ekibe katılmak için Player 'ye dokunarak SpawnLocation 'ye katılmasına izin verir.Doğru ayarlanırsa, bir Player karakteri ile SpawnLocation 'ye temas ederse, oyuncunun Player.TeamColor 'u SpawnLocation.TeamColor olarak ayarlanacaktır.Player.Neutral iletişim sırasında ayrıca SpawnLocation.Neutral olarak ayarlanacak, yani bir oyuncu bir oluşturma konumuna dokunarak da tarafsız olabilir.
Bu, SpawnLocation.Enabled false olarak ayarlanırsa işlemez.
Kontrol noktaları oluşturma
Bu özellik genellikle engel parkurlarında veya benzer oyunlarda kontrol noktaları oluşturmak için kullanılır.
Kod Örnekleri
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
Bir ForceField 'nin bu Player 'de oluşturulan bir SpawnLocation karaktere uygulanacağı süre, saniyeler içinde.Eğer Süre sıfırsa, ForceField hiç oluşturulmaz ve Instance.DescendantAdded veya Instance.ChildAdded olaylarını tetiklemez.
Bu özelliğin varsayılan değeri 10 saniyedir.
Süre özelliği, geliştiricilerin oyuncular için sinir bozucu bir deneyim olabilen 'doğum öldürmesinden' kolayca korunmasını sağlar Players.Not, yalnızca kullanıcıları 'dan ve hasar vermek veya başka bir şekilde kontrol etmek için kullanan silahlardan koruyacaktır.
Kod Örnekleri
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 ın etkin olup olmadığını ayarlar. Devre dışı bırakılan oyuncular SpawnLocation 'de oluşturamaz ve SpawnLocation.AllowTeamChangeOnTouch işlevselliği devre dışı kalır.
Bu özellik, Players 'nin bir oluşumda ortaya çıkmasını engellemenin en uygun yolunu sağlar
Not, dokunarak değiştirilen takım SpawnLocation.AllowTeamChangeOnTouch kullanılarak kapatılsa da, BasePart.Touched kullanılan diğer dokunulan etkinlikler hala ateşlenecektir.
Kod Örnekleri
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
Bir oluşturmanın belirli bir ekibe bağlı olup olmadığı.Bu, herhangi bir Player 'in, herhangi bir Team 'in üzerinde ortaya çıkabileceği anlamına gelir, bu özellik doğru olarak ayarlanırsa.
Doğal'ın yanlış olarak ayarlanması durumunda, yalnızca 'in eşit olduğu oyuncular 'i kullanabilir.
Eğer SpawnLocation.AllowTeamChangeOnTouch doğruysa, Player.Neutral doğum ile temas edildiğinde bu özellik ile ayarlanacaktır.
Kod Örnekleri
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
TakımRenk özelliği, SpawnLocation takımın hangi takıma bağlı olduğunu ayarlar.Eğer SpawnLocation.Neutral özelliği yanlışsa, yalnızca Players ile aynı Player.TeamColor spawn'un TakımRenk'i orada oluşturulabilecektir.
Eğer SpawnLocation.AllowTeamChangeOnTouch doğruysa, Player.Neutral doğum ile temas edildiğinde bu özellik ile ayarlanacaktır.
Kod Örnekleri
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)