Emote'lar, herhangi bir sosyal deneyimin temel bileşenleridir. EmoteBar geliştirici modülü, oyunculara anlamlı sosyal etkileşimi kolaylaştırmak için erişilebilir, özelleştirilebilir bir yol sunmayı amaçlıyor.
Modül Kullanımı
Kurulum
EmoteBar modülünü bir deneyimde kullanmak için:
Studio'nun Pencere menüsünden veya Ana Sayfa sekmesindeki araç çubuğundan Toolbox açın ve Yaratıcı Mağaza sekmesini seçin.

Modeller sıralamasının seçili olduğundan emin olun, ardından Tümünü Gör butonuna tıklayın.

Paketler kutusunu bulun ve tıklayın.
Emote Çubuğu modülünü bulun ve tıklayın veya 3D görünümü içine sürükleyip bırakın.

Explorer penceresinde, tüm EmoteBar modelini ReplicatedStorage'a taşıyın. Deneyimi çalıştırdığınızda modül çalışmaya başlayacaktır.
Yapılandırma
Modül, 7 emote ile önceden yapılandırılmıştır ve kendi emote'larınız ve görüntüleme seçenekleriniz ile kolayca özelleştirilebilir. Ayrıca, oyuncunun daha önceki Roblox etkinliklerinden (Lil Nas X, Royal Blood veya Twenty One Pilots gibi) sahip olduğu herhangi bir emote, mevcut emote listesine otomatik olarak eklenecektir.
ServerScriptService içinde yeni bir Script oluşturun ve adını ConfigureEmotes olarak değiştirin.

Aşağıdaki kodu yeni ConfigureEmotes script'ine yapıştırın. useDefaultEmotes ayarı false olarak ayarlandığında varsayılan emote'ları geçersiz kılar ve setEmotes fonksiyonu aracılığıyla özel emote'lar tanımlamanıza izin verir.
Script - ConfigureEmoteslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Merhaba",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Alkışla",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
Mega Emote'lar
Bir mega emote, aynı alandaki birden fazla oyuncunun aynı anda aynı emote'u gerçekleştirmesiyle oluşur. Daha fazla oyuncu katıldıkça, mega emote daha da büyür. Oyuncular emote'u gerçekleştirmeyi bıraktıkça, mega emote küçülür ve sonunda kaybolur.

Tempo
Bir emote'un tempo'su, düğmesine bir kez basıldığında çaldığı hızdır. Bir emote'un varsayılan hızı, defaultTempo'su ile belirlenir. Bir emote'un hızı, düğmesine daha hızlı veya daha yavaş basarak artırılabilir veya azaltılabilir.
API Referansı
Türler
Emote
Her emote, aşağıdaki anahtar-değer çiftleri ile bir sözlükle temsil edilir:
| Anahtar | Tür | Açıklama |
|---|---|---|
| name | string | Emote adı, örneğin "Shrug". |
| animation | string | Emote'un animasyonuna ait varlık kimliği. |
| image | string | Emote'un GUI'deki resmine ait varlık kimliği. |
| defaultTempo | number | Emote animasyonunu oynatma süresinde varsayılan hız faktörü. Örneğin, 2 temposu, animasyonu normal hızının iki katında oynatır. 0'dan büyük olmalıdır. |
| isLocked | bool | Emote'un etkinleştirilmesinin "kilitli" olup olmadığı. |
Enum'lar
EmoteBar.GuiType
| İsim | Kapsam |
|---|---|
| EmoteBar | Varsayılan form, emote'ların ekranın altındaki bir çubukta görüntüleneceği, bireysel "sayfalara" ayrılmıştır. |
| EmoteWheel | Bir oyuncu karakterine tıkladığında veya dokunduğunda emote'ların bir halkada görüntülendiği varyant. |
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Fonksiyonlar
configureServer
configureServer(config: table)
Aşağıdaki anahtar/değerler aracılığıyla varsayılan sunucu tarafı yapılandırma seçeneklerini geçersiz kılar. Bu fonksiyon yalnızca bir Script'ten çağrılabilir ve değişiklikler otomatik olarak tüm istemcilere yansıtılır.
| Anahtar | Açıklama | Varsayılan |
|---|---|---|
| useDefaultEmotes | Verilen varsayılan emote'ların dahil edilip edilmeyeceği. | true |
| useMegaEmotes | mega emote'lar özelliğini etkinleştirir veya devre dışı bırakır. | true |
| emoteMinPlayers | Aynı emote'u gerçekleştiren minimum oyuncu sayısı, mega emote'a katkıda bulunmak için. | 3 |
| emoteMaxPlayers | Aynı emote'u gerçekleştiren maksimum oyuncu sayısı, mega emote'a katkıda bulunmak için. | 50 |
| playParticles | Oyuncuların emote'lerinin başlarının üstünde yüzen parçacıklar olarak görüntülenip görüntülenmeyeceğini etkinleştirir veya devre dışı bırakır. | true |
| sendContributingEmotes | Mega emote'a katkıda bulunmak için küçük bir emote simgesinin gönderilip gönderilmeyeceğini etkinleştirir veya devre dışı bırakır. | true |
Scriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
configureClient
configureClient(config: table)
Aşağıdaki anahtar/değerler aracılığıyla varsayılan istemci tarafı yapılandırma seçeneklerini geçersiz kılar. Bu fonksiyon yalnızca bir LocalScript'ten çağrılabilir. guiType değerine göre, belirtilen sekmelerdeki seçenekler de geçerlidir.
| Anahtar | Açıklama | Varsayılan |
|---|---|---|
| guiType | Emote'ları görüntülemek için GUI'nin alacağı formu kontrol eder (EmoteBar.GuiType). | EmoteBar |
| useTempo | Kullanıcıların emote'larının nasıl hızlı veya yavaş oynatılacağını kontrol edebilmeleri için tempo özelliğini etkinleştirir veya devre dışı bırakır. | true |
| tempoActivationWindow | Bir emote'un ardışık etkinleştirmeleri arasında kullanıcının sahip olduğu süre, saniye cinsinden. | 3 |
| lockedImage | Kilitli emote'ların üzerinde görüntülenecek resim. | "rbxassetid://6905802778" |
LocalScript - Emote Çubuğulocal 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 - Emote Tekerleğilocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
setEmotes
setEmotes(emotes: table)
Kullanılacak özel emote'ları ayarlar. Eğer useDefaultEmotes true ise, bunlar varsayılanlara eklenir; false ise varsayılanların yerini alır. Bu fonksiyon yalnızca bir Script'ten çağrılabilir ve değişiklikler otomatik olarak tüm istemcilere yansıtılır.
Bu fonksiyona geçirilen her bir emote'un yapısı için Emote kısmına bakın.
Script - ConfigureEmoteslocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.configureServer({useDefaultEmotes = false,})EmoteBar.setEmotes({{name = "Merhaba",animation = "rbxassetid://3344650532",image = "rbxassetid://7719817462",defaultTempo = 1,},{name = "Alkışla",animation = "rbxassetid://5915693819",image = "rbxassetid://7720292217",defaultTempo = 2,},})
setGuiVisibility
setGuiVisibility(visible: boolean)
Emote GUI'sini gösterir veya gizler. Bu fonksiyon yalnızca belirli bir istemci üzerinde bir LocalScript'ten çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.setGuiVisibility(false)
getEmote
Bir Emote'u adla alır. Emote bulunamazsa nil döner. Bu fonksiyon yalnızca belirli bir istemci üzerinde bir LocalScript'ten çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)local shrug = EmoteBar.getEmote("Shrug")
playEmote
playEmote(emote: Emote)
Verilen Emote'u oynatır ve sunucudaki emotePlayed olayını tetikler, eğer bağlıysa. Bu fonksiyon yalnızca belirli bir istemci üzerinde bir LocalScript'ten çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
lockEmote
lockEmote(emoteName: string)
Verilen isme sahip Emote'u kilitler. Bu fonksiyon yalnızca istemcide bir LocalScript'ten çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.lockEmote("Alkışla")
unlockEmote
unlockEmote(emoteName: string)
Verilen isme sahip Emote'u kilidini açar. Bu fonksiyon yalnızca istemcide bir LocalScript'ten çağrılabilir.
LocalScriptlocal ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage.EmoteBar)EmoteBar.unlockEmote("Alkışla")
Olaylar
emotePlayed
Herhangi bir istemci bir emote oynattığında tetiklenir. Bu olay yalnızca bir LocalScript içinde bağlanabilir.
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "şu emote'u oynattı:", emote.name)
end)
lockedEmoteActivated
Bir istemci kilitli bir emote'a tıkladığında tetiklenir. Bu olay yalnızca bir LocalScript içinde bağlanabilir.
| Parametreler | |
|---|---|
| emote: Emote | Etkinleştirilen kilitli emote. |
LocalScript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local Players = game:GetService("Players")
local EmoteBar = require(ReplicatedStorage.EmoteBar)
EmoteBar.lockedEmoteActivated:Connect(function(emote)
print(Players.LocalPlayer, "şu emote'a tıkladı:", emote.name)
end)