친구와 함께 스폰

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

경험 내에서 친구를 찾는 것은 도전적일 수 있습니다. SpawnWithFriends 개발자 모듈 은 경험에 존재하는 친구 중 하나에 플레이어를 생성하는 작업을 자동으로 이동합니다.이 모듈은 자동으로 대신 명령에 따라 플레이어를 순간이동하도록 구성할 수도 있습니다.

모듈 사용량

설치

경험에서 SpawnWithFriends 모듈을 사용하려면:

  1. 보기 탭에서 도구 상자 를 열고 크리에이터 스토어 탭을 선택합니다.

    Toolbox toggle button in Studio
  2. 모델 정렬이 선택되었는지 확인한 다음 모두 보기 버튼을 클릭하여 카테고리를 확인하십시오.

  3. 찾아서 클릭하십시오 개발자 모듈 타일.

  4. 친구와 함께 스폰 모듈을 찾아서 클릭하거나 3D 뷰에 드래그 앤 드롭하세요.

  5. 탐색기 창에서 전체 친구와 함께 스폰 모델을 서버스크립트 서비스 로 이동합니다.경험을 실행하면 모듈이 다양한 서비스에 배포되고 실행을 시작합니다.

제한된 스폰 지역

이 모듈은 VIP 룸, 액세스 전용 공간 등 제한된 영역에서 플레이어가 생성되는 결과를 초래할 수 있습니다.플레이어가 이러한 영역으로 순간이동하는 것을 방지하려면:

  1. 제한 영역을 보이지 않는 Anchored 블록으로 채우십시오.모든 블록에 대해 , , 가 비활성화되도록 하십시오.

    플레이어가 감옥 전체를 채우는 것을 방지하여 플레이어가 내부에서 생성되는 것을 방지합니다
  2. 각 블록의 속성 또는 Studio의 태그 편집기에서 태그 섹션을 사용하거나 Studio의 태그 편집기에서 태그 을 적용하여 태그를 감지하도록 합니다.

  3. 다음 코드를 Script 내에 붙여넣으십시오. . 내에서.

    스크립트

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- 모든 식별된 부품을 반복하십시오
    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 -- 생성 대상이 제한 영역에 있으므로 순간 이동을 취소합니다
    end
    end
    return true -- 생성 대상이 제한 영역에 겹치지 않습니다; 순간이동을 계속하십시오
    end
    SpawnWithFriends.setTeleportationValidator(validator)

API 참조

함수

구성

구성(config: table)

기본 구성 옵션을 다음 키/값을 통해 재정의합니다 config 테이블에서.이 함수는 Script 호출할 수 있습니다.

설명기본
teleportToFriendOnRespawnfalse로 설정하면 친구에게 순간이동하려면 teleportToRandomFriend을 통해 수동으로만 수행됩니다.
teleportDistance플레이어가 서로에게서 얼마나 멀리 생성되어야 하는지, 스터드로 측정됩니다.5
maxCharacterVelocity이 값보다 빠르게 이동하는 캐릭터는 순간이동 후보로 선택되지 않습니다(예: 이동하는 차량의 캐릭터).48
bypassFriendshipChecktrue로 설정하면 모든 플레이어가 순간이동 후보자가 되고, 친구만 아닙니다.거짓
showLogs출력에 로그 메시지를 표시할지 여부.거짓
스크립트

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

랜덤 친구로 순간이동 teleportToRandomFriend

teleportToRandomFriend(playerToTeleport: Player ): boolean

플레이어를 경험에서 친구 중 한 명으로 수동으로 순간이동하게 합니다.순간이동이 성공했는지 여부를 나타내는 부울을 반환하며, 순간이동에 실패할 수 있는 이유는 서버에 친구가 없거나 차단되지 않은 순간이동 지점을 찾을 수 없기 때문입니다.이 함수는 Script 호출할 수 있습니다.

setTeleportationValidator 설정

setTeleportationValidator(validator: function )

유효한 밸리데이터 콜백 함수를 연결하여 사용자 정의 전송 전 검사를 수행할 수 있습니다. 콜백은 세 가지 매개변수를 받습니다:

매개 변수설명
playerToTeleport순간이동 중인 Player에 대한 참조.
destinationPlayer전송할 대상 참조 Player 에 대한 참조 playerToTeleport 가 전송됩니다.
teleportationPointCFrame 에서 playerToTeleport 가 순간이동하는 곳.

이 함수와 해당 콜백은 Script에서만 사용할 수 있으며 콜백은 순간이동이 진행되어야 하는지를 나타내는 부울을 반환합니다.예를 들어, 다음 유효성 검사 함수의 return 논리는 생성 플레이어와 대상 플레이어가 동일한 팀에 있는지 확인합니다.

스크립트

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- 동일한 팀에 있는 플레이어만 순간이동합니다
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)