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:
Z zakładki Zobacz, otwórz Skrzynię narzędzi i wybierz Sklep z twórcami.
Upewnij się, że Modele sortowanie jest zaznaczone, a następnie kliknij przycisk Zobacz wszystko dla Kategorie.
Lokalizuj i klikaj na płytę Moduły Rozwoju .
Zlokalizuj moduł Zwierzęta ze znajomymi i kliknij go, lub przeciągnij go do 3D view.
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:
Wypełnij ograniczoną obszar z niewidocznymi Anchored blokami. Upewnij się, że CanCollide , CanTouch i 1> Class.BasePart.CanQuery|CanQuery1> są wyłączone
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ł.
Wklej następujący kod do Script w ServerScriptService .
Skryptlocal 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ęścifor _, area in CollectionService:GetTagged("RestrictedSpawnArea") dolocal relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)local size = area.Sizelocal inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2if inXBounds and inZBounds thenreturn false -- Miejscem docelowym jest ograniczony obszar; anuluj teleportacjęendendreturn true -- Tworzone miejsce nie ma żadnych ograniczonych obszarów; kontynuuj teleportacjęendSpawnWithFriends.setTeleportationValidator(validator)
Referencja API
Funkcje
konfigurować
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 .
Klucz | Opis | Domyślny |
---|---|---|
teleportToFriendOnRespawn | Jeśli ustawiony na false , teleportacja do przyjaciela będzie działać tylko ręcznie poprzez teleportToRandomFriend . | prawdziwy |
teleportDistance | Jak daleko gracze powinny się od siebie od siebie od siebie, pomiarzone w studs. | 5 |
maxCharacterVelocity | Znaki poruszające się szybciej niż ten wartość nie zostaną wybrane jako kandydaci do teleportacji, na przykład ci w pojazdach poruszających się. | 48 |
bypassFriendshipCheck | Jeśli ustawiony na prawdę, wszyscy gracze będą kandydatami do teleportacji, nie tylko przyjaciele. | fałszywy |
showLogs | Czy 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
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Веру
Umożliwia wykonanie niestandardowych czynności przedteleportacyjnych poprzez złączenie funkcji weryfikatora. Weryfikator otrzymuje trzy parametry:
Parametr | Opis |
---|---|
playerToTeleport | Odnośnik do Player, który jest teleportowany. |
destinationPlayer | Odnośnik do celu Player , do którego teleportuje się playerToTeleport. |
teleportationPoint | CFrame 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)