Bar Emote

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

Emote adalah komponen inti dari setiap pengalaman sosial. Modul EmoteBar pengembang bertujuan untuk memberikan pemain cara yang dapat diakses dan dapat disesuaikan untuk memfasilitasi interaksi sosial yang berarti.

Penggunaan Modul

Instalasi

Untuk menggunakan modul EmoteBar dalam sebuah pengalaman:

  1. Dari menu Window di Studio atau toolbar tab Home, buka Toolbox dan pilih tab Creator Store.

  2. Pastikan sorting Models terpilih, lalu klik tombol See All untuk Categories.

  3. Temukan dan klik ubin Packages.

  4. Temukan modul Emote Bar dan klik, atau seret dan lepas ke dalam tampilan 3D.

  5. Di jendela Explorer, pindahkan seluruh model EmoteBar ke dalam ReplicatedStorage. Setelah menjalankan pengalaman, modul akan mulai berjalan.

Konfigurasi

Modul ini telah dikonfigurasi sebelumnya dengan 7 emote dan dapat dengan mudah disesuaikan dengan emote dan opsi tampilan Anda sendiri. Selain itu, jika pemain memiliki emote dari acara Roblox sebelumnya seperti Lil Nas X, Royal Blood, atau Twenty One Pilots, emote tersebut akan secara otomatis ditambahkan ke daftar emote yang tersedia.

  1. Di ServerScriptService, buat Script baru dan ubah namanya menjadi ConfigureEmotes.

  2. Tempelkan kode berikut ke dalam skrip ConfigureEmotes yang baru dibuat. Pengaturan useDefaultEmotes dengan nilai false mengesampingkan emote default dan memungkinkan Anda mendefinisikan emote kustom melalui fungsi setEmotes.

    Script - ConfigureEmotes

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage.EmoteBar)
    EmoteBar.configureServer({
    useDefaultEmotes = false,
    })
    EmoteBar.setEmotes({
    {
    name = "Hello",
    animation = "rbxassetid://3344650532",
    image = "rbxassetid://7719817462",
    defaultTempo = 1,
    },
    {
    name = "Applaud",
    animation = "rbxassetid://5915693819",
    image = "rbxassetid://7720292217",
    defaultTempo = 2,
    },
    })

Emote Mega

Sebuah emote mega terbentuk ketika beberapa pemain di area yang sama melakukan emote yang sama pada waktu yang bersamaan. Saat semakin banyak pemain bergabung, emote mega tumbuh lebih besar. Saat pemain berhenti melakukan emote, emote mega menjadi lebih kecil sampai akhirnya menghilang.

Tempo

Tempo emote adalah kecepatan di mana emote dimainkan saat tombolnya ditekan sekali. Kecepatan default dari sebuah emote ditentukan oleh defaultTempo-nya. Kecepatan emote dapat ditingkatkan atau diturunkan dengan menekan tombolnya lebih cepat atau lebih lambat.

Referensi API

Tipe

Emote

Setiap emote diwakili oleh kamus dengan pasangan kunci-nilai berikut:

KunciTipeDeskripsi
namestringNama emote, misalnya "Shrug".
animationstringID Aset untuk animasi emote.
imagestringID Aset untuk gambar emote di GUI.
defaultTemponumberFaktor kecepatan default saat memainkan animasi emote. Misalnya, tempo 2 akan memutar animasi pada kecepatan dua kali lipat dari kecepatan normal. Harus lebih besar dari 0.
isLockedboolApakah emote "terkunci" dari diaktifkan.

Enums

EmoteBar.GuiType

NamaRingkasan
EmoteBarBentuk default dimana emote ditampilkan dalam sebuah bar di bagian bawah layar, dipisahkan ke dalam "halaman" individual.
EmoteWheelVariasi dimana emote ditampilkan dalam bentuk lingkaran ketika seorang pemain mengklik atau menyentuh karakter pemain mereka.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

Fungsi

configureServer

configureServer(config: table)

Mengganti opsi konfigurasi sisi server default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari Script dan perubahan akan secara otomatis direplika ke semua klien.

KunciDeskripsiDefault
useDefaultEmotesApakah emote default yang disediakan disertakan atau tidak.true
useMegaEmotesMengaktifkan atau menonaktifkan fitur emote mega.true
emoteMinPlayersJumlah minimum pemain yang melakukan emote yang sama untuk berkontribusi pada emote mega.3
emoteMaxPlayersJumlah maksimum pemain yang melakukan emote yang sama untuk berkontribusi pada emote mega.50
playParticlesMengaktifkan atau menonaktifkan emote yang dimainkan pemain sebagai partikel melayang di atas kepala mereka.true
sendContributingEmotesMengaktifkan atau menonaktifkan pengiriman ikon emote kecil untuk berkontribusi pada emote mega.true
Script

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

Mengganti opsi konfigurasi sisi klien default melalui kunci/nilai berikut dalam tabel config. Fungsi ini hanya dapat dipanggil dari LocalScript. Tergantung pada nilai guiType, opsi yang dicatat juga berlaku.

KunciDeskripsiDefault
guiTypeMengontrol bentuk GUI yang akan diambil untuk menampilkan emote (EmoteBar.GuiType).EmoteBar
useTempoMengaktifkan atau menonaktifkan fitur tempo dimana pengguna dapat mengontrol seberapa cepat atau lambat emote mereka dimainkan dengan mengaktifkan emote yang sama berulang kali secara ritmis.true
tempoActivationWindowJumlah waktu, dalam detik, yang dimiliki pengguna antara aktivasi berurutan dari emote agar dihitung sebagai bagian dari tempo.3
lockedImageGambar yang ditampilkan di atas emote yang terkunci."rbxassetid://6905802778"
LocalScript - Bar Emote

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteBar,
maxEmotesPerPage = 6,
nextPageKey = Enum.KeyCode.Z,
prevPageKey = Enum.KeyCode.C,
})
LocalScript - Roda Emote

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureClient({
guiType = EmoteBar.GuiType.EmoteWheel,
})

setEmotes

setEmotes(emotes: table)

Mengatur emote kustom untuk digunakan. Emote ini akan ditambahkan ke default jika useDefaultEmotes adalah true, atau menggantikan default jika useDefaultEmotes adalah false. Fungsi ini hanya dapat dipanggil dari Script dan perubahan akan secara otomatis direplika ke semua klien.

Lihat Emote untuk struktur setiap emote yang diteruskan ke fungsi ini.

Script - ConfigureEmotes

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
useDefaultEmotes = false,
})
EmoteBar.setEmotes({
{
name = "Hello",
animation = "rbxassetid://3344650532",
image = "rbxassetid://7719817462",
defaultTempo = 1,
},
{
name = "Applaud",
animation = "rbxassetid://5915693819",
image = "rbxassetid://7720292217",
defaultTempo = 2,
},
})

setGuiVisibility

setGuiVisibility(visible: boolean)

Menampilkan atau menyembunyikan GUI emote. Fungsi ini hanya dapat dipanggil dari LocalScript di klien tertentu.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.setGuiVisibility(false)

getEmote

getEmote(emoteName: string): table

Mengambil Emote berdasarkan nama. Mengembalikan nil jika emote tidak dapat ditemukan. Fungsi ini hanya dapat dipanggil dari LocalScript di klien tertentu.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")

playEmote

playEmote(emote: Emote)

Memainkan Emote yang diberikan dan memicu acara emotePlayed di server, jika terhubung. Fungsi ini hanya dapat dipanggil dari LocalScript di klien tertentu.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
local shrug = EmoteBar.getEmote("Shrug")
EmoteBar.playEmote(shrug)

lockEmote

lockEmote(emoteName: string)

Mengunci Emote dengan nama yang diberikan. Fungsi ini hanya dapat dipanggil dari LocalScript di klien.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockEmote("Applaud")

unlockEmote

unlockEmote(emoteName: string)

Membuka kunci Emote dengan nama yang diberikan. Fungsi ini hanya dapat dipanggil dari LocalScript di klien.

LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.unlockEmote("Applaud")

Acara

emotePlayed

Dipicu ketika klien mana pun memainkan emote. Acara ini hanya dapat dihubungkan di LocalScript.

Parameter
player: PlayerPemain yang melakukan emote.
emote: EmoteEmote yang dimainkan.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "memainkan", emote.name)
end)

lockedEmoteActivated

Dipicu ketika klien mengklik emote yang terkunci. Acara ini hanya dapat dihubungkan di LocalScript.

Parameter
emote: EmoteEmote terkunci yang diaktifkan.
LocalScript

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "klik", emote.name)
end)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.