Spawnowanie z Przyjaciółmi

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Może być trudno zlokalizować przyjaciół w doświadczeniu. Moduł SpawnWithFriends dla deweloperów automatycznie przesuwa spawnowanych graczy w pobliżu jednego z ich przyjaciół obecnych w doświadczeniu. Moduł ten może być również skonfigurowany tak, aby teleportować gracza na żądanie zamiast automatycznie.

Użycie modułu

Instalacja

Aby użyć modułu SpawnWithFriends w doświadczeniu:

  1. W menu Okno w Studio lub na pasku narzędzi w zakładce Start, otwórz Toolbox i wybierz zakładkę Sklep Twórcy.

  2. Upewnij się, że wybrano sortowanie Modele, a następnie kliknij przycisk Zobacz wszystko w sekcji Kategorie.

  3. Zlokalizuj i kliknij kafelek Pakiety.

  4. Zlokalizuj moduł Spawnowanie z Przyjaciółmi i kliknij na niego lub przeciągnij i upuść go do widoku 3D.

  5. W oknie Eksploratora, przenieś cały model SpawnWithFriends do ReplicatedStorage. Po uruchomieniu doświadczenia moduł zacznie działać.

Ograniczone obszary spawnowania

Ten moduł może skutkować spawnowaniem graczy w ograniczonych obszarach, takich jak pokoje VIP, miejsca dostępne tylko na hasło itp. Aby zapobiec teleportowaniu graczy do tych obszarów:

  1. Wypełnij ograniczony obszar niewidocznymi blokami Anchored. Upewnij się, że CanCollide, CanTouch i CanQuerywyłączone dla wszystkich bloków.

    Blok wypełniający cały obszar więzienia, aby zapobiec spawnowaniu graczy wewnątrz
  2. Używając sekcji Tagi w właściwościach każdego bloku, zastosuj znacznik RestrictedSpawnArea, aby CollectionService mógł je rozpoznać.

  3. Wklej następujący kod do Script w obrębie ServerScriptService.

    Skrypt

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Iteruj przez wszystkie oznaczone części
    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 -- Miejsce spawnowania znajduje się w ograniczonym obszarze; przerywanie teleportacji
    end
    end
    return true -- Miejsce spawnowania nie pokrywa się z żadnym ograniczonym obszarem; kontynuuj teleportację
    end
    SpawnWithFriends.setTeleportationValidator(validator)

Dokumentacja API

Funkcje

configure

configure(config: table)

Nadpisuje domyślne opcje konfiguracyjne za pomocą następujących kluczy/wartości w tabeli config. Ta funkcja może być wywoływana tylko z Script.

KluczOpisDomyślnie
teleportToFriendOnRespawnJeśli ustawione na false, teleportacja do przyjaciela będzie odbywać się tylko ręcznie za pośrednictwem teleportToRandomFriend.true
teleportDistanceJak daleko gracze powinni się spawnować od siebie, mierzony w studach.5
maxCharacterVelocityPostacie poruszające się szybciej niż ta wartość nie będą wybierane jako kandydaci na teleportację, na przykład te w poruszających się pojazdach.48
bypassFriendshipCheckJeśli ustawione na true, wszyscy gracze będą kandydatami do teleportacji, a nie tylko przyjaciele.false
showLogsCzy wyświetlać komunikaty dziennika w wyjściu.false
Skrypt

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

Ręcznie wyzwala teleportację gracza do jednego z jego przyjaciół w doświadczeniu. Zwraca wartość boolowską wskazującą, czy teleportacja zakończyła się sukcesem; niepowodzenie w teleportacji może być spowodowane brakiem przyjaciół na serwerze lub niemożnością znalezienia niezablokowanego punktu teleportacji. Ta funkcja może być wywoływana tylko z Script.

setTeleportationValidator

setTeleportationValidator(validator: function)

Pozwala ci przeprowadzić niestandardowe weryfikacje przed teleportacją, podłączając funkcję zwrotną weryfikatora. Funkcja zwrotna przyjmuje trzy parametry:

ParametrOpis
playerToTeleportOdwołanie do Player, który jest teleportowany.
destinationPlayerOdwołanie do celu Player, do którego playerToTeleport jest teleportowany.
teleportationPointCFrame, do którego playerToTeleport jest teleportowany.

Ta funkcja oraz jej funkcja zwrotna mogą być używane tylko w Script, a funkcja zwrotna zwraca wartość boolowską wskazującą, czy teleportacja powinna być kontynuowana. Na przykład logika return w poniższej funkcji weryfikatora zapewnia, że gracz spawnowany i gracz docelowy są w tym samym zespole.

Skrypt

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- Teleportuje graczy tylko, jeśli są w tym samym zespole
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.