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 znaleźć znajomych w doświadczeniu.Moduł rozwoju SpawnWithFriends automatycznie przenosi spawnowanie graczy w pobliżu jednego z ich przyjaciół obecnych w doświadczeniu.Moduł ten może być również skonfigurowany do teleportowania gracza na polecenie zamiast automatycznie.

Użycie modułu

Instalacja

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

  1. Z zakładki Widok, otwórz Pudełko z narzędziami i wybierz zakładkę Sklep z twórcami .

    Toolbox toggle button in Studio
  2. Upewnij się, że wybrano sortowanie modele , a następnie kliknij przycisk Zobacz wszystko dla kategorii .

  3. Zlokalizuj i kliknij pasek modułów rozwojowych .

  4. Zlokalizuj moduł Spawn z przyjaciółmi i kliknij go, lub przeciągnij i upuść do widoku 3D.

  5. W oknie Eksploratora przenieś cały model SpawnWithFriends do ServerScriptService .Po uruchomieniu doświadczenia moduł rozproszy się na różne usługi i rozpocznie działanie.

Ograniczone obszary spawnowania

Ten moduł może doprowadzić do pojawiania się graczy w ograniczonych obszarach, takich jak pokoje VIP, przestrzenie dostępowe itp.Aby zapobiec teleportowaniu graczy do tych obszarów:

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

    Blok wypełniający całe więzienne pomieszczenie, aby zapobiec pojawianiu się graczy wewnątrz
  2. Używając sekcji Tagi właściwości każdego bloku lub edytora Tagów w Studio, zastosuj tag RestrictedSpawnArea, aby CollectionService je wykrył.

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

    Skrypt

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local CollectionService = game:GetService("CollectionService")
    local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
    local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
    -- Powtarzaj 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 -- Punkt docelowy powstania jest w ograniczonej strefie; anuluj teleportację
    end
    end
    return true -- Punkt docelowy nie pokrywa żadnej ograniczonej strefy; kontynuuj teleportację
    end
    SpawnWithFriends.setTeleportationValidator(validator)

Referencja API

Funkcje

skonfigurować

konfigurować(config: table )

Nadpisanie domyślnych opcji konfiguracyjnych za pomocą następujących kluczy/wartości w tabeli config.Funkcja ta może być wywołana tylko z Script.

KluczOpisDomyślny
teleportToFriendOnRespawnJeśli ustawiono na false, teleportacja do przyjaciela będzie się odbywać tylko ręcznie za pomocą teleportToRandomFriend.prawda
teleportDistanceJak daleko gracze powinni się od siebie oddalić, mierzone w szpilkach.5
maxCharacterVelocityPostacie poruszające się szybciej niż ta wartość nie zostaną wybrane jako kandydaci do teleportacji, na przykład te w poruszających się pojazdach.48
bypassFriendshipCheckJeśli ustawiono na prawdę, wszystkie gracze będą kandydatami do teleportacji, nie tylko przyjaciele.fałsz
showLogsCzy wyświetlać wiadomości o błędach w wyjściu, czy nie.fałsz
Skrypt

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

teleportuj do losowego przyjaciela

teleportToRandomFriend(playerToTeleport: Player ): boolean

Ręcznie uruchamia teleportację gracza do jednego z jego przyjaciół w doświadczeniu.Zwraca booleszny wskazujący, czy teleportacja powiodła się, czy nie; niepowodzenie teleportacji może być spowodowane brakiem przyjaciół na serwerze lub niezdolnością znalezienia niezablokowanego punktu teleportacji.Funkcja ta może być wywołana tylko z Script.

ustawienieTeleportationValidator

setTeleportationValidator(validator: function )

Pozwala wykonać niestandardowe kontrolki przedteleportacyjne poprzez przypięcie funkcji powrotnej walidatora. Funkcja otrzymuje trzy parametry:

ParametrOpis
playerToTeleportOdwołanie do Player, które jest teleportowane.
destinationPlayerOdniesienie do docelowego Player celu, do którego playerToTeleport jest teleportowany.
teleportationPointCFrame gdzie playerToTeleport teleportuje się do.

Ta funkcja i jej powrót mogą być używane tylko w Script i powrót zwraca prawdziwy binarny, który wskazuje, czy teleportacja powinna się odbyć.Na przykład logika return w następującej funkcji weryfikatora zapewnia, że powstający gracz i docelowy gracz są w tej samej drużynie.

Skrypt

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