Localisateur d'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 FriendsLocator développeur module permet aux joueurs de trouver facilement et de se téléporter vers leurs amis à l'intérieur d'un lieu.

Utilisation du module

Installation

Pour utiliser le module FriendsLocator dans une expérience :

  1. Dans le menu Fenêtre de Studio ou la barre d'outils de l'onglet Accueil, ouvrez la Boîte à outils et sélectionnez l'onglet Boutique Créateur.

  2. Assurez-vous que le tri Modèles est sélectionné, puis cliquez sur le bouton Tout voir pour les Catégories.

  3. Localisez et cliquez sur la tuile Packages.

  4. Localisez le module Localisateur d'amis et cliquez dessus, ou faites-le glisser et déposez-le dans la vue 3D.

  5. Dans la fenêtre Explorateur, déplacez tout le modèle FriendsLocator dans ReplicatedStorage. Une fois l'expérience lancée, le module commencera à fonctionner.

Tester dans Studio

Pour tester le module dans Studio, le module FriendsLocator doit être exécuté dans une simulation multi-clients, car aucun ami ne sera présent dans un test de jeu en solo.

  1. Dans StarterPlayerScripts, créez un nouveau LocalScript et renommez-le ConfigureFriendsLocator.

  2. Collez le code suivant dans le nouveau script ConfigureFriendsLocator. Le paramètre showAllPlayers dans la fonction configure garantit que des localisateurs sont affichés pour tous les utilisateurs pendant les tests dans Studio, mais pas dans un lieu publié.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Permet le débogage dans Studio
    })
  3. Dans la mezzanine de Studio, démarrez une simulation multi-clients avec 2 clients. Trois nouvelles instances de Studio s'ouvriront : un serveur simulé et deux clients simulés.

    Option Serveur & Clients dans le menu déroulant des modes de test de la mezzanine de Studio.
  4. Allez dans l'une des instances client de Studio, déplacez-vous à une distance de 100 studs de l'autre personnage, et vous devriez voir une icône de localisateur apparaître au-dessus de sa tête.

Se connecter aux événements

Le module FriendsLocator expose des événements afin que vous puissiez introduire des comportements personnalisés lorsque les utilisateurs interagissent avec une icône de localisateur.

  1. Assurez-vous d'avoir créé le script ConfigureFriendsLocator décrit dans tester dans Studio.

  2. Ajoutez les lignes 8 et 11-13 au script :

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Permet le débogage dans Studio
    teleportToFriend = false, -- Empêche le téléportation sur clic/tap sur l'icône
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Vous avez cliqué sur l'icône de localisateur pour", player.DisplayName)
    end)
  3. Effectuez un test multi-clients et cliquez sur l'icône de localisateur d'un autre personnage. Remarquez que votre personnage ne se téléporte pas à cet endroit, et que l'événement est déclenché pour permettre un traitement personnalisé des clics sur l'icône.

UI de localisateur personnalisée

Si le style par défaut ne convient pas à votre expérience, vous pouvez remplacer l'UI de portrait d'avatar par défaut par votre propre UI.

Pour remplacer l'UI par défaut :

  1. Créez une nouvelle instance ScreenGui à l'intérieur du conteneur StarterGui.

  2. Créez une instance Frame nommée FriendLocator en tant qu'enfant de la nouvelle ScreenGui, puis ajoutez des éléments comme ImageLabels, TextLabels pour concevoir votre UI personnalisée.

  3. Une fois terminé, désactivez la ScreenGui parent afin que le module ne montre pas l'UI de localisateur personnalisée jusqu'à ce qu'elle soit nécessaire.

  4. (Optionnel) Si vous souhaitez que le portrait d'avatar de l'ami et le DisplayName apparaissent quelque part dans l'UI personnalisée, vous pouvez placer les instances suivantes à l'intérieur du cadre FriendLocator.

    Le module recherchera ces éléments et affichera respectivement le portrait d'avatar de l'ami et/ou le nom d'affichage.

Référence API

Fonctions

configure

configure(config: table)

Remplace les options de configuration par défaut via les clés/valeurs suivantes dans le tableau config.

CléDescriptionPar défaut
alwaysOnTopSi true, affiche les icônes de localisateur au-dessus de tout, les empêchant d'être bloquées par des objets 3D.true
showAllPlayersSi true, affiche les emplacements de tous les joueurs, pas seulement des amis ; cela peut aider à vérifier la fonctionnalité du module dans Studio.false
teleportToFriendTéléporte le personnage du joueur à l'emplacement de l'ami lorsque son icône de localisateur est cliquée ou tapée.true
thresholdDistanceSeuil de distance de la caméra auquel les icônes de localisateur apparaissent ; les amis plus proches que cette distance ne montreront pas d'icônes.100
maxLocatorsNombre maximum d'icônes de localisateur affichées à un moment donné.10
LocalScript - ConfigureFriendsLocator

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.configure({
alwaysOnTop = true,
showAllPlayers = false,
teleportToFriend = true,
thresholdDistance = 100,
maxLocators = 10
})

Événements

clicked

Déclenche lorsque l'icône d'un localisateur est cliquée/activée par le joueur local. Cet événement ne peut être connecté que dans un LocalScript.

Paramètres
player: PlayerJoueur auquel l'icône de localisateur appartient.
playerCFrame: CFrameCFrame de la Humanoid.RootPart du joueur auquel l'icône de localisateur appartient.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local Workspace = game:GetService("Workspace")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Demande de streaming autour de l'emplacement cible
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Vous avez cliqué sur l'icône de localisateur pour", player.DisplayName, "à la position", playerCFrame.Position)
end)

visibilityChanged

Déclenche lorsque l'icône d'un localisateur est affichée/cachée sur l'écran du joueur local. Cet événement ne peut être connecté que dans un LocalScript.

Paramètres
player: PlayerObjet Player auquel l'icône de localisateur appartient.
playerCFrame: CFrameCFrame de la Humanoid.RootPart du joueur auquel l'icône de localisateur appartient.
isVisible: booleanIndique si l'icône de localisateur est actuellement visible sur l'écran du joueur local. Notez que cela sera toujours true si alwaysOnTop est false et que le localisateur se rend derrière un objet dans le monde 3D.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Visibilité de l'icône de localisateur pour", player.DisplayName, ":", isVisible)
end)
©2026 Société Roblox. Roblox, le logo Roblox et Powering Imagination font partie de nos marques déposées aux États-Unis et dans d'autres pays.