Lokasi Teman

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

Dapat menantang untuk menemukan teman-teman dalam pengalaman. The FriendsLocator module pengembang memungkinkan pemain dengan mudah menemukan dan teleport ke teman-teman mereka di dalam tempat.

Penggunaan Modul

Pemasangan

Untuk menggunakan modul FriendsLocator dalam pengalaman:

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

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

  3. Temukan dan klik Modul Dev ubin.

  4. Temukan modul Pelacak Teman dan klik, atau seret-seret ke dalam tampilan 3D.

  5. Di jendela Explorer, pindahkan seluruh model FriendsLocator ke ServerScriptService . Setelah mengeksekusi pengalaman, modul akan di distribusikan ke berbagai layanan dan mulai berjalan.

Menguji di Studio

Untuk menguji modul di Studio, modul FriendsLocator harus dijalankan dalam simulasi multi-klien, karena tidak ada teman yang akan hadir dalam playtest solo.

  1. Dalam StarterPlayerScripts , buat LocalScript baru dan ganti nama ConfigureFriendsLocator .

  2. Tulis kode berikut ke dalam naskah baru ConfigureFriendsLocator . Pengaturan showAllPlayers menunjukkan bahwa lokator ditampilkan untuk semua pengguna saat menguji di Studio, tetapi tidak di tempat yang diterbitkan.

    Skrip Lokal - Konfigurasi Pengguna Teman

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Memungkinkan untuk debug di Studio
    })
  3. Dari tab Pengujian, pilih kombinasi berikut untuk Klien dan Server , lalu klik tombol Mulai . Tiga instans baru Studio akan terbuka; satu server simulasi dan dua klien simulasi.

  4. Pergi ke salah satu dari instansi client Studio, pindahkan jarak 100 stud dari karakter lain, dan Anda harus melihat ikon lokasi muncul di atas kepalanya.

Mengikuti Acara

Modul Pelacak Teman mengekspos acara sehingga Anda dapat memperkenalkan perilaku khusus ketika pengguna berinteraksi dengan ikon lokasi.

  1. Pastikan bahwa Anda telah menciptakan ConfigureFriendsLocator script yang ditulis dalam Mengujungkan di Studio.

  2. Tambahkan baris 8 dan 11-13 ke script:

    Skrip Lokal - Konfigurasi Pengguna Teman

    local RunService = game:GetService("RunService")
    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
    FriendsLocator.configure({
    showAllPlayers = RunService:IsStudio(), -- Memungkinkan untuk debug di Studio
    teleportToFriend = false, -- Mencegah teleportasi pada tombol klik/tap
    })
    FriendsLocator.clicked:Connect(function(player, playerCFrame)
    print("You clicked on locator icon for", player.DisplayName)
    end)
  3. Lakukan tes multi-client dan klik ikon lokasi karakter lain. Perhatikan bahwa karakter Anda tidak berteleportasi ke lokasi tersebut, dan acara mengaktifkan untuk memungkinkan penanganan khusus untuk klik ikon.

UI Pemosisi Kustom

Jika gaya default tidak sesuai dengan pengalaman Anda, Anda dapat mengganti UI avatar default Anda dengan UI Anda sendiri.

Untuk mengganti UI default:

  1. Buat instansi baru ScreenGui di dalam wadah StarterGui .

  2. Buat instansi Frame bernama FriendLocator sebagai anak baru dari kelas baru Class.ScreenGui , lalu tambahkan elemen seperti ScreenGui , 1> Class.TextLabel|TextLabels1> untuk mendesain UI Anda yang disesuaikan.

  3. Setelah selesai, nonaktifkan modul sehingga modul tidak menunjukkan UI lokasi khusus sampai diperlukan.

  4. (Opsional) Jika Anda ingin portret avatar teman dan DisplayName untuk muncul di suatu tempat di UI khusus, Anda dapat menempatkan instans berikut di dalam frame FriendLocator .

    Modul ini mencari item ini dan menampilkan portret avatar teman dan/atau nama tampilan masing-masing.

Referensi API

Fungsi

mengonfigurasi

mengonfigurasi(config: table )

Menggeser opsi konfigurasi default melalui kunci/值 berikut di tabel config .

KunciDeskripsiStandar
alwaysOnTopJika true , menunjukkan ikon lokasi di atas segalanya, mencegah mereka dari diblokir oleh objek dunia 3D.benar
showAllPlayersJika true , menunjukkan lokasi untuk semua pemain, bukan hanya teman; ini dapat membantu memverifikasi keselamatan modul di Studio.benar
teleportToFriendTeleport karakter pemain ke lokasi teman mereka ketika ikon lokasi mereka diklik atau dipergeluk.benar
thresholdDistanceJarak kamera di mana ikon lokasi muncul; teman yang lebih dekat dari jarak ini tidak akan menunjukkan ikon.100
maxLocatorsJumlah maksimum ikon lokasi yang ditunjukkan pada waktu tertentu.10
Skrip Lokal - Konfigurasi Pengguna Teman

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
FriendsLocator.configure({
alwaysOnTop = true,
showAllPlayers = false,
teleportToFriend = true,
thresholdDistance = 100,
maxLocators = 10
})

Acara

diklik

Diaktifkan saat tombol lokasi di klik/aktifkan oleh pemain lokal. Acara ini hanya dapat dihubungkan dalam LocalScript .

Parameter
pemain: PlayerPemain yang ikon lokasi berada.
playerCFrame: CFrameCFrame dari pemain's Humanoid.RootPart yang ikon lokasi berada.
Skrip Lokal

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
local localPlayer = Players.LocalPlayer
FriendsLocator.clicked:Connect(function(player, playerCFrame)
-- Permintaan streaming di sekitar lokasi target
if workspace.StreamingEnabled then
local success, errorMessage = pcall(function()
localPlayer:RequestStreamAroundAsync(playerCFrame.Position)
end)
if not success then
print(errorMessage)
end
end
print("You clicked on locator icon for", player.DisplayName, "at position", playerCFrame.Position)
end)

kejelasan

Diaktifkan ketika ikon lokasi ditunjukkan/tersembunyi di layar pemain lokal. Acara ini hanya dapat dihubungkan dalam sebuah LocalScript .

Parameter
pemain: PlayerPlayer objek yang ikon lokasi berada.
playerCFrame: CFrameCFrame dari pemain's Humanoid.RootPart yang ikon lokasi berada.
terlihat: booleanApakah ikon lokasi saat ini terlihat di layar pemain lokal. Catat bahwa ini masih akan menjadi true jika alwaysOnTop adalah false dan lokator rendah di belakang objek di dunia 3D.
Skrip Lokal

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local FriendsLocator = require(ReplicatedStorage:WaitForChild("FriendsLocator"))
FriendsLocator.visibilityChanged:Connect(function(player, playerCFrame, isVisible)
print("Visibility of locator icon for", player.DisplayName, ":", isVisible)
end)