Bu örnek, kendi frontend'inizi tasarlamak için TextChatService sınıfını nasıl kullanacağınızı gösterir.Varsayılan metin kanallarını CreateDefaultTextChannels 'dan yeniden kullanır ve varsayılan UI'ye kıyasla çok basittir.
Studio'nun TextChatService penceresinde ChatWindowConfiguration.Enabled ve ChatInputBarConfiguration.Enabled özelliklerini ayarlayarak varsayılan UI'yi devre dışı bırakın false ve Studio'nun Özellikleri penceresinde çalıştırın.
Sohbet giriş çubuğu için bir değiştirme oluşturun. Bu, kullanıcı Enter düğmesine bastığında iletiler gönderen metin kutusudur.
Bir ScreenGui oluştur ve bunu StarterGui 'ye ebeveyn yap.
Bir oluştur ve yeni 'e ebeveyn yap, ardından yeniden konumlandır ve istediğiniz gibi yeniden boyutlandır.
Bir LocalScript oluştur ve yeni TextBox 'e ebeveyn ol.
Aşağıdaki kodu LocalScript 'ye ekleyin:
Müşterilocal TextChatService = game:GetService("TextChatService")-- RBXGeneral, varsayılan genel kanaldırlocal RBXGeneral = TextChatService:FindFirstChild("TextChannels"):WaitForChild("RBXGeneral")local textBox = script.ParenttextBox.FocusLost:Connect(function(enterPressed)local text = textBox.Textif enterPressed and #text > 0 thenlocal success, response = pcall(function()return RBXGeneral:SendAsync(textBox.Text)end)if not success thenRBXGeneral:DisplaySystemMessage("Failed to send message")end-- Kullanıcılar, bir mesaj gönderdikten sonra giriş kutusunun temizlenmesini beklertextBox.Text = ""endend)
Sohbet penceresine bir değiştirme oluştur.Bu, iletilerin alındığı gibi gösterilen ScrollingFrame mesajların görüntülenmesidir TextChatService.MessageReceived.Bu adım ayrıca mesajları otomatik olarak düzenlemek için bir UIListLayout oluşturur.
Başka yeni bir ScreenGui oluştur ve bunu StarterGui 'ye ebeveyn yap.
Bir oluştur ve bunu 'ye eşleştir, ardından yeniden konumlandır ve istenen şekilde yeniden boyutlandır ».
Bir UIListLayout oluştur ve bunu ScrollingFrame 'ye ebeveyn yap.
Bir LocalScript oluştur ve bunu ScrollingFrame 'ye ebeveyn yap.
Aşağıdaki kodu LocalScript 'ye ekleyin:
Müşterilocal TextChatService = game:GetService("TextChatService")-- Alınan her mesaj için yeni bir metin etiketi oluşturmak için işlevlocal function addMessageGui(textChatMessage: TextChatMessage)local isOutgoingMessage = textChatMessage.Status == Enum.TextChatMessageStatus.Sendinglocal parent = script.Parentlocal originalLabel = parent:FindFirstChild(textChatMessage.MessageId)if originalLabel thenoriginalLabel.Text = textChatMessage.TextoriginalLabel.BackgroundTransparency = if isOutgoingMessage then 0.5 else 0elselocal textLabel = Instance.new("TextLabel")textLabel.BorderSizePixel = 0textLabel.Font = Enum.Font.BuilderSanstextLabel.TextSize = 18textLabel.TextXAlignment = Enum.TextXAlignment.LefttextLabel.BackgroundTransparency = if isOutgoingMessage then 0.5 else 0textLabel.BackgroundColor3 = Color3.fromRGB(0, 0, 0)textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)textLabel.Name = textChatMessage.MessageIdtextLabel.AutomaticSize = Enum.AutomaticSize.XYtextLabel.Text = textChatMessage.TexttextLabel.Parent = parentendend-- Gelen mesajları dinlemeye başlaTextChatService.MessageReceived:Connect(addMessageGui)
Sohbet giriş çubuğuna mesaj göndererek deneyiminizi test edin.Mesajların sohbet penceresinde göründüğünü görmelisiniz.Ardından bu örneği genişletebilirsiniz, bir anahtar basıldığında TextBox odaklanmak veya sohbet etiketleri eklemek gibi özellikler ekleyerek.