Menu Konteks Avatar (ACM) membuatnya lebih mudah bagi pengguna untuk berinteraksi satu sama lain.Ketika ACM diaktifkan dalam pengalaman Anda, pengguna dapat berjalan ke karakter pengguna lain dan klik mereka untuk membuka menu kecil dengan beberapa opsi default.Pemain dapat mengirim permintaan permintaan pertemanan, memulai obrolan pribadi, melihat profil pengguna, atau gelombang.
Setelah menyalakan ACM dalam pengalaman Anda, Anda dapat menyesuaikan ACM dengan cara berikut:
- Secara programatik buka dan tutup ACM untuk pengguna tertentu.
- Sesuaikan penampilan ACM untuk membuat antarmuka pengguna unik.
Aktifkan Menu Konteks Avatar
Menu Konteks Avatar harus diaktifkan menggunakan opsi StarterGui:SetCore() "AvatarContextMenuEnabled" di LocalScript.ACM paling baik digunakan dalam pengalaman di mana tidak ada perilaku yang telah ditentukan sebelumnya untuk mengklik pengguna lain.
Gunakan contoh kode berikut untuk mengaktifkan ACM di LocalScript :
-- Jalankan di LocalScript, idealnya dalam "StarterPlayerScripts"local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuEnabled", true)
Jika Anda perlu mendeteksi apakah ACM diaktifkan, Anda dapat menggunakan kode berikut untuk mengembalikan boolean pada status saat ini dari ACM:
--Kembalikan boolean yang menunjukkan apakah ACM saat ini diaktifkan.StarterGui:GetCore(AvatarContextMenuEnabled)
Buka dan tutup ACM
Setelah diaktifkan, Anda dapat membuka dan menutup program ACM secara programatik dengan StarterGui.
Untuk membuka ACM secara programatik, gunakan kode berikut:
-- Gunakan StarterGui:SetCore di mana targetPlayer adalah objek Pemain yang validStarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)
Untuk menutup ACM secara programatik, gunakan kode berikut:
StarterGui:SetCore("AvatarContextMenuTarget", nil)
Opsi menu
Anda dapat menambahkan dan menghapus tindakan melalui scripting. Secara default, menu memiliki opsi berikut:
Opsi menu | Deskripsi |
---|---|
Rakan | Mengirim permintaan teman ke pengguna yang dipilih. |
chat | Membuka percakapan pribadi dengan pengguna yang dipilih di obrolan dalam pengalaman. |
Melihat | Membuka jendela untuk memeriksa penampilan pengguna yang dipilih. |
Gelombang | Memulai animasi gelombang ke pengguna yang dipilih. |
Setelah ACM terbuka, pengguna dapat menggulir dan memilih pengguna lain di kartu seleksi karakter.Karakter disortir berdasarkan jarak ke karakter yang dipilih.Menu hanya diperbarui saat dibuka dan daftar pengguna yang tersedia akan diulang saat diseret.

Tambahkan opsi menu
Setelah diaktifkan, tindakan khusus pengalaman dapat ditambahkan ke ACM.Sebagai contoh, pengalaman mungkin memungkinkan permintaan perdagangan, opsi tambah ke pihak, atau interaksi khusus lainnya.
Contoh berikut menunjukkan cara menambahkan tindakan khusus ke Menu Konteks Avatar:
local Players = game:GetService("Players")
local StarterGui = game:GetService("StarterGui")
local player = Players.LocalPlayer
-- Hubungkan fungsi ke "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Pada titik ini, Anda bisa memanggil InvokeServer() pada RemoteFunction untuk memperingatkan server tentang pilihan
print("ACM event selected by " .. player.Name .. " on " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Tambahkan opsi ACM menggunakan SetCore() dengan "AddAvatarContextMenuOption"
local options = {"Custom ACM Action", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)
Hapus opsi menu
Anda dapat menghapus opsi Kustom dan Default Tambah Teman, chat, Pandang, dan Gelombang dari ACM dengan merujuk pada nama Tindakan khusus atau Enum.AvatarContextMenuOption enum default.
Gunakan kode berikut untuk menghapus opsi menu default dan khusus:
-- Hapus opsi "Aksi ACM Kustom"StarterGui:SetCore("RemoveAvatarContextMenuOption", "Custom ACM Action")-- Hapus opsi "Teman" default dengan merujuk ke AvatarContextMenuOption.Friend EnumStarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)
Sesuaikan penampilan menu
Untuk mengubah tampilan Menu Konteks Avatar, panggil StarterGui:SetCore() dengan opsi "AvatarContextMenuTheme", menyediakan tabel parameter dan nilai untuk menyesuaikan penampilanmenu.
Antarmuka pengguna ACM termasuk bagian berikut:

A. Tag Nama: Nama pengguna karakter yang berinteraksi.
B. Frame Tombol: Berisi semua tombol ACM.
C. Tombol: Tombol individu untuk tindakan ACM default atau khusus.
Parameter penampilan
Ini adalah parameter kustomisasi dengan ACM:
Latar Belakang
Warna Latar Belakang | A Color3 untuk latar belakang umum ACM (paling berguna saat tidak menggunakan gambar latar belakang). |
Transparansi Latar Belakang | Nilai transparansi (0–1) untuk latar belakang keseluruhan ACM (paling berguna saat tidak menggunakan gambar latar belakang). |
Gambar Latar Belakang | ID aset yang valid dari gambar untuk latar belakang ACM. |
Transparansi Gambar Latar Belakang | Nilai transparansi (0–1) untuk gambar latar belakang. |
Tipe Skala Gambar Latar Belakang | Sebuah Enum.ScaleType enum untuk skala gambar latar belakang. |
Pusat Background Gambar Slice | Sebuah Rect menentukan pusat dari gambar sembilan bagian ketika BackgroundImageScaleType diatur ke Enum.ScaleType.Slice. |
Tag nama
NamaTagWarna | A Color3 untuk bilah yang menunjukkan pemain mana yang berinteraksi. |
Warna Garis Bawa Nama | A Color3 untuk garis tipis antara tag nama dan tombol tindakan. |
Bingkai button
Warna Frame Tombol | A Color3 untuk bagian (frame) yang berisi tombol tindakan. |
ButtonFrameTransparansi | Nilai transparansi (0–1) untuk bagian frame tombol. |
Tombol
Warna Tombol | A Color3 untuk latar belakang tombol tindakan ACM. |
Transparansi Tombol | Nilai transparansi (0–1) untuk warna latar belakang tombol tindakan. |
Warna Tombol Hover | A Color3 untuk status "hover" dari tombol tindakan. |
ButtonHoverTransparency | Nilai transparansi (0–1) untuk warna "hover" dari tombol aksi. |
Warna Garis Bawah Tombol | A Color3 untuk garis tipis yang memisahkan setiap tombol tindakan. |
Gambar Tombol | ID aset yang valid dari gambar untuk latar belakang tombol. |
Tipe Skala Gambar Tombol | Sebuah Enum.ScaleType enum untuk skala gambar tombol. |
Pusat Gambar Tombol | Sebuah Rect menentukan pusat dari gambar sembilan bagian ketika ButtonImageScaleType diatur ke Enum.ScaleType.Slice. |
Teks
Jenis huruf | Sebuah nilai enum Enum.Font untuk tag nama dan teks tombol. |
Warna Teks | A Color3 untuk semua teks di dalam ACM. |
Skala Teks | Nilai mengambang untuk menycalakan ukuran teks default dari setiap elemen. |
Berbagai gambar
Tinggalkan Menu Gambar | ID aset dari gambar untuk tombol tutup ACM. |
Gulir Gambar Kiri | ID aset dari gambar untuk tombol "scroll kiri" di karousel. |
Gulir Gambar Kanan | ID aset yang valid dari gambar untuk tombol "gulir kanan" di karousel. |
Karakter yang dipilih
Indikator Karakter Terpilih | The MeshPart yang mengambang di atas kepala karakter untuk menunjukkan bahwa mereka dipilih. |
Ukuran dan posisi
Ukuran | A UDim2 untuk ukuran keseluruhan ACM. |
MinUkuran | Sebuah Vector2 menentukan ukuran minimum ACM. |
Ukuran Maksimum | Sebuah Vector2 menentukan ukuran maksimum ACM. |
Rasio Aspek | Sebuah nilai float yang menentukan lebar dan ketinggian relatif dari ACM. |
Titik Anchor | The AnchorPoint dari ACM. |
Di Posisi Layar | Sebuah UDim2 menentukan posisi di layar ACM (posisi di mana remaja berada saat dibuka). |
Posisi Layar Mati | Sebuah UDim2 menentukan posisi off-screen ACM (posisi di mana remaja berasal/ke ketika dibuka/tutup). |
Contoh kustomisasi
Contoh kode berikut menyesuaikan tema ACM menggunakan beberapa parameter dasar:
local StarterGui = game:GetService("StarterGui")StarterGui:SetCore("AvatarContextMenuTheme", {BackgroundImage = "",BackgroundTransparency = 0.5,BackgroundColor = Color3.fromRGB(111, 145, 242),NameTagColor = Color3.fromRGB(0, 0, 200),NameUnderlineColor = Color3.fromRGB(213, 233, 255),ButtonFrameColor = Color3.fromRGB(15, 24, 65),ButtonFrameTransparency = 0.2,ButtonUnderlineColor = Color3.fromRGB(213, 233, 255),Font = Enum.Font.SciFi})
