Muncul dengan Teman

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

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:

  1. Dari tab Pandangan, buka Kotak Alat dan pilih tab Toko Pencipta .

    Toolbox toggle button in Studio
  2. Pastikan pengurutan Model dipilih, lalu klik tombol Lihat Semua untuk Kategori .

  3. Temukan dan klik ubin Modul Pengembang .

  4. Temukan modul Muncul dengan Teman dan klik, atau seret dan lepaskan ke tampilan 3D.

  5. 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:

  1. 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
  2. Menggunakan bagian Tag dari properti setiap blok, atau Editor Tag Studio, terapkan tag RestrictedSpawnArea sehingga CollectionService mendeteksi mereka.

  3. Lemparkan kode berikut ke dalam Script dalam ServerScriptService .

    Skrip

    local 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 ditandai
    for _, area in CollectionService:GetTagged("RestrictedSpawnArea") do
    local relativePosition = area.CFrame:PointToObjectSpace(teleportationPoint.Position)
    local size = area.Size
    local inXBounds = relativePosition.X < size.X / 2 and relativePosition.X > -size.X / 2
    local inZBounds = relativePosition.Z < size.Z / 2 and relativePosition.Z > -size.Z / 2
    if inXBounds and inZBounds then
    return false -- Tujuan spawn berada dalam area terbatas; batalkan teleportasi
    end
    end
    return true -- Tujuan spawn tidak tumpang dengan area terbatas; lanjutkan dengan teleportasi
    end
    SpawnWithFriends.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 .

KunciDeskripsiStandar
teleportToFriendOnRespawnJika diatur ke false , teleportasi ke teman hanya akan terjadi secara manual melalui teleportToRandomFriend .benar
teleportDistanceSeberapa jauh pemain harus muncul dari satu sama lain, diukur dalam stud.5
maxCharacterVelocityKarakter bergerak lebih cepat dari nilai ini tidak akan dipilih sebagai kandidat teleportasi, misalnya mereka yang berada di kendaraan bergerak.48
bypassFriendshipCheckJika diatur ke benar, semua pemain akan menjadi kandidat untuk teleportasi, bukan hanya teman.salah
showLogsApakah 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:

ParameterDeskripsi
playerToTeleportReferensi ke Player yang sedang dipindahkan.
destinationPlayerReferensi ke target Player yang playerToTeleport ditransfer ke.
teleportationPointCFrame 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)