Dapat menantang untuk menemukan teman-teman dalam pengalaman. Modul SpawnWithFriends mengemudi modul pengguna pada otomatis menempatkan pemain yang baru saja muncul di pengalaman. Modul ini juga dapat dikonfigurasi untuk mengirimkan pemain di perintah bukan secara otomatis.
Penggunaan Modul
Pemasangan
Untuk menggunakan modul SpawnWithFriends dalam pengalaman:
Dari tab Lihat, buka tab Kotak Alat dan pilih tab Toko Pencipta .
Pastikan Model penyortiran dipilih, lalu klik tombol Lihat Semua untuk Kategori .
Temukan dan klik Modul Dev ubin.
Temukan modul Spawn With Friends dan klik, atau seret-seret ke dalam tampilan 3D.
Di jendela Explorer, pindahkan seluruh model SpawnWithFriends ke ServerScriptService . Setelah mengeksekusi pengalaman, modul akan di distribusikan ke berbagai layanan dan mulai berjalan.
Area Pemutar Terbatas
Modul ini dapat menyebabkan pemain muncul di area terbatas seperti ruang VIP, ruang akses, dll. Untuk mencegah pemain berteleportasi ke area ini:
Isi area terbatas dengan blok Anchored yang tak terlihat. Pastikan CanCollide, CanTouch, dan 1> Class.BasePart.CanQueue|CanQueue1> yang 4> dinonaktifkan
Menggunakan bagian Label dari setiap kepemilikan blok, atau Studio's Editor Tag, tetapkan tag RestrictedSpawnArea sehingga 1> Class.CollectionService1> mendeteksi mereka.
Tempastekode berikut ke dalam Script di dalam ServerScriptService .
Skriplocal ReplicatedStorage = game:GetService("ReplicatedStorage")local CollectionService = game:GetService("CollectionService")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))local function validator(playerToTeleport, destinationPlayer, teleportationPoint)-- Iterate 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 -- Lokasi tujuan berada dalam area terbatas; aborsi teleportasiendendreturn true -- Lokasi tujuan tidak berlokasi di area terbatas; lanjutkan dengan teleportasiendSpawnWithFriends.setTeleportationValidator(validator)
Referensi API
Fungsi
mengonfigurasi
Menggeser opsi konfigurasi default melalui kunci/值 berikut ini dalam 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 bertelur dari satu sama lain, diukur dalam stud. | 5 |
maxCharacterVelocity | Karakter yang 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. | benar |
showLogs | Apakah akan menampilkan pesan log atau tidak diOutput. | benar |
Skrip
local ReplicatedStorage = game:GetService("ReplicatedStorage")local SpawnWithFriends = require(ReplicatedStorage:WaitForChild("SpawnWithFriends"))SpawnWithFriends.configure({teleportToFriendOnRespawn = true,teleportDistance = 5,maxCharacterVelocity = 48,bypassFriendshipCheck = false,showLogs = false})
teleport ke Teman Acak
Secara manual mengaktifkan teleportasi pemain ke salah satu teman mereka dalam pengalaman. Mengembalikan boeing yang menunjukkan apakah atau tidak teleportasi berhasil; ketidakberhasilan teleport dapat disebabkan oleh ketidakmampuan untuk menemukan titik teleportasi yang tidak diblokir. Fungsi ini hanya dapat dipanggil dari Class.Script .
setTeleportasiValid
Memungkinkan Anda untuk melakukan pemeriksaan pra-teleportasi khusus dengan menghubungkan fungsi panggilan validator. Panggilan menerima tiga parameter:
Parameter | Deskripsi |
---|---|
playerToTeleport | Mengacu pada Player yang sedang di teleportasi. |
destinationPlayer | Referensi ke target Player yang playerToTeleport di teleportasi ke. |
teleportationPoint | CFrame di mana playerToTeleport diteleportasi ke. |
Fungsi ini dan panggilannya hanya dapat digunakan dalam Script dan panggilan kembali mengembalikan booleh menunjukkan apakah teleportasi harus dilakukan. Misalnya, logika return di fungsi validator berikutnya menjamin bahwa pemain pemain bertelur 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)