SpawnLocation

Afficher les obsolètes

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Les lieux d'apparition, ou «spawns», déterminent l'endroit où un Player réapparaît lorsqu'il meurt. Ils peuvent être configurés pour permettre à certains joueurs d'utiliser chaque lieu d'apparition, en utilisant Teams. Ils contrôlent également la façon dont les ForceFields sont configurés pour les nouveaux joueurs.

Les emplacements d'apparition peuvent être utilisés comme points de contrôle, tels qu'un parcours d'obstacles, en utilisant la propriété SpawnLocation.AllowTeamChangeOnTouch, afin que lorsqu'un joueur le touche, il changera d'équipe pour l'équipe de SpawnLocation. Dans ce cas, seuls les premiers Team doivent avoir Class

Notez que si un SpawnLocation est ajouté au Workspace dans Studio avec SpawnLocation.Neutral défini sur false une équipe sera créée correspondant à SpawnLocation.TeamColor si elle n'existe pas déjà. Ce comportement ne

Règles de génération

Il y a plusieurs règles qui entrent en jeu pour un lieu de fraie donné lorsqu'un joueur réapparaît :

  • Lorsque SpawnLocation.Neutral est réglé sur false only Players avec Player.TeamColor correspondant à 1> Class.SpawnLocation.TeamColor1> sera respawn above it
  • Lorsque SpawnLocation.Neutral est réglé sur vrai, n'importe quel joueur peut apparaître au-dessus de lui, peu importe SpawnLocation.TeamColor
  • Si plusieurs lieux éligibles sont disponibles pour un Player, un lieu aléatoire sera choisi
  • Les joueurs apparaîtront à différents endroits au-dessus d'un SpawnLocation, mais actuellement, ils peuvent toujours apparaître au-dessus l'un de l'autre s'ils apparaissent juste après l'autre

Voir aussi :

  • Si vous souhaitez configurer le temps qu'il faut pour qu'un joueur réapparaisse, regardez la propriété RespawnTime

Échantillons de code

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)

Résumé

Propriétés

  • Lecture parallèle

    Permet à un Player de rejoindre l'équipe en touchant le SpawnLocation. Lorsqu'il est réglé sur vrai, si un Player personnage entre en contact avec le 2>Class.SpawnLocation2>, le joueur's 5>Class.Player.TeamColor5> sera réglé sur <

  • Lecture parallèle

    La durée de temps, en secondes, que ForceField sera appliqué à un personnage Player générant à cet endroit SpawnLocation. Si la durée est nulle, la 1> Class.ForceField1> n'est jamais créée et ne déclenche pas

  • Lecture parallèle

    Définit si oui ou non la SpawnLocation est activée. Lorsqu'il n'est pas possible pour les joueurs désactivés de générer dans la SpawnLocation et que la fonctionnalité Autoriser le changement d'équipe lors du toucher est désactivée.

  • Lecture parallèle

    Que oui ou non un SpawnLocation est associé à une équipe spécifique. Cela signifie que tout Player , de tout Team, peut y être généré si cette propriété est réglée sur vrai.

  • Lecture parallèle

    Définit l'équipe à laquelle le SpawnLocation appartient. Si la propriété SpawnLocation.Neutral est fausse, seuls Players avec la même 1> Class.Player.TeamColor1> que le régénération, apparition's TeamColor pourront s'y générer.

Propriétés hérités de PartPropriétés hérités de BasePart
  • Lecture parallèle

    Détermine si une partie est immovable physiquement.

  • Non répliqué
    Lecture parallèle

    La vitesse angulaire de l'assemblage de la pièce.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Le centre de masse de l'assemblage de la partie dans l'espace mondial.

  • Non répliqué
    Lecture parallèle

    La vélocité linéaire de l'assemblage de la pièce.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    La masse totale de l'assemblage de la partie.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Une référence à la partie racine de l'assemblage.

  • Lecture parallèle

    Détermine le type de surface pour le dos d'une pièce (+Z direction).

  • Détermine le type de surface pour le visage inférieur d'une partie (-Y direction).

  • Non répliqué
    Lecture parallèle

    Détermine la couleur d'une partie.

  • Lecture parallèle

    Détermine la position et l'orientation de la BasePart dans le monde.

  • Lecture parallèle

    Détermine si une partie peut se heurter à d'autres parties.

  • Lecture parallèle

    Détermine si la partie est envisagée pendant les opérations de requête spatiale.

  • Lecture parallèle

    Détermine si les événements Touched et TouchEnded se déclenchent sur la partie.

  • Lecture parallèle

    Détermine si oui ou non une partie lance une ombre.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Décrivez la position dans le monde dans laquelle se trouve le centre de masse d'une partie.

  • Non répliqué
    Lecture parallèle

    Décrivez le nom d'un groupe de collision de pièce.

  • Non répliqué
    Lecture parallèle

    Détermine la couleur d'une partie.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Indique les propriétés physiques actuelles de la partie.

  • Détermine plusieurs propriétés physiques d'une partie.

  • Lecture parallèle

    Utilisé pour activer ou désactiver les forces aéroynamiques sur les parties et les assemblages.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Le CFrame des parties physiques de la BasePart .

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    La taille physique réelle de la BasePart comme indiqué par le moteur de physique.

  • Lecture parallèle

    Détermine le type de surface pour la face avant d'une pièce (-Z direction).

  • Lecture parallèle

    Détermine le type de surface pour le visage gauche d'une pièce (-X direction).

  • Caché
    Non répliqué
    Lecture parallèle

    Détermine un multiplicateur pour BasePart.Transparency qui n'est visible que pour le client local.

  • Lecture parallèle

    Détermine si une partie peut être sélectionnée dans Studio.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Décrivez la masse de la pièce, le produit de sa densité et de son volume.

  • Lecture parallèle

    Détermine si la partie contribue à la masse totale ou à l'inertie de son corps rigide.

  • Lecture parallèle

    Détermine la texture et les propriétés physiques par défaut d'une pièce.

  • Non répliqué
    Lecture parallèle

    Le nom de MaterialVariant .

  • Caché
    Non répliqué
    Lecture parallèle

    Décrivez la rotation de la pièce dans le monde.

  • Lecture parallèle

    Spécifie l'Offset de la pivot de la partie de son CFrame.

  • Caché
    Non répliqué
    Lecture parallèle

    Décrivez la position de la partie dans le monde.

  • Caché
    Lecture uniquement
    Non répliqué
    Lecture parallèle

    Temps depuis la dernière mise à jour de la physique.

  • Lecture parallèle

    Détermine la quantité de lumière reflétée par une pièce.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Décrivez la plus petite modification de taille autorisée par la méthode Redimensionner.

  • Lecture uniquement
    Non répliqué
    Lecture parallèle

    Décrivez les visages sur lesquels une partie peut être redimensionnée.

  • Lecture parallèle

    Détermine le type de surface pour le côté droit d'une pièce (+X direction).

  • Lecture parallèle

    La règle principale dans le détermination de la partie racine d'une assemblage.

  • Non répliqué
    Lecture parallèle

    La rotation de la pièce en degrés pour les trois axes.

  • Non répliqué
    Lecture parallèle

    Détermine les dimensions d'une partie (Longueur, largeur, hauteur).

  • Lecture parallèle

    Détermine le type de surface pour la face supérieure d'une pièce (+ Y direction).

  • Lecture parallèle

    Détermine la quantité de partie qui peut être vue à travers (l'inverse de l'opacité de la partie).

Propriétés hérités de PVInstance

Méthodes

Méthodes hérités de BasePartMéthodes hérités de PVInstance

Évènements

Évènements hérités de BasePart

Propriétés

AllowTeamChangeOnTouch

Lecture parallèle

Permet à un Player de rejoindre l'équipe en touchant le SpawnLocation . Lorsqu'il

Cela ne fonctionnera pas lorsque SpawnLocation.Enabled est réglé sur false.

Faire des points de contrôle

Cette fonction est souvent utilisée pour créer des points de contrôle dans les courses d'obstacles ou similaires.

Échantillons de code

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

Lecture parallèle

La durée de temps, en secondes, que ForceField sera appliqué à un personnage Player générant à cet endroit SpawnLocation. Si la durée est nulle, la 1> Class.ForceField1> n'est jamais créée et ne déclenche pas

Cette valeur par défaut de cette propriété est de 10 secondes.

La fonctionnalité de durée permet aux développeurs de donner facilement une protection à Players de protection contre le «spawn killing» qui peut être une expérience frustrante pour les joueurs. Notez, ForceFields ne protégera que les utilisateurs contre le «spawn killing» et les arm

Échantillons de code

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

Lecture parallèle

Définit si oui ou non la SpawnLocation est activée. Lorsqu'il n'est pas possible que les joueurs apparaissent à la SpawnLocation et que la fonctionnalité SpawnLocation.AllowTeamChangeOnTouch est désactivée.

Cette propriété fournit la façon la plus pratique de empêcher Players de se produire lors d'un régénération, apparition.

Remarquez, bien que le changement d'équipe lors d'un toucher en utilisant SpawnLocation.AllowTeamChangeOnTouch soit désactivé lorsque Enabled est réglé sur false, les autres événements touchés en utilisant BasePart.Touched ne s'exécuteront toujours lancer.

Échantillons de code

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

Lecture parallèle

Que ou non un spawn soit associé à une équipe spécifique. Cela signifie que n'importe lequel Player , de n'importe lequel Team , peut le faire sur lui si cette propriété est réglée sur vrai.

Si Neutre est réglé sur faux, seuls les joueurs dont le Player.TeamColor est égal à SpawnLocation.TeamColor peuvent utiliser le SpawnLocation.

Si SpawnLocation.AllowTeamChangeOnTouch est vrai, Player.Neutral sera défini sur cette propriété au contact avec le régénération, apparition.

Échantillons de code

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

Lecture parallèle

La propriété TeamColor détermine à quelle équipe le SpawnLocation appartient. Si la propriété SpawnLocation.Neutral est fausse, seuls Players avec la même 1> Class.Player.TeamColor1> que le régénération, apparition's TeamColor pourront y apparaître.

Si SpawnLocation.AllowTeamChangeOnTouch est vrai, Player.Neutral sera défini sur cette propriété au contact avec le régénération, apparition.

Échantillons de code

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)

Méthodes

Évènements