Apparaître avec des amis

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

Il peut être difficile de localiser des amis dans l'expérience.Le module développeur SpawnWithFriends déplace automatiquement la génération de joueurs près d'un de leurs amis présents dans l'expérience.Ce module peut également être configuré pour téléporter un joueur à la commande au lieu de le faire automatiquement.

Utilisation du module

Étabissement

Pour utiliser le module SpawnWithFriends dans une expérience :

  1. De l'onglet Affichage, ouvrez la boîte à outils et sélectionnez l'onglet boutique des créateurs .

    Toolbox toggle button in Studio
  2. Assurez-vous que le tri des modèles est sélectionné, puis cliquez sur le bouton Voir tout pour les catégories .

  3. Localisez et cliquez sur la case modules de développement .

  4. Localisez le module Spawn With Friends et cliquez dessus, ou glissez-déposez-le dans la voir3D.

  5. Dans la fenêtre Explorateur, déplacez l'ensemble du modèle SpawnWithFriends dans ServerScriptService .Une fois l'expérience exécutée, le module se distribuera à différents services et commencera à fonctionner.

Zones de fraie restreintes

Ce module peut entraîner la génération de joueurs dans des zones restreintes comme des salles VIP, des espaces d'accès uniquement, etc.Pour empêcher les joueurs de se téléporter dans ces zones :

  1. Remplissez la zone restreinte avec des blocs invisibles Anchored .Assurez-vous que CanCollide , CanTouch et CanQuery sont désactivés pour tous les blocs.

    Bloquer le remplissage de toute la salle de la prison pour empêcher les joueurs de se générer à l'intérieur
  2. En utilisant la section balises des propriétés de chaque bloc ou l'éditeur de balises de Studio, appliquez la balise afin que détecte-les.

  3. Collez le code suivant dans un Script à l'intérieur de ServerScriptService .

    Scénario

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Itérer à travers toutes les parties marquées
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- La destination d'apparition se trouve dans une zone restreinte ; annuler la téléportation
    end
    end
    return true -- La destination d'apparition ne se chevauche pas sur une zone restreinte ; procédez à la téléportation
    end
    SpawnWithFriends.setTeleportationValidator(validator)

Référence API

Fonctions

configurer

configurer(config: table )

Remplacements des options de configuration par défaut via les clés/ valeurs suivantes dans la table config .Cette fonction ne peut être appelée qu'à partir d'un Script .

CléAvertissementPar défaut
teleportToFriendOnRespawnSi elle est définie à false, la téléportation à un ami se fera uniquement manuellement via téléporter à un ami aléatoire.vrai
teleportDistanceÀ quelle distance les joueurs devraient apparaître l'un de l'autre, mesuré en studs.5
maxCharacterVelocityLes personnages se déplaçant plus rapidement que cette valeur ne seront pas sélectionnés comme candidats à la téléportation, par exemple ceux se déplaçant dans des véhicules en mouvement.48
bypassFriendshipCheckSi la valeur est définie sur vrai, tous les joueurs seront des candidats à la téléportation, pas seulement des amis.faux
showLogsSi oui ou non afficher des messages d'erreur dans la sortie.faux
Scénario

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
SpawnWithFriends.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})

téléporter à un ami aléatoire

teleportToRandomFriend(playerToTeleport: Player ): boolean

Active manuellement la téléportation d'un joueur vers l'un de ses amis dans l'expérience.Renvoie un booléen indiquant si la téléportation a réussi ou non ; l'échec de la téléportation peut être causé par l'absence d'amis sur le serveur ou l'impossibilité de trouver un point de téléportation non obstrué.Cette fonction ne peut être appelée qu'à partir d'un Script .

définir TeleportationValidator

setTeleportationValidator( validateur : function )

Vous permet d'effectuer des vérifications de pré-téléportation personnalisées en connectant une fonction de rappel de validateur valide. Le rappel reçoit trois paramètres :

ParamètreAvertissement
playerToTeleportRéférence à la Player qui est téléportée.
destinationPlayerRéférence à la cible Player à laquelle playerToTeleport est téléporté.
teleportationPointCFrameplayerToTeleport est en train de se téléporter.

Cette fonction et son rappel ne peuvent être utilisés que dans un Script et le rappel renvoie un booléen indiquant si la téléportation doit se poursuivre.Par exemple, la logique return dans la fonction de validateur suivante garantit que le joueur de génération et le joueur de destination sont dans la même équipe.

Scénario

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Téléporte les joueurs seulement s'ils sont dans la même équipe
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)