Bisa menantang untuk menemukan teman dalam pengalaman.Modul pengembang SpawnWithFriends bergerak secara otomatis menyebarkan pemain di dekat salah satu teman yang hadir dalam pengalaman.Modul ini juga dapat dikonfigurasi untuk teleport pemain saat perintah daripada secara otomatis.
Penggunaan Modul
Instalasi
Untuk menggunakan modul SpawnWithFriends dalam pengalaman:
Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori .
Temukan dan klik ubin Modul Pengembang .
Temukan modul Muncul dengan Teman dan klik, atau seret dan lepaskan ke tampilan 3D.
Di jendela Explorer, pindahkan seluruh model SpawnWithFriends ke ServerScriptService .Setelah menjalankan pengalaman, modul akan didistribusikan ke berbagai layanan dan mulai berjalan.
Area Penyebaran Terbatas
Modul ini dapat menyebabkan pemain muncul di area terbatas seperti ruang VIP, ruang akses hanya, dll.Untuk mencegah pemain berteleportasi ke area ini:
Isi area terbatas dengan blok tak terlihat Anchored .Pastikan , , dan dinonaktifkan untuk semua blok.
Memblokir pengisian seluruh ruang penjara untuk mencegah pemain muncul di dalamnya Menggunakan bagian Tag dari properti setiap blok, atau Editor Tag Studio, terapkan tag RestrictedSpawnArea sehingga CollectionService mendeteksi mereka.
Lemparkan kode berikut ke dalam Script dalam ServerScriptService .
Skriplocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Berulang melalui semua bagian yang ditandaifor _, 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 -- Tujuan spawn berada dalam area terbatas; batalkan teleportasiendendreturn true -- Tujuan spawn tidak tumpang dengan area terbatas; lanjutkan dengan teleportasiendSpawnWithFriends.setTeleportationValidator(validator)
Referensi API
Fungsi
mengonfigurasi
mengonfigurasi(config: table )
Menggantikan opsi konfigurasi default melalui kunci/nilai berikut di tabel config.Fungsi ini hanya dapat dipanggil dari Script .
Kunci | Deskripsi | Standar |
---|---|---|
teleportToFriendOnRespawn | Jika diatur ke false , teleportasi ke teman hanya akan terjadi secara manual melalui teleportToRandomFriend . | benar |
teleportDistance | Seberapa jauh pemain harus muncul dari satu sama lain, diukur dalam stud. | 5 |
maxCharacterVelocity | Karakter bergerak lebih cepat dari nilai ini tidak akan dipilih sebagai kandidat teleportasi, misalnya mereka yang berada di kendaraan bergerak. | 48 |
bypassFriendshipCheck | Jika diatur ke benar, semua pemain akan menjadi kandidat untuk teleportasi, bukan hanya teman. | salah |
showLogs | Apakah akan menampilkan pesan log atau tidak di output. | salah |
Skrip
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))SpawnWithFriends.configure({teleportToFriendOnRespawn = true,teleportDistance = 5,maxCharacterVelocity = 48,bypassFriendshipCheck = false,showLogs = false})
teleportToRandomFriend
teleportToRandomFriend(playerToTeleport: Player ): boolean
Secara manual memicu teleportasi pemain ke salah satu teman mereka dalam pengalaman.Kembalikan boolean yang menunjukkan apakah teleportasi berhasil atau tidak; kegagalan untuk berteleportasi dapat disebabkan oleh kurangnya teman di server atau ketidakmampuan untuk menemukan titik teleportasi yang tidak diblokir.Fungsi ini hanya dapat dipanggil dari Script.
setTeleportationValidator
setTeleportationValidator(validator: function)
Memungkinkan Anda untuk melakukan pemeriksaan pra-teleportasi khusus dengan menghubungkan fungsi panggil balik validator. Panggilan balik menerima tiga parameter:
Parameter | Deskripsi |
---|---|
playerToTeleport | Referensi ke Player yang sedang dipindahkan. |
destinationPlayer | Referensi ke target Player yang playerToTeleport ditransfer ke. |
teleportationPoint | CFrame di mana playerToTeleport teleport ke. |
Fungsi ini dan panggil baliknya hanya dapat digunakan di Script dan panggil baliknya mengembalikan boolean yang menunjukkan apakah teleportasi harus dilanjutkan.Sebagai contoh, logika return dalam fungsi validator berikut memastikan bahwa pemain spawn dan pemain tujuan berada di tim yang sama.
Skrip
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))
-- Teleport pemain hanya jika mereka berada di tim yang sama
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)