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 in gioco. Il FriendsLocator modulo per sviluppatori consente ai giocatori di trovare e teletrasportarsi facilmente ai propri amici all'interno di un luogo.

Utilizzo del modulo

Installazione

Per utilizzare il modulo FriendsLocator in un gioco:

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

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

  3. Trova e fai clic sulla tessera Pacchetti.

  4. Trova 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 avviato il gioco, 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 presenti in un test di gioco in solitaria.

  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 funzione configure garantisce che i localizzatori vengano mostrati per tutti gli utenti durante il test 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 di localizzatore apparire sopra la sua testa.

Collegati agli eventi

Il modulo FriendsLocator espone eventi in modo da poter introdurre comportamenti personalizzati quando gli utenti interagiscono con un'icona di 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 dell'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 viene teletrasportato in quella posizione e l'evento viene attivato per consentire la gestione personalizzata dei clic sulle icone.

UI del localizzatore personalizzata

Se lo stile predefinito non si adatta al tuo gioco, puoi sostituire l'interfaccia utente del ritratto dell'avatar predefinita con la tua interfaccia utente.

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 il genitore ScreenGui in modo che il modulo non mostri l'interfaccia utente del localizzatore personalizzato fino a quando non è necessario.

  4. OPZIONALE
    Se desideri che il ritratto dell'avatar dell'amico e il DisplayName vengano visualizzati da qualche parte nell'interfaccia utente personalizzata, puoi posizionare le seguenti istanze all'interno del frame FriendLocator.

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

Riferimento API

Funzioni

configure

configure(config: table)

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

ChiaveDescrizionePredefinito
alwaysOnTopSe true, mostra le icone dei localizzatori sopra tutto, impedendo che vengano bloccate da oggetti del mondo 3D.true
showAllPlayersSe true, mostra le posizioni per tutti i giocatori, non solo per gli amici; questo può aiutare a verificare la funzionalità del modulo in Studio.false
teleportToFriendTeletrasporta il personaggio del giocatore nella posizione dell'amico quando la sua 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 mostreranno 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 collegato 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 viene mostrata/nascosta sullo schermo del giocatore locale. Questo evento può essere collegato 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 visualizzato 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.