Wygeneruj 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 lokalizować przyjaciół w doświadczeniu. Moduł SpawnWithFriends automatycznie przenosi spawningowych graczy w pobliżu jednego z ich przyjaciół w doświadczeniu. Ten moduł można również skonfigurować, aby teleportować gracza na polecenie zamiast automatycznie.

Użyj modułu

Instalacja

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

  1. Z zakładki Zobacz, otwórz Skrzynię narzędzi i wybierz Sklep z twórcami.

    Toolbox toggle button in Studio
  2. Upewnij się, że Modele sortowanie jest zaznaczone, a następnie kliknij przycisk Zobacz wszystko dla Kategorie.

  3. Lokalizuj i klikaj na płytę Moduły Rozwoju .

  4. Zlokalizuj moduł Zwierzęta ze znajomymi i kliknij go, lub przeciągnij go do 3D view.

  5. W oknie Explorer przesuń cały model SpawnWithFriends do ServerScriptService. Po uruchomieniu doświadczenia moduł zostanie rozdzielony na różne usługi i zacznie się działać.

Ograniczone obszary spawnu

Ten moduł może powodować, że gracze pojawiają się w ograniczonych obszarach, takich jak pokoje VIP, tylko dostępne obszary itp. Aby zapobiec graczom teleportowaniu się do tych obszarów:

  1. Wypełnij ograniczoną obszar z niewidocznymi Anchored blokami. Upewnij się, że CanCollide , CanTouch i 1> Class.BasePart.CanQuery|CanQuery1> są wyłączone

    Zablokuj wypełnianie całego więzienia, aby zapobiec graczom pojawieniu się w środku
  2. Używając sekcji Tagi każdego bloku właściwości lub Studio's Edytor Tagów, nakładaj tag RestrictedSpawnArea, aby 2> Class.CollectionService2> go wykrył.

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

    Skrypt

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Przeglądaj 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 -- Miejscem docelowym jest ograniczony obszar; anuluj teleportację
    end
    end
    return true -- Tworzone miejsce nie ma żadnych ograniczonych obszarów; kontynuuj teleportację
    end
    SpawnWithFriends.setTeleportationValidator(validator)

Referencja API

Funkcje

konfigurować

konfigurować(config: table )

Przywraca domyślne opcje konfiguracji poprzez następujące klucze/wartości w tabeli config. Ta funkcja może być wywołana tylko z Script .

KluczOpisDomyślny
teleportToFriendOnRespawnJeśli ustawiony na false , teleportacja do przyjaciela będzie działać tylko ręcznie poprzez teleportToRandomFriend .prawdziwy
teleportDistanceJak daleko gracze powinny się od siebie od siebie od siebie, pomiarzone w studs.5
maxCharacterVelocityZnaki poruszające się szybciej niż ten wartość nie zostaną wybrane jako kandydaci do teleportacji, na przykład ci w pojazdach poruszających się.48
bypassFriendshipCheckJeśli ustawiony na prawdę, wszyscy gracze będą kandydatami do teleportacji, nie tylko przyjaciele.fałszywy
showLogsCzy wyświetlić czy nie logi w wyjściu.fałszywy
Skrypt

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

teleportujDoPrzyjaciela

teleportToRandomFriend(playerToTeleport: Player): boolean

Ręcznie wyzwuje teleportację gracza do jednego z jego przyjaciół w doświadczeniu. Wynika pomyślnie, czy teleportacja się powiodła; nie powoduje teleportacji brak znajomych na serwerze lub nie można znaleźć bezpiecznego punktu teleportacji. Ta funkcja może być wywołana tylko z Script .

setTeleportacjaВеру

setTeleportationValidate(Validate: function )

Umożliwia wykonanie niestandardowych czynności przedteleportacyjnych poprzez złączenie funkcji weryfikatora. Weryfikator otrzymuje trzy parametry:

ParametrOpis
playerToTeleportOdnośnik do Player, który jest teleportowany.
destinationPlayerOdnośnik do celu Player , do którego teleportuje się playerToTeleport.
teleportationPointCFrame gdzie playerToTeleport teleportuje się do.

Funkcja ta i jej wzwanie może być używana tylko w Script i wzwanie zwraca prawdziwy, wskazujący, czy teleportacja powinna zostać wykonana. Na przykład, logika return w następującej funkcji weryfikatora zapewnia, że gracz źródłowy i gracz docelowy są na tej samej drużynie.

Skrypt

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Teleportuje graczy tylko jeśli są w tej samej drużynie
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)