Bar Emote

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

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:

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

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

  3. Temukan dan klik Modul Dev ubin.

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

  5. 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.

  1. Di ServerScriptService , buat Script baru dan ganti namanya Konfigurasi Emotes .

  2. 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 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,
    },
    })

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:

KunciJenisDeskripsi
namestringNama emote, misalnya "Shrug".
animationstringID aset untuk animasi emote.
imagestringID aset untuk gambar emote di GUI.
defaultTemponomorFaktor kecepatan default di mana untuk memutar animasi emote. Misalnya, waktu 2 akan memutar animasi di dua kali kecepatan normalnya. Harus lebih besar dari 0.
isLockedbooleanApakah emote "terkunci" dari aktivasi.

Umum

EmoteBar.GuiJenis

NamaSintesis
EmoteBarBentuk default di mana emotes ditampilkan dalam bar di bagian bawah layar, dibagi menjadi beberapa "halaman."
EmoteWheelVariasi 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

konfigurasikanServer(config: table )

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.

KunciDeskripsiStandar
useDefaultEmotesApakah emote default yang disediakan termasuk atau tidak.benar
useMegaEmotesMengaktifkan atau menonaktifkan fitur mega emotes.benar
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 emoji yang dimainkan pemain sebagai partikel mengambang di atas kepala mereka.benar
sendContributingEmotesMengaktifkan 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

konfigurasikanClient(config: table )

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.

KunciDeskripsiStandar
guiTypeKontrol yang membentuk GUI akan diperlukan untuk menampilkan emote ( EmoteBar.GuiType ).EmoteBar
useTempoMengaktifkan atau menonaktifkan fitur tempo di mana pengguna dapat mengontrol seberapa cepat atau lambat emotes mereka dimainkan dengan mengaktifkan ulang emotes secara berulang.benar
tempoActivationWindowJumlah waktu, dalam detik, pengguna memiliki antara aktivasi berurutan dari emote untuk menghitungnya sebagai bagian dari tempo.3
lockedImageGambar 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

setEmotes(emotes: table )

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

setGuiVisibility(terlihat: boolean )

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

mendapatEmote(emoteName: string): table

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

Mainkan Emote (emote: 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

lockEmote(emoteName: string )

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 Emote(emoteName: string )

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 .

Parameter
pemain: PlayerPemain yang bertindak melalui emote.
emote: EmoteEmote yang telah 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)

Emote TerkunciAktif

Diaktifkan ketika klien mengklik emote yang terkunci. Acara ini hanya dapat dihubungkan dalam LocalScript .

Parameter
emote: EmoteEmote 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)