Emote Barı

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

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:

  1. Görüntü sayfasından aç Araç Kutusu ve seç Yaratıcı Dükkanı sayfasını.

    Toolbox toggle button in Studio
  2. Modelleri Sırala seçimi seçildiğinden emin olun, sonra Tümünü Gör düğmesine tıklayın, Kategoriler için.

  3. Yerleştir ve Dev Modülleri mozülünü tıkla.

  4. Emote Bar modülünü bul ve tıkla, yoksa 3D görüşüne kaydır.

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

  1. In ServerScriptService , yeni bir Script oluşturun ve ismini ConfigureEmotes ile değiştirin.

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

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:

AnahtarTürAçıklama
namediziÖrnek olarak, emote ismi "Shrug" .
animationdiziAnimasyonun için varlık kimliği.
imagediziGüçlendirmeyi GUI'deki görüntü için ifade'in ID'si.
defaultTemposayı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.
isLockedbooleanEmote'nin etkinleştirilmesinden "kilitli" olup olmadığı.

Enümler

EmoteBar.GuiTipi

İsimÖzet
EmoteBarEkranın altındaki bir çubukta gösterilen emotelerin olduğu varsayılan form, ayrılmış "sayfalar" olarak ayrılmıştır.
EmoteWheelOyuncu 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

Server(config: table )

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.

AnahtarAçıklamaVarsayılan
useDefaultEmotesSunulan varsayılan emoteler dahil edilir veya edilmez.doğru
useMegaEmotesbüyük emoteler özelliketkinleştirir veya devre dışı bırakır.doğru
emoteMinPlayersMega bir emote'e katkıda bulunmak için aynı ifade'i yerine getiren minimum oyuncu sayısı.3
emoteMaxPlayersMega bir emote'e katkıda bulunmak için aynı ifade'i yerine getiren maksimum oyuncu sayısı.50
playParticlesOyuncuların başlarındaki yüzük parçalar olarak oynadığı emoteleri etkinleştirir veya devre dışı bırakır.doğru
sendContributingEmotesMega 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

client(config: Library.table)

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

AnahtarAçıklamaVarsayılan
guiTypeEмоjileri göstermek için oluşturan kontroller ( EmoteBar.GuiType ).EmoteBar.
useTempoKullanı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
tempoActivationWindowKullanı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

setEmotes (emotes: table )

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üğü

setGuiVisibility(görünür: boolean )

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

getEmote(emoteName: string): table

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

playEmote(ifade: Emote )

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

lockEmote(emoteName: string )

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ç

Emote'i aç(emoteName: string )

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.

Parametreler
oyuncu: Playerifade'i yerine getiren oyuncu.
ifade: EmoteOynanan emote.
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: EmoteAktifleş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)