Menu Konteks Avatar

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

Menu Konteks Avatar (ACM) memudahkan pengguna untuk berinteraksi satu sama lain. Ketika ACM diaktifkan dalam permainan Anda, seorang pengguna dapat mendekati karakter pengguna lain dan mengkliknya untuk membuka menu kecil dengan beberapa opsi default. Pemain dapat mengirim permintaan pertemanan, memulai obrolan pribadi, melihat profil pengguna, atau melambaikan tangan.

Setelah mengaktifkan ACM dalam permainan Anda, Anda dapat menyesuaikan ACM dengan cara berikut:

Mengaktifkan Menu Konteks Avatar

Menu Konteks Avatar harus diaktifkan menggunakan opsi StarterGui:SetCore() "AvatarContextMenuEnabled" dalam LocalScript. ACM paling baik digunakan dalam permainan di mana tidak ada perilaku yang telah ditentukan untuk mengklik pengguna lain.

Gunakan contoh kode berikut untuk mengaktifkan ACM dalam LocalScript:


-- Jalankan dalam LocalScript, idealnya di 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 tentang status saat ini dari ACM:


---Mengembalikan boolean yang menunjukkan apakah ACM saat ini diaktifkan.
StarterGui:GetCore(AvatarContextMenuEnabled)

Membuka dan menutup ACM

Setelah diaktifkan, Anda dapat membuka dan menutup ACM secara programatik menggunakan StarterGui.

Untuk membuka ACM secara programatik, gunakan kode berikut:


-- Gunakan StarterGui:SetCore di mana targetPlayer adalah objek Pemain yang valid
StarterGui:SetCore("AvatarContextMenuTarget", targetPlayer)

Untuk menutup ACM secara programatik, gunakan kode berikut:


StarterGui:SetCore("AvatarContextMenuTarget", nil)

Opsi menu

Anda dapat menambahkan dan menghapus tindakan melalui pemrograman. Secara default, menu memiliki opsi berikut:

Opsi menuDeskripsi
TemanMengirim permintaan pertemanan kepada pengguna yang dipilih.
ObrolanMembuka percakapan pribadi dengan pengguna yang dipilih di obrolan dalam permainan.
ViewMembuka jendela untuk memeriksa penampilan pengguna yang dipilih.
WaveMemulai animasi melambaikan tangan kepada pengguna yang dipilih.

Setelah ACM dibuka, pengguna dapat menggulir dan memilih pengguna lain di karusel pemilihan karakter. Karakter diurutkan berdasarkan jarak ke karakter yang dipilih. Menu hanya diperbarui saat dibuka dan daftar pengguna yang tersedia akan diulang saat menggulir.

Menambahkan opsi menu

Setelah diaktifkan, tindakan khusus untuk permainan dapat ditambahkan ke ACM. Misalnya, sebuah permainan mungkin memungkinkan permintaan perdagangan, opsi tambahkan ke pesta, 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
-- Menghubungkan fungsi ke "BindableEvent"
local bindableEvent = Instance.new("BindableEvent")
local function onCustomACMAction(targetPlayer)
-- Pada tahap ini, Anda bisa memanggil InvokeServer() pada RemoteFunction untuk memberi tahu server tentang pemilihan
print("ACM event dipilih oleh " .. player.Name .. " pada " .. targetPlayer.Name)
end
bindableEvent.Event:Connect(onCustomACMAction)
-- Tambahkan opsi ACM menggunakan SetCore() dengan "AddAvatarContextMenuOption"
local options = {"Aksi ACM Kustom", bindableEvent}
StarterGui:SetCore("AddAvatarContextMenuOption", options)

Menghapus opsi menu

Anda dapat menghapus opsi kustom dan default Tambah Teman, Obrolan, Lihat, dan Wave dari ACM dengan merujuk pada nama Aksi kustom atau enum default Enum.AvatarContextMenuOption.

Gunakan kode berikut untuk menghapus opsi menu default dan kustom:


-- Hapus opsi "Aksi ACM Kustom"
StarterGui:SetCore("RemoveAvatarContextMenuOption", "Aksi ACM Kustom")
-- Hapus opsi default "Teman" dengan merujuk pada Enum AvatarContextMenuOption.Friend
StarterGui:SetCore("RemoveAvatarContextMenuOption", Enum.AvatarContextMenuOption.Friend)

Menyesuaikan penampilan menu

Untuk mengubah penampilan Menu Konteks Avatar, panggil StarterGui:SetCore() dengan opsi "AvatarContextMenuTheme", menyediakan tabel parameter dan nilai untuk menyesuaikan penampilan menu.

Antarmuka pengguna ACM mencakup bagian berikut:

A. Nama Tag: Nama pengguna dari karakter yang sedang berinteraksi.

B. Kerangka Tombol: Berisi semua tombol ACM.

C. Tombol: Tombol individu untuk tindakan ACM default atau kustom.

Parameter penampilan

Ini adalah parameter penyesuaian dengan ACM:

Latar Belakang

BackgroundColorSebuah Color3 untuk latar belakang keseluruhan ACM (paling berguna saat tidak menggunakan gambar latar belakang).
BackgroundTransparencyNilai transparansi (0–1) untuk latar belakang keseluruhan ACM (paling berguna saat tidak menggunakan gambar latar belakang).
BackgroundImageID aset yang valid dari gambar untuk latar belakang ACM.
BackgroundImageTransparencyNilai transparansi (0–1) untuk gambar latar belakang.
BackgroundImageScaleTypeEnum Enum.ScaleType untuk skala gambar latar belakang.
BackgroundImageSliceCenterDatatype.Rect yang menunjukkan pusat gambar sembilan iris ketika BackgroundImageScaleType disetel ke Enum.ScaleType.Slice.

Nama tag

NameTagColorSebuah Color3 untuk bar yang menunjukkan pemain mana yang sedang berinteraksi.
NameUnderlineColorSebuah Color3 untuk garis tipis antara nama tag dan tombol tindakan.

Kerangka tombol

ButtonFrameColorSebuah Color3 untuk bagian (kerangka) yang berisi tombol-tombol tindakan.
ButtonFrameTransparencyNilai transparansi (0–1) untuk bagian kerangka tombol.

Tombol

ButtonColorSebuah Color3 untuk latar belakang tombol tindakan ACM.
ButtonTransparencyNilai transparansi (0–1) untuk warna latar belakang tombol tindakan.
ButtonHoverColorSebuah Color3 untuk keadaan "hover" dari tombol tindakan.
ButtonHoverTransparencyNilai transparansi (0–1) untuk warna "hover" dari tombol tindakan.
ButtonUnderlineColorSebuah Color3 untuk garis tipis yang memisahkan setiap tombol tindakan.
ButtonImageID aset yang valid dari gambar untuk latar belakang tombol.
ButtonImageScaleTypeEnum Enum.ScaleType untuk skala gambar tombol.
ButtonImageSliceCenterDatatype.Rect yang menunjukkan pusat gambar sembilan iris ketika ButtonImageScaleType disetel ke Enum.ScaleType.Slice.

Teks

FontEnum Enum.Font nilai untuk nama tag dan teks tombol.
TextColorSebuah Color3 untuk semua teks dalam ACM.
TextScaleNilai float untuk mengubah ukuran teks default dari setiap elemen.

Gambar berbagai

LeaveMenuImageID aset gambar untuk tombol tutup ACM.
ScrollLeftImageID aset gambar untuk tombol "gulung kiri" karusel.
ScrollRightImageID aset yang valid dari gambar untuk tombol "gulung kanan" karusel.

Karakter terpilih

SelectedCharacterIndicatorClass.MeshPart yang mengapung di atas kepala karakter untuk menunjukkan bahwa mereka dipilih.

Ukuran dan posisi

SizeSebuah UDim2 untuk ukuran keseluruhan ACM.
MinSizeSebuah Vector2 yang menunjukkan ukuran minimum dari ACM.
MaxSizeSebuah Vector2 yang menunjukkan ukuran maksimum dari ACM.
AspectRatioNilai float yang menunjukkan rasio lebar dan tinggi relatif dari ACM.
AnchorPointClass.GuiObject.AnchorPoint|AnchorPoint dari ACM.
OnScreenPositionSebuah UDim2 yang menunjukkan posisi di layar dari ACM (posisi di mana ia tween saat dibuka).
OffScreenPositionSebuah UDim2 yang menunjukkan posisi di luar layar dari ACM (posisi di mana ia tween dari/ke saat dibuka/ditutup).

Contoh penyesuaian

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
})
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.