SpawnLocation

Veraltete anzeigen

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

SpawnLocations, oder "spawns" bestimmen, wo ein Player respawns, wenn sie sterben. Sie können konfiguriert werden, um nur bestimmte Spieler zu erlauben, jeden Respawn zu verwenden, indem sie Teams verwenden. Sie steuern auch, wie ForceFields für neu gespawnte Spieler eingerichtet sind.

SpawnLocations können als Checkpoints verwendet werden, z. B. in einem Hindernis-Kurs, indem die SpawnLocation.AllowTeamChangeOnTouch Eigenschaftenverwendet wird, so dass wenn ein Spieler sie berührt, wird er Teams auf der SpawnLocation-Team ändern. In diesem Fall müssen nur die ersten Team -Sätze Class.Team

Beachten Sie, wenn ein SpawnLocation in Studio mit SpawnLocation.Neutral und SpawnLocation.TeamColor auf false gesetzt wird, dass ein Team erstellt wird, das entspricht 1>Class.SpawnLocation.TeamColor1>, wenn es noch nicht existiert. Dieses Verhalten geschieht nicht,

Regeln spawnen

Es gibt mehrere Regeln, die für einen bestimmten SpawnLocation gelten, wenn ein Spieler respawns:

  • Wenn SpawnLocation.Neutral auf falsch gesetzt ist, nur Players mit Player.TeamColor und der Übereinstimmung von 1> Class.SpawnLocation.TeamColor1> wird über ihm respawnen
  • Wenn SpawnLocation.Neutral auf wahr gesetzt ist, kann jeder Spieler über ihm spawnen, unabhängig von SpawnLocation.TeamColor
  • Wenn mehrere qualifizierte Spawns für einen Player verfügbar sind, wird ein zufälliger ausgewählt
  • Spieler spawnen an verschiedenen Orten auf dem SpawnLocation, aber derzeit können sie immer noch auf dem einen und anderen spawnen, wenn sie richtig nach dem anderen spawnen

Siehe auch:

  • Wenn du möchtest, wie lange es dauert, bis ein Spieler wiederbelebt, schau dir die RespawnTime Eigenschaftenan

Code-Beispiele

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.

SpawnLocation Checkpoints

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)

Zusammenfassung

Eigenschaften

  • Erlaubt einem Player, sich dem Team anzuschließen, indem er den SpawnLocation berührt. Wenn auf wahr gesetzt, wenn ein Player -Charakter in Berührung mit dem 2>Class.SpawnLocation2> kommt, wird die Spieler:in5>Class.Player.TeamColor

  • Parallel lesen

    Die Länge der Zeit, in Sekunden, die ein ForceField angewendet wird zu einem Player -Charakter, der bei diesem SpawnLocation spawnet. Wenn die Dauer null ist, wird das 2>Class.ForceField2> niemals erstellt und es wird nicht die Ereignisse

  • Parallel lesen

    Setzt, ob die SpawnLocation aktiviert ist. Wenn deaktivierte Spieler nicht auf der SpawnLocation spawnen und die Funktion "AllowTeamChangeOnTouch" deaktiviert ist.

  • Parallel lesen

    Ob eine SpawnLocation mit einem bestimmten Team verbunden ist. Dies bedeutet, dass jeder Player , von einem Team , auf ihm spawnen kann, wenn diese Eigenschaft auf wahr gesetzt ist.

  • Parallel lesen

    Setzt, zu welchem Team die SpawnLocation verbunden ist. Wenn die Eigenschaft SpawnLocation.Neutral falsch ist, können nur Players mit der gleichen 1>Class.Player.TeamColor1> wie die Spawn-Teamfarbe dort spawnen.

Eigenschaften von Part übernommenEigenschaften von BasePart übernommenEigenschaften von PVInstance übernommen

Methoden

Methoden von BasePart übernommenMethoden von PVInstance übernommen

Ereignisse

Ereignisse von BasePart übernommen

Eigenschaften

AllowTeamChangeOnTouch

Parallel lesen

Erlaubt einem Player, sich dem Spieler:inanzuschließen, indem er den SpawnLocation ber

Dies wird nicht funktionieren, wenn SpawnLocation.Enabled auf falsch gesetzt ist.

Checkpoints erstellen

Dieser Feature wird oft verwendet, um Checkpoints in Hindernis-Kursen oder ähnlichen Spielen zu erstellen.

Code-Beispiele

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.

SpawnLocation Checkpoints

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

Parallel lesen

Die Länge der Zeit, in Sekunden, die ein ForceField angewendet wird zu einem Player -Charakter, der bei diesem SpawnLocation spawnet. Wenn die Dauer null ist, wird das 2>Class.ForceField2> niemals erstellt und es wird nicht die Ereignisse

Dieser Standardwert dieser Eigenschaft beträgt 10 Sekunden.

Die Dauer-Funktion ermöglicht es Entwicklern, Players leicht vor 'Spawn-Kill' zu schützen, was für Spieler frustrierend sein kann. Beachten Sie, dass ForceFields nur Benutzer vor Class.Explosion|Expl

Code-Beispiele

This sample will create a neutral SpawnLocation in the Workspace that'll give players spawning a ForceField for 20 seconds.

SpawnLocation ForceField

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

Parallel lesen

Setzt, ob die SpawnLocation aktiviert ist oder nicht. Wenn deaktivierte Spieler nicht an der SpawnLocation und der SpawnLocation.AllowTeamChangeOnTouch Funktionalität deaktiviert sind, ist die 1>Class.SpawnLocation.AllowTeamChangeOnTouch1> Funktionalität deaktiviert.

Dieses Eigenschaft bietet den bequemsten Weg, um Players vor dem Spawn zu verhindern.

Beachten Sie, dass Team-Änderungen auf dem Touch mit der SpawnLocation.AllowTeamChangeOnTouch -Team-Änderungen auf dem Touch aktiviert sind, wenn "Aktiviert" auf false gesetzt ist, werden andere berührte Ereignisse mit dem BasePart.Touched -Team-Änderungen auf dem Touch immer noch ausgeführt.

Code-Beispiele

The following sample will create a SpawnLocation in the Workspace that will become semi-transparent when it is disabled.

SpawnLocation Enabled

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

Parallel lesen

Ob ein Spawn mit einem bestimmten Team verbunden ist oder nicht. Dies bedeutet, dass jeder Player , von jedem Team , auf ihm spawnen kann, wenn diese Eigenschaft auf wahr gesetzt ist.

Wenn Neutral auf falsch gesetzt ist, können nur Spieler, cuyo Player.TeamColor gleich ist mit SpawnLocation.TeamColor den SpawnLocation verwenden.

Wenn SpawnLocation.AllowTeamChangeOnTouch wahr ist, wird Player.Neutral auf diese Eigenschaft beim Kontakt mit dem Spawn gesetzt.

Code-Beispiele

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.

SpawnLocation Checkpoints

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

Parallel lesen

Die TeamFarbe-Eigenschaft legt fest, zu welchem Team die SpawnLocation verbunden ist. Wenn die SpawnLocation.Neutral-Eigenschaft falsch ist, können nur Players mit der gleichen 1> Class.Player.TeamColor1> wie die Spawn-TeamFarbe dort spawnen.

Wenn SpawnLocation.AllowTeamChangeOnTouch wahr ist, wird Player.Neutral auf diese Eigenschaft beim Kontakt mit dem Spawn gesetzt.

Code-Beispiele

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.

SpawnLocation Checkpoints

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)

Methoden

Ereignisse