Emotes adalah komponen utama dari setiap pengalaman sosial. The EmoteBar modul pengembang bertujuan untuk memberikan pemain akses yang dapat diakses, dapat disesuaikan cara untuk memudahkan interaksi sosial yang signifikan.
Penggunaan Modul
Pemasangan
Untuk menggunakan modul EmoteBar dalam pengalaman:
Dari tab Lihat, buka tab Kotak Alat dan pilih tab Toko Pencipta .
Pastikan Model penyortiran dipilih, lalu klik tombol Lihat Semua untuk Kategori .
Temukan dan klik Modul Dev ubin.
Lokasi modul Emote Bar dan klik, atau seret ke dalam tampilan 3D.
Di jendela Explorer, pindahkan seluruh model EmoteBar ke ServerScriptService . Setelah mengeksekusi pengalaman, modul akan di distribusikan ke berbagai layanan dan mulai berjalan.
Konfigurasi
Modul ini telah dimuat dengan 7 emotes dan dapat dengan mudah disesuaikan dengan emotes Anda sendiri dan opsi tampilan. Selain itu, jika pemain memiliki emotes dari acara Roblox sebelumnya seperti Lil Nas X, Royal Blood, atau Twenty One Pilots, emotes ini akan secara otomatis ditambahkan ke daftar emotes yang tersedia.
Di ServerScriptService , buat Script baru dan ganti namanya Konfigurasi Emotes .
Tempastekode berikut ke dalam naskah baru Konfigurasi Emotes . Pengaturan useDefaultEmotes dari false mengatasi emotes default dan memungkinkan Anda untuk mendefinisikan emotes khusus melalui fungsi 1> setEmotes1>.
Skrip - Konfigurasi Emoteslocal 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,},})
Mega Emotes
Sebuah mega emote terbentuk ketika beberapa pemain di area yang sama melakukan emote yang sama pada saat bersamaan. Ketika lebih banyak pemain bergabung, mega emote menjadi lebih besar. Saat para pemain berhenti melakukan emote, mega emote menjadi lebih kecil sampai akhirnya menghilang.
Ruang
tempo emote adalah kecepatan di mana emote bermain ketika tombolnya di tekan sekali. Kecepatan default emote ditentukan oleh defaultTempo emote. Kecepatan emote dapat dieningkatkan atau diurangi dengan mengetuk tombolnya lebih cepat atau lebih lambat.
Referensi API
Jenis
Emote
Setiap emote diwakili oleh kamus dengan pasangan kunci-值 berikut:
Kunci | Jenis | Deskripsi |
---|---|---|
name | string | Nama emote, misalnya "Shrug". |
animation | string | ID aset untuk animasi emote. |
image | string | ID aset untuk gambar emote di GUI. |
defaultTempo | nomor | Faktor kecepatan default di mana untuk memutar animasi emote. Misalnya, waktu 2 akan memutar animasi di dua kali kecepatan normalnya. Harus lebih besar dari 0. |
isLocked | boolean | Apakah emote "terkunci" dari aktivasi. |
Umum
EmoteBar.GuiJenis
Nama | Sintesis |
---|---|
EmoteBar | Bentuk default di mana emotes ditampilkan dalam bar di bagian bawah layar, dibagi menjadi beberapa "halaman." |
EmoteWheel | Variasi di mana emotes ditampilkan dalam cincin ketika seorang pemain mengklik atau mengetuk pada karakter pemain mereka. |
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Fungsi
Konfigurasikan Server
Menggeser opsi konfigurasi server-side melalui tombol/值 berikut di tabel config Class.Script. Fungsi ini hanya dapat dipanggil dari Script dan perubahan akan secara otomatis mereplikasi ke semua klien.
Kunci | Deskripsi | Standar |
---|---|---|
useDefaultEmotes | Apakah emote default yang disediakan termasuk atau tidak. | benar |
useMegaEmotes | Mengaktifkan atau menonaktifkan fitur mega emotes. | benar |
emoteMinPlayers | Jumlah minimum pemain yang melakukan emote yang sama untuk berkontribusi pada mega emote. | 3 |
emoteMaxPlayers | Jumlah maksimum pemain yang melakukan emote yang sama untuk berkontribusi pada mega emote. | 50 |
playParticles | Mengaktifkan atau menonaktifkan emoji yang dimainkan pemain sebagai partikel mengambang di atas kepala mereka. | benar |
sendContributingEmotes | Mengaktifkan atau menonaktifkan mengirim ikon emote kecil untuk berkontribusi pada mega emote. | benar |
Skrip
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
KonfigurasikanClient
Menggeser opsi konfigurasi pihak klien default melalui kunci/值 berikut di tabel config . Fungsi ini hanya dapat dipanggil dari LocalScript . Tergantung pada nilai guiType , opsi di tab yang ditunjuk juga berlaku.
Kunci | Deskripsi | Standar |
---|---|---|
guiType | Kontrol yang membentuk GUI akan diperlukan untuk menampilkan emote ( EmoteBar.GuiType ). | EmoteBar |
useTempo | Mengaktifkan atau menonaktifkan fitur tempo di mana pengguna dapat mengontrol seberapa cepat atau lambat emotes mereka dimainkan dengan mengaktifkan ulang emotes secara berulang. | benar |
tempoActivationWindow | Jumlah waktu, dalam detik, pengguna memiliki antara aktivasi berurutan dari emote untuk menghitungnya sebagai bagian dari tempo. | 3 |
lockedImage | Gambar untuk menampilkan emotes terkunci di atas. | “rbxassetid://6905802778” |
Skrip Lokal - Emote Bar
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
Tetapkan emote khusus yang akan digunakan. Ini akan ditambahkan ke default jika useDefaultEmotes adalah true , atau ganti default jika useDefaultEmotes adalah 1> false1> . Fungsi ini hanya dapat dipanggil dari Class.Script dan perubahan akan secara otomatis bere
Lihat Emote untuk struktur setiap emote yang dilewati ke fungsi ini.
Skrip - Konfigurasi Emotes
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,},})
setKesadaran
Menunjukkan atau menyembunyikan emotes GUI. Fungsi ini hanya dapat dipanggil dari LocalScript tertentu di klien tertentu.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
mendapatkan Emote
Mendapatkan Emote dengan nama. Mengembalikan nil jika emote tidak dapat ditemukan. Fungsi ini hanya dapat dipanggil dari LocalScript tertentu di klien tertentu.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
Mainkan Emote
Memainkan Emote yang diberikan dan mengeksekusan acara EmotePlayed di server, jika terhubung. Fungsi ini hanya dapat dipanggil dari Class.LocalScript di klien tertentu.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
Emote Terkunci
Mengunci Emote dengan nama yang diberikan. Fungsi ini hanya dapat dipanggil dari LocalScript di klien.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Buka Emote
Buka kunci Emote dengan nama yang diberikan. Fungsi ini hanya dapat dipanggil dari LocalScript di klien.
Skrip Lokal
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Acara
emoteDimainkan
Diaktifkan ketika klien memainkan emote. Acara ini hanya dapat dihubungkan dalam LocalScript .
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)
Emote TerkunciAktif
Diaktifkan ketika klien mengklik emote yang terkunci. Acara ini hanya dapat dihubungkan dalam LocalScript .
Parameter | |
---|---|
emote: Emote | Emote yang dikunci yang telah 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)