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 utama dari setiap pengalaman sosial.The EmoteBar modul pengembang bertujuan untuk memberikan pemain cara yang mudah diakses dan dapat disesuaikan untuk memudahkan interaksi sosial yang berarti.

Penggunaan modul

Instalasi

Untuk menggunakan modul EmoteBar dalam pengalaman:

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

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

  3. Temukan dan klik ubin Modul Pengembang .

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

  5. Di jendela Explorer, pindahkan seluruh model EmoteBar ke ServerScriptService .Setelah menjalankan pengalaman, modul akan didistribusikan ke berbagai layanan dan mulai berjalan.

Konfigurasi

Modul sudah diatur 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 baru Script dan ganti namanya menjadi KonfigurasiEmote .

  2. Tempelkan kode berikut ke skrip baru KonfigurasiEmote .Pengaturan useDefaultEmotes dari false menggantikan emote default dan memungkinkan Anda mendefinisikan emote khusus melalui fungsi setEmotes.

    Skrip - Konfigurasi Emote

    local ReplicatedStorage = game:GetService("ReplicatedStorage")
    local EmoteBar = require(ReplicatedStorage:WaitForChild("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 saat yang sama.Saat semakin banyak pemain bergabung, emote mega tumbuh lebih besar.Saat pemain berhenti melakukan emote, emote mega menjadi lebih kecil sampai akhirnya menghilang.

Kecepatan

Kecepatan emote adalah kecepatan di mana ia dimainkan saat tombolnya ditekan sekali adalah kecepatan di mana ia dimainkan saat tombolnya ditekan sekaliKecepatan default dari emote ditentukan oleh defaultTempo nya.Kecepatan emote dapat ditingkatkan atau dikurangi dengan mengetuk tombolnya lebih cepat atau lebih lambat.

Referensi API

Jenis

Emotik

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

KunciJenisDeskripsi
namestringNama emote, misalnya "Shrug" .
animationstringID aset untuk animasi emote.
imagestringID aset untuk gambar emote di GUI.
defaultTempoangkaFaktor kecepatan default di mana untuk memainkan animasi emote.Sebagai contoh, tempo 2 akan memutar animasi dua kali dengan kecepatan normalnya.Harus lebih besar dari 0.
isLockedboolApakah emote "terkunci" dari aktifasi.

Enums

EmoteBar.GuiType

NamaSingkatan
EmoteBarBentuk default di mana emote ditampilkan di bilah di bagian bawah layar, dibagi menjadi halaman individu.
EmoteWheelVariasi di mana emote ditampilkan di cincin saat pemain mengklik atau mengetuk karakter pemain mereka.
Skrip Lokal

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

Fungsi

konfigurasiServer

konfigurasiServer(config: table )

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

KunciDeskripsiStandar
useDefaultEmotesApakah emote default yang disediakan termasuk atau tidak.benar
useMegaEmotesMengaktifkan atau menonaktifkan fitur emote mega.benar
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 pemain yang dimainkan sebagai partikel mengambang di atas kepala mereka.benar
sendContributingEmotesMengaktifkan atau menonaktifkan mengirim ikon emote kecil untuk berkontribusi pada emote mega.benar
Skrip

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

konfigurasiClient

konfigurasiKlien(config: table)

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

KunciDeskripsiStandar
guiTypeKontrol yang membentuk GUI akan mengambil untuk menampilkan emote ( EmoteBar.GuiType ).Bilah Emote
useTempoMengaktifkan atau menonaktifkan fitur tempo di mana pengguna dapat mengontrol seberapa cepat atau lambat emote mereka diputar dengan mengaktifkan kembali emote yang sama secara berulang secara ritme.benar
tempoActivationWindowJumlah waktu, dalam detik, pengguna memiliki antara aktivasi berurutan dari emote untuk dihitung sebagai bagian dari tempo.3
lockedImageGambar untuk ditampilkan di atas emote terkunci.“rbxassetid://6905802778”
Skrip Lokal - Bar Emote

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

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

setEmotes

setEmotes(emotes: table )

Tetapkan 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 direplikasikan ke semua klien.

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

Skrip - Konfigurasi Emote

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("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(terlihat: boolean )

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

Skrip Lokal

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

dapatkanEmote

mendapatkanEmote(nama emote: string ): table

Mendapatkan Emote oleh nama.Kembalikan nil jika emote tidak dapat ditemukan.Fungsi ini hanya dapat dipanggil dari LocalScript pada klien tertentu.

Skrip Lokal

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

playEmote

playEmote(emote: Emote )

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

Skrip Lokal

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

mengunciEmote

lockEmote(nama emote: string)

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

Skrip Lokal

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

bukaEmote

bukaEmote(nama emote: string )

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

Skrip Lokal

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

Peristiwa

emoteDimainkan

Melepaskan api saat klien mana pun memainkan emote. Acara ini hanya dapat terhubung di LocalScript .

Parameter
pemain: PlayerPemain yang bertindak keluar emote.
emote: EmoteEmote yang dimainkan.
Skrip Lokal

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

lockedEmoteAktif

Melepaskan api ketika klien mengklik emote terkunci. Peristiwa ini hanya dapat terhubung dalam LocalScript .

Parameter
emote: EmoteEmote terkunci yang aktif.
Skrip Lokal

local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "clicked", emote.name)
end)