Localizzatore Amici

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Può essere difficile localizzare gli amici all'interno dell'esperienza. Il FriendsLocator modulo per sviluppatori consente ai giocatori di trovare facilmente e teleportare ai loro amici all'interno di un luogo.

Utilizzo del modulo

Installazione

Per utilizzare il modulo FriendsLocator in un'esperienza:

  1. Dal menu Finestra di Studio o dalla barra degli strumenti della scheda Home, apri il Toolbox e seleziona la scheda Creator Store.

  2. Assicurati che sia selezionato l'ordinamento Modelli, quindi fai clic sul pulsante Vedi Tutti per le Categorie.

  3. Individua e fai clic sulla tile Pacchetti.

  4. Individua il modulo Localizzatore Amici e fai clic su di esso, oppure trascinalo nella vista 3D.

  5. Nella finestra Esplora, sposta l'intero modello FriendsLocator in ReplicatedStorage. Una volta avviata l'esperienza, il modulo inizierà a funzionare.

Test in Studio

Per testare il modulo in Studio, il modulo FriendsLocator deve essere eseguito in una simulazione multi-client, poiché non ci saranno amici in un test di gioco in solitario.

  1. In StarterPlayerScripts, crea un nuovo LocalScript e rinominalo ConfigureFriendsLocator.

  2. Incolla il seguente codice nel nuovo script ConfigureFriendsLocator. L'impostazione showAllPlayers all'interno della configurazione garantisce che i localizzatori siano mostrati per tutti gli utenti mentre si testa in Studio, ma non in un luogo pubblicato.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Consente il debug in Studio
    })
  3. Dalla mezzanina di Studio, avvia una simulazione multi-client con 2 client. Si apriranno tre nuove istanze di Studio; un server simulato e due client simulati.

    Opzione Server & Client nel menu a discesa delle modalità di test della mezzanina di Studio.
  4. Vai in una delle istanze client di Studio, spostati a una distanza di 100 stud dall'altro personaggio e dovresti vedere un icona del localizzatore apparire sopra la sua testa.

Collegamento agli eventi

Il modulo FriendsLocator espone eventi in modo da poter introdurre comportamenti personalizzati quando gli utenti interagiscono con un'icona del localizzatore.

  1. Assicurati di aver creato lo script ConfigureFriendsLocator descritto in test in Studio.

  2. Aggiungi le righe 8 e 11-13 allo script:

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Consente il debug in Studio
    teleportToFriend = false, -- Impedisce il teletrasporto al clic/tocco sull'icona
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Hai cliccato sull'icona del localizzatore per", player.DisplayName)
    end)
  3. Esegui un test multi-client e fai clic sull'icona del localizzatore di un altro personaggio. Nota che il tuo personaggio non si teletrasporta a quella posizione e l'evento si attiva per consentire la gestione personalizzata dei clic sull'icona.

UI del localizzatore personalizzata

Se lo stile predefinito non si adatta alla tua esperienza, puoi sostituire l'interfaccia utente dell'immagine dell'avatar predefinita con la tua UI.

Per sostituire l'interfaccia utente predefinita:

  1. Crea una nuova istanza ScreenGui all'interno del contenitore StarterGui.

  2. Crea un'istanza Frame chiamata FriendLocator come figlio della nuova ScreenGui, quindi aggiungi elementi come ImageLabels, TextLabels per progettare la tua interfaccia utente personalizzata.

  3. Quando hai finito, disabilita la ScreenGui genitore in modo che il modulo non mostri l'interfaccia utente del localizzatore personalizzata fino a quando non è necessario.

  4. (Opzionale) Se desideri che l'immagine del ritratto dell'avatar dell'amico e DisplayName vengano visualizzati in qualche punto nell'interfaccia utente personalizzata, puoi collocare le seguenti istanze all'interno del frame FriendLocator.

    Il modulo cercherà questi elementi e mostrerà il ritratto dell'avatar dell'amico e/o il nome visualizzato rispettivamente.

Riferimento API

Funzioni

configure

configure(config: table)

Sovrascrive le opzioni di configurazione predefinite attraverso le seguenti chiavi/valori nella tabella config.

ChiaveDescrizionePredefinito
alwaysOnTopSe true, mostra le icone dei localizzatori sopra a tutto, impedendo che vengano bloccate da oggetti del mondo 3D.true
showAllPlayersSe true, mostra le posizioni per tutti i giocatori, non solo gli amici; questo può aiutare a verificare la funzionalità del modulo in Studio.false
teleportToFriendTeletrasporta il personaggio del giocatore nella posizione dell'amico quando l'icona del localizzatore viene cliccata o toccata.true
thresholdDistanceSoglia di distanza della telecamera alla quale appaiono le icone dei localizzatori; gli amici più vicini di questa distanza non visualizzeranno icone.100
maxLocatorsNumero massimo di icone dei localizzatori mostrate in un dato momento.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
})

Eventi

clicked

Si attiva quando un'icona del localizzatore viene cliccata/attivata dal giocatore locale. Questo evento può essere connesso solo in un LocalScript.

Parametri
player: PlayerGiocatore a cui appartiene l'icona del localizzatore.
playerCFrame: CFrameCFrame della Humanoid.RootPart del giocatore a cui appartiene l'icona del localizzatore.
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)
-- Richiedi streaming attorno alla posizione target
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Hai cliccato sull'icona del localizzatore per", player.DisplayName, "alla posizione", playerCFrame.Position)
end)

visibilityChanged

Si attiva quando un'icona del localizzatore è mostrata/nascosta sullo schermo del giocatore locale. Questo evento può essere connesso solo in un LocalScript.

Parametri
player: PlayerOggetto Player a cui appartiene l'icona del localizzatore.
playerCFrame: CFrameCFrame della Humanoid.RootPart del giocatore a cui appartiene l'icona del localizzatore.
isVisible: booleanSe l'icona del localizzatore è attualmente visibile sullo schermo del giocatore locale. Nota che questo sarà comunque true se alwaysOnTop è false e il localizzatore viene reso dietro un oggetto nel mondo 3D.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Visibilità dell'icona del localizzatore per", player.DisplayName, ":", isVisible)
end)
© 2026 Roblox Corporation. Roblox, il logo Roblox e Powering Imagination sono tra i nostri marchi registrati e non registrati negli Stati Uniti. e altri paesi.