Localizador de Amigos

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

Puede ser un desafío localizar amigos en la experiencia. El módulo FriendsLocator de desarrollador permite a los jugadores encontrar y teletransportarse fácilmente a sus amigos dentro de un lugar.

Uso del módulo

Instalación

Para usar el módulo FriendsLocator en una experiencia:

  1. Desde el menú Ventana de Studio o la barra de herramientas de la pestaña Inicio, abre el Toolbox y selecciona la pestaña Tienda del Creador.

  2. Asegúrate de que la clasificación de Modelos esté seleccionada, luego haz clic en el botón Ver Todo para Categorías.

  3. Localiza y haz clic en el mosaico Paquetes.

  4. Localiza el módulo Localizador de Amigos y haz clic en él, o arrástralo y suéltalo en la vista 3D.

  5. En la ventana del Explorador, mueve todo el modelo FriendsLocator a ReplicatedStorage. Al ejecutar la experiencia, el módulo comenzará a funcionar.

Prueba en Studio

Para probar el módulo en Studio, el módulo FriendsLocator debe ejecutarse en una simulación de múltiples clientes, ya que no habrá amigos presentes en una prueba de juego en solitario.

  1. En StarterPlayerScripts, crea un nuevo LocalScript y renómbralo como ConfigurarFriendsLocator.

  2. Pega el siguiente código en el nuevo script ConfigurarFriendsLocator. La configuración showAllPlayers dentro de la función configure asegura que los localizadores se muestren para todos los usuarios mientras se prueba en Studio, pero no en un lugar publicado.

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Permite la depuración en Studio
    })
  3. Desde la mezzanine de Studio, inicia una simulación de múltiples clientes con 2 clientes. Se abrirán tres nuevas instancias de Studio; un servidor simulado y dos clientes simulados.

    Opción de Servidor y Clientes en el menú desplegable de modos de prueba de la mezzanine de Studio.
  4. Ve a cualquiera de las instancias de cliente de Studio, muévete a una distancia de 100 studs del otro personaje, y deberías ver un icono de localizador aparecer sobre su cabeza.

Conectar a eventos

El módulo FriendsLocator expone eventos para que puedas introducir comportamientos personalizados cuando los usuarios interactúan con un icono de localizador.

  1. Asegúrate de que has creado el script ConfigurarFriendsLocator descrito en pruebas en Studio.

  2. Agrega las líneas 8 y 11-13 al script:

    LocalScript - ConfigureFriendsLocator

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Permite la depuración en Studio
    teleportToFriend = false, -- Previene el teletransporte al hacer clic/tocar el icono
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("Hiciste clic en el icono de localizador de", player.DisplayName)
    end)
  3. Realiza una prueba de múltiples clientes y haz clic en el icono de localizador de otro personaje. Nota que tu personaje no se teletransporta a esa ubicación, y el evento se dispara para permitir un manejo personalizado de los clics en el icono.

UI de localizador personalizada

Si el estilo predeterminado no se ajusta a tu experiencia, puedes reemplazar la interfaz de usuario del retrato del avatar predeterminado con tu propia interfaz de usuario.

Para reemplazar la interfaz de usuario predeterminada:

  1. Crea una nueva instancia de ScreenGui dentro del contenedor StarterGui.

  2. Crea una instancia de Frame llamada FriendLocator como hija de la nueva ScreenGui, y luego agrega elementos como ImageLabels, TextLabels para diseñar tu interfaz de usuario personalizada.

  3. Cuando termines, desactiva la ScreenGui principal para que el módulo no muestre la UI de localizador personalizada hasta que sea necesario.

  4. (Opcional) Si deseas que el retrato del avatar y el DisplayName del amigo se muestren en algún lugar de la UI personalizada, puedes colocar las siguientes instancias dentro del marco FriendLocator.

    El módulo buscará estos elementos y mostrará el retrato y/o el nombre de pantalla del amigo respectivamente.

Referencia de API

Funciones

configure

configure(config: table)

Sobrescribe las opciones de configuración predeterminadas a través de las siguientes claves/valores en la tabla config.

ClaveDescripciónPredeterminado
alwaysOnTopSi true, muestra los iconos de localizador encima de todo, impidiendo que sean bloqueados por objetos del mundo 3D.true
showAllPlayersSi true, muestra localizaciones para todos los jugadores, no solo amigos; esto puede ayudar a verificar la funcionalidad del módulo en Studio.false
teleportToFriendTeletransporta al personaje del jugador a la ubicación del amigo cuando se hace clic o se toca su icono de localizador.true
thresholdDistanceUmbral de distancia de cámara en el cual aparecen los iconos de localizador; los amigos más cercanos que esta distancia no mostrarán iconos.100
maxLocatorsNúmero máximo de iconos de localizador que se muestran en un momento dado.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
})

Eventos

clicked

Se activa cuando un icono de localizador es clicado/activado por el jugador local. Este evento solo puede ser conectado en un LocalScript.

Parámetros
player: PlayerJugador al que pertenece el icono de localizador.
playerCFrame: CFrameCFrame de la Humanoid.RootPart del jugador al que pertenece el icono de localizador.
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)
-- Solicitar transmisión alrededor de la ubicación objetivo
if Workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("Hiciste clic en el icono de localizador de", player.DisplayName, "en la posición", playerCFrame.Position)
end)

visibilityChanged

Se activa cuando un icono de localizador es mostrado/ocultado en la pantalla del jugador local. Este evento solo puede ser conectado en un LocalScript.

Parámetros
player: PlayerObjeto Player al que pertenece el icono de localizador.
playerCFrame: CFrameCFrame de la Humanoid.RootPart del jugador al que pertenece el icono de localizador.
isVisible: booleanSi el icono de localizador es actualmente visible en la pantalla del jugador local. Ten en cuenta que esto seguirá siendo true si alwaysOnTop es false y el localizador se renderiza detrás de un objeto en el mundo 3D.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage.FriendsLocator)
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Visibilidad del icono de localizador para", player.DisplayName, ":", isVisible)
end)
©2026 Roblox Corporation. Roblox, el logotipo de Roblox y "Powering Imagination" son algunas de nuestras marcas registradas y no registradas en los Estados Unidos y otros países.