Menemukan teman dalam pengalaman bisa menjadi tantangan. Modul SpawnWithFriends developer module secara otomatis memindahkan pemain yang muncul dekat salah satu temannya yang hadir dalam pengalaman. Modul ini juga dapat dikonfigurasi untuk melakukan teleportasi pemain atas permintaan bukannya secara otomatis.
Penggunaan Modul
Instalasi
Untuk menggunakan modul SpawnWithFriends dalam sebuah pengalaman:
Dari menu Window Studio atau toolbar tab Home, buka Toolbox dan pilih tab Creator Store.

Pastikan pemilihan Models dilakukan, kemudian klik tombol See All untuk Categories.

Temukan dan klik ubin Packages.
Temukan modul Spawn Dengan Teman dan klik, atau seret dan lepas ke tampilan 3D.

Di jendela Explorer, pindahkan seluruh model SpawnWithFriends ke dalam ReplicatedStorage. Setelah pengalaman dijalankan, modul ini akan mulai berjalan.
Area Spawn Terlarang
Modul ini dapat mengakibatkan pemain muncul di area terlarang seperti ruang VIP, ruang akses terbatas, dll. Untuk mencegah pemain teleportasi ke area ini:
Isi area terlarang dengan balok Anchored yang tidak terlihat. Pastikan CanCollide, CanTouch, dan CanQuery dinonaktifkan untuk semua balok.

Balok mengisi seluruh ruang penjara untuk mencegah pemain muncul di dalamnya Menggunakan bagian Tags dari properti setiap balok, terapkan tag RestrictedSpawnArea agar CollectionService dapat mendeteksinya.
Salin kode berikut ke dalam Script di dalam ServerScriptService.
Scriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Iterasi 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 terlarang; abort teleportasiendendreturn true -- Tujuan spawn tidak tumpang tindih dengan area terlarang; lanjutkan dengan teleportasiendSpawnWithFriends.setTeleportationValidator(validator)
Referensi API
Fungsi
configure
configure(config: table)
Menggantikan opsi konfigurasi default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari Script.
| Kunci | Deskripsi | Default |
|---|---|---|
| teleportToFriendOnRespawn | Jika diatur ke false, teleportasi ke teman hanya akan terjadi secara manual melalui teleportToRandomFriend. | true |
| teleportDistance | Seberapa jauh pemain harus muncul dari satu sama lain, diukur dalam studs. | 5 |
| maxCharacterVelocity | Karakter yang bergerak lebih cepat dari nilai ini tidak akan dipilih sebagai kandidat teleportasi, misalnya yang berada dalam kendaraan yang bergerak. | 48 |
| bypassFriendshipCheck | Jika diatur ke true, semua pemain akan menjadi kandidat untuk teleportasi, bukan hanya teman. | false |
| showLogs | Apakah atau tidak untuk menampilkan pesan log di output. | false |
Scriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)SpawnWithFriends.configure({teleportToFriendOnRespawn = true,teleportDistance = 5,maxCharacterVelocity = 48,bypassFriendshipCheck = false,showLogs = false})
teleportToRandomFriend
teleportToRandomFriend(playerToTeleport: Player): boolean
Memicu teleportasi pemain secara manual ke salah satu temannya dalam pengalaman. Mengembalikan boolean yang menunjukkan apakah teleportasi berhasil atau tidak; kegagalan teleportasi dapat disebabkan oleh tidak adanya teman di server atau ketidakmampuan untuk menemukan titik teleportasi yang tidak terhalang. Fungsi ini hanya dapat dipanggil dari Script.
setTeleportationValidator
setTeleportationValidator(validator: function)
Mengizinkan Anda untuk melakukan pemeriksaan pra-teleportasi kustom dengan menghubungkan fungsi callback validator. Callback menerima tiga parameter:
| Parameter | Deskripsi |
|---|---|
| playerToTeleport | Referensi ke Player yang sedang dteleportasi. |
| destinationPlayer | Referensi ke Player target yang playerToTeleport sedang dteleportasi ke. |
| teleportationPoint | CFrame di mana playerToTeleport sedang dteleportasi. |
Fungsi ini dan callback-nya hanya dapat digunakan dalam Script dan callback mengembalikan boolean yang menunjukkan apakah teleportasi harus dilanjutkan. Misalnya, logika return dalam fungsi validator berikut memastikan bahwa pemain yang muncul dan pemain tujuan berada di tim yang sama.
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local SpawnWithFriends = require(ReplicatedStorage.SpawnWithFriends)
-- Menerbangkan pemain hanya jika mereka berada di tim yang sama
local function validator(playerToTeleport, destinationPlayer, teleportationPoint)
return playerToTeleport.Team == destinationPlayer.Team
end
SpawnWithFriends.setTeleportationValidator(validator)