SpawnLocation
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
MiejscePojawienia, lub "spawns" określa, gdzie pojawia się Player po śmierci. Można je skonfigurować, aby umożliwić tylko niektórym graczom używanie każdego respawnu, używając Teams . Kontrolują one również, jak ForceFields są ustawione dla now
LokalizacjeSpawn można używać jako punktów kontrolnych, takich jak w obszarze przeszkód, używając właściwości SpawnLocation.AllowTeamChangeOnTouch, aby ustawić, że gdy gracz dotyka go, zmienia zespoły na zespół SpawnLocation. W tym przypadku pierwszy Team powinien mie
Uwaga, jeśli SpawnLocation zostanie dodany do Workspace w Studio z ustawieniem SpawnLocation.Neutral na fałszywy, zostanie utworzony zespół odpowiadający Class.SpawnLocation.TeamColor</
Generowanie zasad
Istnieje kilka zasad, które wchodzą w grę dla danej lokalizacji wy spawna, gdy gracz respawnuje:
- Gdy SpawnLocation.Neutral jest ustawiony na false tylko Players z Player.TeamColor dopasowanymi 1> Class.SpawnLocation.TeamColor1> będą respawnować nad nim
- Gdy SpawnLocation.Neutral jest ustawiony na prawdę, każdy gracz może go spawneć ponad nim bez względu na SpawnLocation.TeamColor
- Jeśli dostępne jest wiele uprawnionych środków wyboru, Player wybierze losowy
- Gracze pojawiają się na różnych punktach na szczycie SpawnLocation, ale obecnie nadal mogą pojawiać się na szczycie siebie nawzajem, jeśli pojawią się właściwie po jednym i drugim
Zobacz również:
- Jeśli chcesz skonfigurować czas odnowienia gracza, RespawnTime spójrz na właściwość
Przykłady kodu
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)
Podsumowanie
Właściwości
Pozwala Player dołączyć do zespołu poprzez dotknięcie SpawnLocation. Gdy ustawiony na prawdę, jeśli postać Player dotyka się z 2>Class.SpawnLocation2>, kolor 5>Class.Player.TeamColor5> grac
Długość czasu, w sekundach, że ForceField będzie stosowany do postaci Player pojawiającej się na tym SpawnLocation . Jeśli czas trwa jest ustawiony na zero, 1> Class.ForceField nie jest twor
Ustawia, czy SpawnLocation jest włączone lub nie. Gdy nie można grać na SpawnLocation i funkcja Umożliwość zmiany zespołu jest wyłączona.
Czy SpawnLocation jest powiązany z konkretnym zespołem. Oznacza to, że każdy Player , z dowolnego Team, może na nim pojawić się, jeśli ta właściwość jest ustawiona na prawdę.
Ustawia, do którego zespołu jest powiązany SpawnLocation. Jeśli właściwość SpawnLocation.Neutral jest fałszywa, tylko Players z tym samym 2>Class.Player.TeamColor2> co kolor zespołu będzie w stanie wywołać tam.
Zdefiniuj ogólną formę obiektu.
Określa, czy część jest nieprzenośna z punktu widzenia fizyki.
Prędkość kątowa zgromadzenia części.
Centrum masy części w przestrzeni świata.
Liniowa prędkość montażu części.
Całkowita masa zgromadzenia części.
Odniesienie do korzenia części zestawu.
Określa rodzaj powierzchni dla oblicza tylnego części (+Z kierunek).
Określa rodzaj powierzchni dla dolnej strony części (-Y kierunek).
Określa kolor części.
Określa pozycję i orientację BasePart w świecie.
Określa, czy część może uderzyć z innymi częściami.
Określa, czy część jest uważana podczas operacji zapytania przestrzeni.
Określa, czy Touched i TouchEnded wydarzenia w części.
Określa, czy część tworzy cień lub nie.
Opisuje pozycję świata, w której znajduje się centrum masy części.
Opisuje nazwę grupakolizji części.
Określa kolor części.
Wskazuje bieżące właściwości fizyczne części.
Określa kilka fizycznych właściwości części.
Używany do włączenia lub wyłączenia sił aerodynamicznych na częściach i zestawach.
Datatype.CFrame fizycznych składek BasePart .
Fizyczna wielkość BasePart wg fizyki.
Określa rodzaj powierzchni dla Strony Frontowej części (-Z kierunek).
Określa rodzaj powierzchni dla lewej strony części (-X kierunek).
Określa mnożnik dla BasePart.Transparency, który jest widoczny tylko dla lokalnego klienta.
Określa, czy część może być wybrana w Studio.
Opisuje masę części, produkt jego gęstości i objętości.
Określa, czy część przyczynia się do całkowitej masy lub inercji jego elastycznego ciało.
Określa teksturę i domyślną fizyczną właściwość części.
Nazwa MaterialVariant .
Opisuje rotację części w świecie.
Określa przesunięcie pivot części z jej CFrame .
Opisuje pozycję części w świecie.
Czas od ostatniego zapisu aktualizacja.
Określa, jak wiele części odzwierciedla niebo.
Opisuje najmniejszą zmianę w rozmiarze możliwą za pomocą metody zmiany rozmiarów.
Opisuje oblicza, na których można zmniejszyć część.
Określa rodzaj powierzchni dla prawego oblicza części (+X kierunek).
Główna zasada określania głównej części zestawienia.
Rotacja części w stopniach dla trzech osi.
Określa wielkość części (długość, szerokość, wysokość).
Określa rodzaj powierzchni dla oblicza góry części (+Y kierunek).
Określa, ile części można zobaczyć poprzez (przeciwieństwo nieprzezroczystości części).
Metody
Metody odziedziczeni z: BasePartZastosuj impuls kątowy do zgromadzenia.
Zastosuj impuls do zgromadzenia w centrum zgromadzenia.
Zastosuj impuls do zgromadzenia na określonym położeniu.
Zwraca, czy części mogą uderzać ze sobą.
Sprawdza, czy możesz ustawić własność sieci części.
Zwraca tabelę części połączonych z obiektem za pomocą dowolnego rodzaju łączników elastycznych.
Zwróć wszystkie Współczynniki lub ograniczenia, które są powiązane z tym elementem.
Zwraca wartość właściwości Mass.
Zwraca bieżącego gracza, który jest właścicielem sieci w tej części, lub zero w przypadku serwera.
Wróщает prawdę, jeśli silnik gry automatycznie zdecyduje o właścicielu sieci dla tej części.
Zwraca podstawową część zestawu części.
Wywraca tabelę wszystkich BasePart.CanCollide prawdziwych części, które się z tym elementem łączą.
Zwraca liniową prędkość zgromadzenia części w danej pozycji w stosunku do tej części.
Wyświetla prawdę, jeśli obiekt jest połączony z częścią, która go utrzyma w miejscu (na przykład część Anchored), w innym wypadku wyświetla fałszywie.
Zmienia rozmiar obiektu, tak jak używając narzędzia Studio do zmiany rozmiarów.
Ustawia podanego gracza jako właściciela sieci dla tego i wszystkich połączonych części.
Pozwala silnikowi gry dynamicznie zdecydować, kto będzie odpowiadał za fizykę części (jednego z klientów lub serwera).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy IntersectOperation z geometrią wstępującą z części i innych części w podanym maszynie.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Utworzy nowy UnionOperation z części, odejmując geometrię zajętą przez części w podanym maszynie.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Tworzy nowy UnionOperation z części, plus geometrię zajętą przez części w podanym массиве.
Zdobadza pivot Class.PVInstance .
Transformuje PVInstance wraz z wszystkimi jego potomnymi PVInstances, tak aby pivot teraz znajdował się w CFrame .
Zdarzenia
Zdarzenia odziedziczeni z: BasePartWystrzela, gdy część przestaje dotykać innej części w wyniku ruchu fizycznego.
Występuje po dotknięciu części przez inną część w wyniku ruchu fizycznego.
Właściwości
AllowTeamChangeOnTouch
Pozwala Player dołączyć do zespołu poprzez dotknięcie SpawnLocation
Nie będzie to działać, gdy SpawnLocation.Enabled ustawiony na fałszywy.
Tworzenie punktów kontrolnych
Ten funkcjonalny jest często używany do tworzenia punktów kontrolnych w kursach przeszkód lub podobnych grach.
Przykłady kodu
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
Długość czasu, w sekundach, że ForceField będzie stosowany do postaci Player pojawiającej się na tym SpawnLocation . Jeśli czas trwa jest ustawiony na zero, 1> Class.ForceField nie jest twor
Domyślną wartością tego właściwości jest 10 sekund.
Funkcja trwałości umożliwia rozwójom łatwo dać Players ochronę przed "zabicią spawn" która może być frustrujące dla graczy. Uwaga, ForceFields będzie chronić tylko użytkownik
Przykłady kodu
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
Ustawia, czy SpawnLocation jest włączone lub nie. Gdy nie można grać na SpawnLocation i SpawnLocation.AllowTeamChangeOnTouch funkcjonalności jest wyłączona.
Ta właściwość dostarcza najbardziej wygodny sposób zapobiegania Players od powstawania na spawn.
Uwaga, choć zmiana zespołu przy użyciu SpawnLocation.AllowTeamChangeOnTouch jest wyłączona, gdy Ustawiony jest tryb Włączone, inne dotykowe wydarzenia używając BasePart.Touched nadal będą się uruchamiać.
Przykłady kodu
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
Czy to jest spowodowane, czy nie, to znaczy, że każdy Player , z dowolnej Team może się na nim pojawić, jeśli ta właściwość jest ustawiona na prawdę.
Jeśli Neutral jest ustawiony na fałszywy, tylko gracze, którzy mają Player.TeamColor , równe SpawnLocation.TeamColor mogą używać Class.SpawnLocation .
Jeśli SpawnLocation.AllowTeamChangeOnTouch jest prawdziwy, Player.Neutral zostanie ustawiony na tę właściwość po kontakcie z spawn.
Przykłady kodu
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
Właściwość TeamColor ustawia, do którego zespołu należy SpawnLocation. Jeśli właściwość SpawnLocation.Neutral jest fałszywa, tylko Players z tym samym 2>Class.Player.TeamColor2> co kolor zespołu będzie w stanie wygenerować.
Jeśli SpawnLocation.AllowTeamChangeOnTouch jest prawdziwy, Player.Neutral zostanie ustawiony na tę właściwość po kontakcie z spawn.
Przykłady kodu
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)