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 permainan sosial. Modul EmoteBar pengembang bertujuan untuk memberikan pemain cara yang dapat diakses dan dapat disesuaikan untuk memfasilitasi interaksi sosial yang bermakna.

Penggunaan modul

Instalasi

Untuk menggunakan modul EmoteBar dalam sebuah permainan:

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

  2. Pastikan pengurutan Models dipilih, lalu klik tombol See All untuk Categories.

  3. Temukan dan klik ubin Packages.

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

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

Konfigurasi

Modul ini sudah dikonfigurasi 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 ganti namanya menjadi ConfigureEmotes.

  2. Tempelkan kode berikut ke dalam skrip ConfigureEmotes yang baru. Pengaturan useDefaultEmotes yang diatur ke false akan menimpa 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,
    },
    })

Mega emote

Mega emote terbentuk ketika beberapa pemain di area yang sama melakukan emote yang sama pada saat yang sama. Ketika semakin banyak pemain bergabung, mega emote menjadi lebih besar. Ketika pemain berhenti melakukan emote, mega emote menjadi lebih kecil hingga akhirnya menghilang.

Tempo

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

Referensi API

Tipe

Emote

Setiap emote diwakili oleh sebuah 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 untuk memainkan animasi emote. Misalnya, tempo 2 akan memainkan animasi dengan kecepatan dua kali lipat dari kecepatan normalnya. Harus lebih besar dari 0.
isLockedboolApakah emote "terkunci" dari diaktifkan.

Enums

EmoteBar.GuiType

NamaRingkasan
EmoteBarBentuk default di mana emote ditampilkan dalam bar di bagian bawah layar, dipisahkan menjadi "halaman" individu.
EmoteWheelVarian di mana emote ditampilkan dalam lingkaran ketika pemain mengklik atau mengetuk 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)

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

KunciDeskripsiDefault
useDefaultEmotesApakah emote default yang disediakan disertakan atau tidak.true
useMegaEmotesMengaktifkan atau menonaktifkan fitur mega emotes.true
emoteMinPlayersJumlah minimum pemain yang melakukan emote yang sama untuk berkontribusi pada mega emote.3
emoteMaxPlayersJumlah maksimum pemain yang melakukan emote yang sama untuk berkontribusi pada mega emote.50
playParticlesMengaktifkan atau menonaktifkan emote yang dimainkan pemain sebagai partikel mengapung di atas kepala mereka.true
sendContributingEmotesMengaktifkan atau menonaktifkan pengiriman ikon emote kecil untuk berkontribusi pada mega emote.true
Script
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.configureServer({
emoteMinPlayers = 2,
playParticles = false,
})

configureClient

configureClient(config: table)

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

KunciDeskripsiDefault
guiTypeMengontrol bentuk GUI yang akan diambil untuk menampilkan emote (EmoteBar.GuiType).EmoteBar
useTempoMengaktifkan atau menonaktifkan fitur tempo di mana pengguna dapat mengontrol seberapa cepat atau lambat emote mereka dimainkan dengan mengaktifkan emote yang sama secara berulang dengan ritmis.true
tempoActivationWindowJumlah waktu, dalam detik, yang dimiliki pengguna antara aktivasi berurutan dari emote agar dihitung sebagai bagian dari tempo.3
lockedImageGambar untuk 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. 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 direplikasi 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 pada klien tertentu.

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

getEmote

getEmote(emoteName: string): table

Mendapatkan Emote berdasarkan nama. Mengembalikan nil jika emote tidak dapat ditemukan. Fungsi ini hanya dapat dipanggil dari LocalScript pada 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 pada 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 pada 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 pada 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 dalam 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 dalam 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, "mengklik", 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.