Emoteler herhangi bir sosyal deneyimin temel bir bileşeni. EmoteBargeliştirici modül hedef, oyunculara anlamlı bir sosyal etkileşimi kolaylaştırmak için erişilebilir, özelleştirilebilir bir yol sağlar.
Modül Kullanımı
Kurulum
Bir deneyimde EmoteBar modülünü kullanmak:
从 Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.
Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.
Yerleştir ve Dev Modülleri mozülünü tıkla.
Emote Bar modülünü bul ve tıkla, yoksa 3D görüşüne kaydır.
In the Explorer window, move the entire EmoteBar model into ServerScriptService . On running the experience, the module will distribute itself to various services and begin running.
Yapılandırma
Modül 7 emote ile önceden yapılandırılmıştır ve kendi emotelerinizle kolayca özelleştirilebilir. Ayrıca, oyuncu Lil Nas X, Royal Blood veya Twenty One Pilots gibi önceki Roblox etkinliklerinden emote'leri sahipse, bu emoteler otomatik olarak listeye mevcut emoteler eklenir.
In ServerScriptService , yeni bir Script oluşturun ve ismini ConfigureEmotes ile değiştirin.
Aşağıdaki kodu yeni ConfigureEmotes kriptine yapıştırın. useDefaultEmotes ayarı, varsayılan emoteleri üstüste yazıp, özel emoteleri tanımlayabilirsiniz ve false kısmı aracılığıyla özel emoteleri tanımlayabilirsiniz.
Kod - ConfigureEmoteslocal 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 Emoteler
Aynı alanda birden fazla oyuncu aynı anda aynı emote'u yerine getirirse, mega emote oluşur. Daha fazla oyuncu katılırsa, mega emote daha da büyür. Oyuncular ifade'u yerine getirmeyi bırakırsa, mega emote daha da küçülecek ve sonunda kaybolacaktır.
Zaman
Bir ifade zoamanı o butona basıldığında oynadığı hızdır. Bir emotenin varsayılan hızı, onun defaultTempo ile belirlenir. Bir ifadehızını artırmak veya azaltmak için, butonunu daha hızlı veya daha yavaş tıklayabilirsiniz.
API İşaretçisi
Türler
ifade
Her emote'in kendi anlattığını ifade eden bir sözlük ile ifade edilir:
Anahtar | Tür | Açıklama |
---|---|---|
name | dizi | Örnek olarak, emote ismi "Shrug" . |
animation | dizi | Animasyonun için varlık kimliği. |
image | dizi | Güçlendirmeyi GUI'deki görüntü için ifade'in ID'si. |
defaultTempo | sayı | Emote animasyonunu oynatmak için varsayılan hız faktörü. Örneğin, 2 saniye zamanında animasyonu iki kat normal hızında oynatır. 0'den daha büyük olmalıdır. |
isLocked | boolean | Emote'nin etkinleştirilmesinden "kilitli" olup olmadığı. |
Enümler
EmoteBar.GuiTipi
İsim | Özet |
---|---|
EmoteBar | Ekranın altındaki bir çubukta gösterilen emotelerin olduğu varsayılan form, ayrılmış "sayfalar" olarak ayrılmıştır. |
EmoteWheel | Oyuncu oyuncu karakterine tıklayarak veya dokunarak bir halka gösterilen emotes'ın yanında bir emotes gösteren bir varyant. |
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
Fonksiyonlar
Sunucuyu Yapılandır
class' kaynağındaki Script tabelasındaki varsayılan sunucu-taraflı yapılandırma seçeneklerini üstüste geçer. Bu işlev sadece bir Class.Script kaynağından çağrılabilir ve değişiklikler otomatik olarak tüm klientlere yeniden yazılır.
Anahtar | Açıklama | Varsayılan |
---|---|---|
useDefaultEmotes | Sunulan varsayılan emoteler dahil edilir veya edilmez. | doğru |
useMegaEmotes | büyük emoteler özelliketkinleştirir veya devre dışı bırakır. | doğru |
emoteMinPlayers | Mega bir emote'e katkıda bulunmak için aynı ifade'i yerine getiren minimum oyuncu sayısı. | 3 |
emoteMaxPlayers | Mega bir emote'e katkıda bulunmak için aynı ifade'i yerine getiren maksimum oyuncu sayısı. | 50 |
playParticles | Oyuncuların başlarındaki yüzük parçalar olarak oynadığı emoteleri etkinleştirir veya devre dışı bırakır. | doğru |
sendContributingEmotes | Mega ifade'e katkıda bulunmak için küçük bir emote ikonu göndermeyi etkinleştirir veya devre dışı bırakır. | doğru |
Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureServer({emoteMinPlayers = 2,playParticles = false,})
Client'ı yapılandır
config tableindeki birkaç anahtar/değer aracılığıyla varsayılan müşteri-taraflı yapılandırma seçeneklerini geçersiz kılar. Bu işlev sadece Class.LocalScript tablosunda bulunan anahtar/değerler aracılığıyla çağrılabilir. guilty , seçeneklerin belirtilen1>tablolar1> içindeki değerler
Anahtar | Açıklama | Varsayılan |
---|---|---|
guiType | Eмоjileri göstermek için oluşturan kontroller ( EmoteBar.GuiType ). | EmoteBar. |
useTempo | Kullanıcıların aynı anda emotes'unu oynatma hızını kontrol etmesini sağlayan zoaman özelliğini etkinleştirir veya devre dışı bırakır. | doğru |
tempoActivationWindow | Kullanıcının zamanı saymak için bir emote'in kısa süreli aktivasyonları arasındaki süre, saniye olarak ifade edilir. | 3 |
lockedImage | Üst kısma kilitli ifadeleri gösteren bir görüntü. | “rbxassetid://6905802778” |
Yerel Kod - 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,})
Yerel Kod - Emote Çarkı
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.configureClient({guiType = EmoteBar.GuiType.EmoteWheel,})
setEmotes
Kullanılacak özel emoteleri ayarlar. Bu, useDefaultEmotes ile eşzamanlanırsa varsayılır, yoksa varsayılmayan özel emoteleri true ile yeniden yazılır. Bu işlev sadece useDefaultEmotes から çağrılabilir ve değişiklik
Bu işlevin geçişindeki her emote'nin yapısı için Emote emotesine bakın.
Kod - ConfigureEmotes
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,},})
Set GUI Görünürlüğü
Emoteler GUI'yi gösterir veya gizler. Bu işlev sadece belirli bir LocalScript üzerinden çağrılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.setGuiVisibility(false)
getEmote
Bir Emote adına bir nil. Emote bulunamadığında LocalScript döndürür. Bu işlev sadece belirli bir 2> Class.LocalScript2> üzerindeki bir 5> Class.LocalScript5> ile çağrılanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")
oyunEmote
Verilen Emote oynatır ve sunucuda bağlı olarak emotePlayed etkinliğini başlatır, eğer bağlantılıysa. Bu işlev sadece belirli bir LocalScript üzerinden çağrılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))local shrug = EmoteBar.getEmote("Shrug")EmoteBar.playEmote(shrug)
kilitEmote
Emote'yi kullanıcının verdiği isimle kilitler. Bu işlev sadece LocalScript üzerindeki bir kullanıcı tarafından çağrılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.lockEmote("Applaud")
Emote'yi kilidini aç
Bu, verilen isimle Emote ile kilit açılır. Bu işlev sadece LocalScript üzerindeki bir Class.LocalScript tarafından çağrılabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))EmoteBar.unlockEmote("Applaud")
Etkinlikler
emoteOynandı
Herhangi bir müşteri bir ifadeoynadığında ateşlenir. Bu olay sadece bir LocalScript ile bağlanabilir.
Yerel Kod
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local EmoteBar = require(ReplicatedStorage:WaitForChild("EmoteBar"))
EmoteBar.emotePlayed:Connect(function(player, emote)
print(player.Name, "played", emote.name)
end)
kilitliEmoteAktif
Bir kilitli ifade'a tıklandığında oluşur. Bu olay sadece LocalScript ile bağlanabilir.
Parametreler | |
---|---|
ifade: Emote | Aktifleştirilmiş kilitli emote. |
Yerel Kod
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)