Freundeslokator

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

Es kann eine Herausforderung sein, Freunde während des Erlebnisses zu finden. Das FriendsLocator Entwicklermodul ermöglicht es Spielern, ihre Freunde innerhalb eines Ortes leicht zu finden und zu ihnen zu teleportieren.

Moduld Nutzung

Installation

Um das FriendsLocator-Modul in einem Erlebnis zu verwenden:

  1. Öffnen Sie im Menü Fenster von Studio oder in der Werkzeugleiste des Start-Tabs die Toolbox und wählen Sie den Creator Store-Tab.

  2. Stellen Sie sicher, dass die Sortierung auf Modelle eingestellt ist, und klicken Sie dann auf die Schaltfläche Alle anzeigen für Kategorien.

  3. Suchen Sie die Kachel Pakete und klicken Sie darauf.

  4. Suchen Sie das Freundeslokator-Modul und klicken Sie darauf oder ziehen Sie es per Drag-and-Drop in die 3D-Ansicht.

  5. Verschieben Sie im Explorer-Fenster das gesamte FriendsLocator-Modell in ReplicatedStorage. Beim Ausführen des Erlebnisses beginnt das Modul mit der Ausführung.

Testen in Studio

Um das Modul in Studio zu testen, muss das FriendsLocator-Modul innerhalb einer Multi-Client-Simulation ausgeführt werden, da in einem Einzelspielertest keine Freunde vorhanden sein werden.

  1. Erstellen Sie in StarterPlayerScripts ein neues LocalScript und benennen Sie es in ConfigureFriendsLocator um.

  2. Fügen Sie den folgenden Code in das neue ConfigureFriendsLocator-Skript ein. Die Einstellung showAllPlayers innerhalb der configure-Funktion stellt sicher, dass Lokatoren für alle Benutzer während des Testens in Studio angezeigt werden, jedoch nicht an einem veröffentlichten Ort.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Ermöglicht das Debuggen in Studio
    })
  3. Starten Sie von Studios Mezzanin aus eine Multi-Client-Simulation mit 2 Clients. Es werden drei neue Instanzen von Studio geöffnet; ein simulierter Server und zwei simulierte Clients.

    Server- & Client-Option im Dropdown der Testmodi des Studios.
  4. Gehen Sie in eine der Client-Studio-Instanzen, bewegen Sie sich 100 Studs von der anderen Figur entfernt, und Sie sollten ein Locator-Icon über ihrem Kopf sehen.

Mit Ereignissen verbinden

Das FriendsLocator-Modul stellt Ereignisse bereit, damit Sie benutzerdefinierte Verhaltensweisen einführen können, wenn Benutzer mit einem Locator-Symbol interagieren.

  1. Stellen Sie sicher, dass Sie das im Abschnitt Testen in Studio beschriebene ConfigureFriendsLocator-Skript erstellt haben.

  2. Fügen Sie die Zeilen 8 und 11-13 zum Skript hinzu:

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Ermöglicht das Debuggen in Studio
    teleportToFriend = false, -- Verhindert Teleportation beim Klicken/Tippen auf das Symbol
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Sie haben auf das Locator-Icon für", player.DisplayName, "geklickt")
    end)
  3. Führen Sie einen Multi-Client-Test durch und klicken Sie auf das Locator-Symbol einer anderen Figur. Beachten Sie, dass Ihre Figur nicht an diesen Standort teleportiert wird und das Ereignis ausgelöst wird, um eine benutzerdefinierte Verarbeitung der Symbolklicks zu ermöglichen.

Benutzerdefinierte Locator-UI

Wenn der Standardstil nicht zu Ihrem Erlebnis passt, können Sie die standardmäßige Avatar-Porträt-UI durch Ihre eigene UI ersetzen.

Um die Standard-UI zu ersetzen:

  1. Erstellen Sie eine neue ScreenGui-Instanz im StarterGui-Container.

  2. Erstellen Sie eine Frame-Instanz mit dem Namen FriendLocator als Kind der neuen ScreenGui und fügen Sie Elemente wie ImageLabels und TextLabels hinzu, um Ihre benutzerdefinierte UI zu gestalten.

  3. Deaktivieren Sie, wenn Sie fertig sind, die übergeordnete ScreenGui, damit das Modul die benutzerdefinierte Locator-UI nicht anzeigt, bis sie benötigt wird.

  4. (Optional) Wenn Sie das Avatar-Porträt eines Freundes und den DisplayName irgendwo in der benutzerdefinierten UI anzeigen möchten, können Sie die folgenden Instanzen im FriendLocator-Frame platzieren.

    Das Modul sucht nach diesen Elementen und zeigt das Avatar-Porträt und/oder den Anzeigenamen des Freundes an.

API-Referenz

Funktionen

konfigurieren

configure(config: table)

Überschreibt standardmäßige Konfigurationsoptionen über die folgenden Schlüssel/Werte in der config-Tabelle.

SchlüsselBeschreibungStandard
alwaysOnTopWenn true, werden Locator-Symbole oben auf allem angezeigt, wodurch verhindert wird, dass sie von 3D-Weltobjekten blockiert werden.true
showAllPlayersWenn true, werden Standorte für alle Spieler angezeigt, nicht nur für Freunde; dies kann helfen, die Funktionalität des Moduls in Studio zu überprüfen.false
teleportToFriendTeleportiert die Spielerfigur an den Standort des Freundes, wenn ihr Locator-Symbol angeklickt oder angetippt wird.true
thresholdDistanceSchwellenwert für die Kameraentfernung, bei der Locator-Symbole erscheinen; Freunde, die näher als diese Entfernung sind, zeigen keine Symbole an.100
maxLocatorsMaximale Anzahl von Locator-Symbolen, die jederzeit angezeigt werden.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
})

Ereignisse

geklickt

Fired, wenn ein Locator-Symbol vom lokalen Spieler angeklickt/aktiviert wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Parameter
player: PlayerSpieler, dem das Locator-Symbol gehört.
playerCFrame: CFrameCFrame des Humanoid.RootPart des Spielers, dem das Locator-Symbol gehört.
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)
-- Streaming um den Zielstandort anfordern
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Sie haben auf das Locator-Icon für", player.DisplayName, "an der Position", playerCFrame.Position, "geklickt")
end)

sichtbarkeitChanged

Fired, wenn ein Locator-Symbol auf dem Bildschirm des lokalen Spielers angezeigt/versteckt wird. Dieses Ereignis kann nur in einem LocalScript verbunden werden.

Parameter
player: PlayerPlayer-Objekt, dem das Locator-Symbol gehört.
playerCFrame: CFrameCFrame des Humanoid.RootPart des Spielers, dem das Locator-Symbol gehört.
isVisible: booleanOb das Locator-Symbol derzeit auf dem Bildschirm des lokalen Spielers sichtbar ist. Beachten Sie, dass dies immer noch true sein wird, wenn alwaysOnTop false ist und der Locator hinter einem Objekt in der 3D-Welt gerendert wird.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Sichtbarkeit des Locator-Symbols für", player.DisplayName, ":", isVisible)
end)
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.