Aparecer con 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 SpawnWithFriends developer module mueve automáticamente a los jugadores que aparecen cerca de uno de sus amigos presentes en la experiencia. Este módulo también se puede configurar para teletransportar a un jugador por comando en lugar de automáticamente.

Uso del Módulo

Instalación

Para usar el módulo SpawnWithFriends 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 Creator Store.

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

  3. Localiza y haz clic en el mosaico Paquetes.

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

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

Áreas de Aparecimiento Restringidas

Este módulo puede resultar en que los jugadores aparezcan en áreas restringidas como salas VIP, espacios solo por acceso, etc. Para evitar que los jugadores se teletransporten a estas áreas:

  1. Rellena el área restringida con bloques invisibles Anchored. Asegúrate de que CanCollide, CanTouch, y CanQuery estén desactivados para todos los bloques.

    Bloque llenando toda la sala de prisión para evitar que los jugadores aparezcan dentro
  2. Usando la sección Tags de las propiedades de cada bloque, aplica la etiqueta RestrictedSpawnArea para que CollectionService las detecte.

  3. Pega el siguiente código en un Script dentro de ServerScriptService.

    Script

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Itera a través de todas las partes etiquetadas
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- El destino de aparición está dentro del área restringida; abortar teletransportación
    end
    end
    return true -- El destino de aparición no se superpone con ninguna área restringida; proceder con la teletransportación
    end
    SpawnWithFriends.setTeleportationValidator(validator)

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. Esta función solo se puede llamar desde un Script.

ClaveDescripciónPredeterminado
teleportToFriendOnRespawnSi se establece en false, el teletransporte a un amigo solo ocurrirá manualmente a través de teleportToRandomFriend.true
teleportDistanceQué tan lejos deberían aparecer los jugadores entre sí, medido en studs.5
maxCharacterVelocityLos personajes que se muevan más rápido que este valor no serán seleccionados como candidatos para el teletransporte, por ejemplo, aquellos en vehículos en movimiento.48
bypassFriendshipCheckSi se establece en true, todos los jugadores serán candidatos para el teletransporte, no solo los amigos.false
showLogsSi se deben mostrar o no los mensajes de registro en la salida.false
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
SpawnWithFriends.configure({
teleportToFriendOnRespawn = true,
teleportDistance = 5,
maxCharacterVelocity = 48,
bypassFriendshipCheck = false,
showLogs = false
})

teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player): boolean

Activa manualmente el teletransporte de un jugador a uno de sus amigos en la experiencia. Devuelve un booleano que indica si el teletransporte fue exitoso o no; el fallo en el teletransporte puede ser causado por la ausencia de amigos en el servidor o la incapacidad de encontrar un punto de teletransporte sin obstáculos. Esta función solo se puede llamar desde un Script.

setTeleportationValidator

setTeleportationValidator(validator: function)

Te permite realizar verificaciones personalizadas antes del teletransporte al enganchar una función de retorno de llamada de validación. La devolución de llamada recibe tres parámetros:

ParámetroDescripción
playerToTeleportReferencia al Player que está siendo teletransportado.
destinationPlayerReferencia al Player objetivo al que playerToTeleport está siendo teletransportado.
teleportationPointCFrame a donde playerToTeleport se está teletransportando.

Esta función y su devolución de llamada solo se pueden usar en un Script y la devolución de llamada devuelve un booleano que indica si el teletransporte debe proceder. Por ejemplo, la lógica de return en la siguiente función de validación asegura que el jugador que aparece y el jugador de destino estén en el mismo equipo.

Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- Teletransporta jugadores solo si están en el mismo equipo
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)
©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.