Deneyimde arkadaş bulmak zor olabilir.The SpawnWithFriends geliştirici modülü otomatik olarak deneyimde mevcut arkadaşlarından birinin yakınında oyun oluşturmayı hareket ettirir.Bu modül ayrıca otomatik olarak değil bir oyuncuyu komutla taşımak için yapılandırılabilir.
Modül Kullanımı
Yükleme
Bir deneyimde SpawnWithFriends modülünü kullanmak için:
Modellerin sıralanması seçildiğinden emin olun, ardından Tümünü Görüntüle düğmesine tıklayın Kategoriler için >.
Yerini ve tıklayın Geliştirici Modülleri düğmesi.
Arkadaşlarla Yarat modunu bulun ve tıklayın veya 3B görüntüye sürükleyin ve bırakın.
Araştırıcı penceresinde, tüm SpawnWithFriends modelini ServerScriptService ye taşıyın.Deneyimi çalıştırdıktan sonra, modül kendini çeşitli hizmetlere dağıtacak ve çalışmaya başlayacaktır.
Sınırlı Doğma Alanları
Bu modül, oyuncuların VIP odaları, erişim sadece alanları gibi sınırlı alanlarda ortaya çıkmasına neden olabilir, etc.Oyuncuların bu alanlara ışınlanmasını engellemek için:
Sınırlı alanı görünmez Anchored bloklarla doldurun. , ve , tüm bloklar için devre dışı bırakıldığından emin olun .
Tüm hapishane odasını dolduran blok, oyuncuların içeride doğmasını engellemek için Her blokun özelliklerinin Etiketler bölümünü veya Studio'nun Etiket Düzenleyicisi kullanarak, etiketi RestrictedSpawnArea uygulayın, böylece CollectionService onları tespit edebilsin.
Aşağıdaki kodu Script içinde içine yapıştırın .
Komut Dosyasılocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Tüm etiketli parçalar arasında dolaşınfor _, 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 -- Varış noktası sınırlı alandadır; ışınlanmayı iptal etendendreturn true -- Spawn hedefi herhangi bir sınırlı alanın üzerine geçmez; teleportasyonla devam edinendSpawnWithFriends.setTeleportationValidator(validator)
API Referansı
Fonksiyonlar
yapılandır
yapılandır(config: table )
Varsayılan yapılandırma seçeneklerini aşağıdaki anahtarlar/değerler aracılığıyla geçersiz kılar: config tablosunda.Bu işlev yalnızca bir Script 'dan çağrılabilir.
Anahtar | Açıklama | Varsayılan |
---|---|---|
teleportToFriendOnRespawn | false olarak ayarlanırsa, bir arkadaşa ışınlanma yalnızca teleportToRandomFriend aracılığıyla manuel olarak gerçekleşir. | doğru |
teleportDistance | Oyuncuların birbirinden ne kadar uzakta doğması gerektiği, mil ile ölçülür. | 5 |
maxCharacterVelocity | Bu değerden daha hızlı hareket eden karakterler, örneğin hareket eden araçlardaki olanlar, teleportasyon adayı olarak seçilmeyecektir. | 48 |
bypassFriendshipCheck | Doğru ayarlanırsa, tüm oyuncular teleportasyon adayı olacak, sadece arkadaşlar değil. | sahte |
showLogs | Çıkıda günlük mesajların görüntülenmesi ya da görüntülenmemesi. | sahte |
Komut Dosyası
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))SpawnWithFriends.configure({teleportToFriendOnRespawn = true,teleportDistance = 5,maxCharacterVelocity = 48,bypassFriendshipCheck = false,showLogs = false})
teleportToRandomFriend'e çevir
teleportToRandomFriend(playerToTeleport: Player ): boolean
Deneyimde bir oyuncunun bir arkadaşına ışınlanmasını manuel olarak tetikler.Işınlanmanın başarılı olup olmadığını gösteren bir true veya false döndürür; işınlanmanın başarısız olması, sunucudaki arkadaşların yokluğu veya engelsiz bir işınlanma noktası bulunamaması nedeniyle olabilir.Bu işlev yalnızca bir Script 'den çağrılabilir.
setTeleportationValidatörü
setTeleportationValidator(validator: function )
Geçerli bir doğrulayıcı geri arama işlevi bağlayarak özel ön-ışınlanma kontrolleri yapmanıza izin verir. Geri arama üç parametre alır:
Değerleri | Açıklama |
---|---|
playerToTeleport | Işınlanan Player referansı. |
destinationPlayer | Aktarılacak hedef Player referansı, playerToTeleport teleport edilecek. |
teleportationPoint | CFrame nereye playerToTeleport ışınlanıyor. |
Bu işlev ve onun geri çağrısı yalnızca bir Script içinde kullanılabilir ve geri çağrı, teleportasyonun devam edip etmeyeceğini gösteren bir boolean döndürür.Örneğin, aşağıdaki geçerli validatör işlevindeki return mantığı, oluşturucu oyuncunun ve hedef oyuncunun aynı takımda olduğundan emin olur.
Komut Dosyası
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Oyuncuları yalnızca aynı takımda olduklarında ışınlar
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)