Bu örnek, kendi ön yüzünüzü tasarlamak için TextChatService sınıfını nasıl kullanacağınızı gösterir. CreateDefaultTextChannels'dan varsayılan metin kanallarını yeniden kullanır ve varsayılan UI ile karşılaştırıldığında oldukça basittir.
TextChatService ile birlikte gelen varsayılan UI'yi, Studio'nun Properties penceresinde ChatWindowConfiguration.Enabled ve ChatInputBarConfiguration.Enabled özelliklerini false olarak ayarlayarak devre dışı bırakın.
Sohbet giriş çubuğu için bir yedek oluşturun. Bu, kullanıcı Enter tuşuna bastığında mesajları ileten metin kutusudur.
Bir ScreenGui oluşturun ve StarterGui'ya ebeveyn olarak ekleyin.
Bir TextBox oluşturun ve bunu yeni ScreenGui 'ya ebeveyn olarak ekleyin, ardından bunu istediğiniz gibi yeniden konumlandırın ve yeniden boyutlandırın.
Bir LocalScript oluşturun ve bunu yeni TextBox'a ebeveyn olarak ekleyin.
Aşağıdaki kodu LocalScript'e ekleyin:
Clientlocal 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("Mesaj gönderilemedi")end-- Kullanıcılar, bir mesaj gönderildikten sonra giriş kutusunun temizlenmesini beklertextBox.Text = ""endend)
Sohbet penceresi için bir yedek oluşturun. Bu, TextChatService.MessageReceived'dan alınan mesajları gösteren ScrollingFrame'dır. Bu adım ayrıca mesajları otomatik olarak düzenlemek için bir UIListLayout oluşturur.
Bir başka yeni ScreenGui oluşturun ve bunu StarterGui'ya ebeveyn olarak ekleyin.
Bir ScrollingFrame oluşturun ve bunu ScreenGui'ya ebeveyn olarak ekleyin, ardından bunu istediğiniz gibi yeniden konumlandırın ve yeniden boyutlandırın.
Bir UIListLayout oluşturun ve bunu ScrollingFrame'a ebeveyn olarak ekleyin.
Bir LocalScript oluşturun ve bunu ScrollingFrame'a ebeveyn olarak ekleyin.
Aşağıdaki kodu LocalScript'e ekleyin:
Clientlocal TextChatService = game:GetService("TextChatService")-- Alınan her mesaj için yeni bir metin etiketi oluşturma fonksiyonulocal 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)
Oyunuzu, sohbet giriş çubuğunda mesaj göndererek test edin. Mesajların sohbet penceresinde göründüğünü almalısınız. Daha sonra, bir tuşa basıldığında TextBox'a odaklanmak veya sohbet etiketleri eklemek gibi özellikler ekleyerek bu örneği genişletebilirsiniz.