Chat
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Sohbet hizmeti, Miras sohbet sistemi ı çalıştıran Lua kodunu sorumludur. StarterPlayerScripts , varsayılan nesneleri 1> Class.Script|Scripts1> ve 4> Class.ModuleScript|ModuleScripts4> gibi yerleştirir.
Özet
Özellikler
oyuncusohbet mesajlarının oyun içi avatarının üstünde görünmesini belirler.
Oyun çalıştığında varsayılan sohbet çerçevesi'nin otomatik olarak yüklenmesini sağlar.
Yöntemler
Bu yöntemde belirtilen parametrelerle Chat.Chatted etkinliğini başlatır.
Lua Chat Sistemi tarafından kaydedilen bir sohbet geri arama işlevini çağır. Lua Chat Sistemi tarafından kullanılır.
Bazı sohbet sistemi olaylarının çağrılması üzerine çağrılacak bir işlev kaydır (InvokeChatCallback).
Oyun içi balon sohbetinin çeşitli ayarlarını özelleştirir.
Belirlenen Player.UserId ile oynayan oyuncuya sohbet etme izin verilmezse geri dönecektir.
Eğer iki kullanıcı iletişim kuramıyorsa, hesap ayarlarının buna izin vermediği için geri dönecektir.
Oyuncunun hesabına uygun olarak filtreleme kullanarak bir başka oyuncuya gönderilen bir diziyi filtreler.
Bir oyuncunun yayın için belirli bir hedefe gönderdiği bir yol filtreleyen bir yol. Daha kısıtlayıcı Chat:FilterStringAsync() .
Etkinlikler
Class.Sohbet:Sohbet() çağrıldığında yanar.
Özellikler
BubbleChatEnabled
Eğer doğruysa, sohbete bir mesaj girmeniz durumunda oyuncunun Player.Character üzerinde bir sohbet balonu açılacaktır. Bu davranış Studio'da doğrudan bu kontrol kutusunu tıklayarak etkinleştirilebilir veya LocalScript kullanarak etkinleştirilebilir :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Bunu kliende yapmalı, bu değeri bir sunucu-taraflı Script içinde değiştirmek etkisi olmayacaktır.
LoadDefaultChat
Oyun çalıştığında varsayılan sohbet çerçevesi'nin otomatik olarak yüklenmesini sağlar.
Yöntemler
Chat
Sohbet işlevi, bu yöntemde belirtilen parametrelerle Chat.Chatted etkinliğini başlatır.
Varsayılan olarak, her oyuncunun LocalScript adlı öğesinin içinde bir PlayerScripts var, bu da bir diyalog gibi bir afişin BubbleChat adlı oyuncunun etkinliği üzerinde görünmesine neden olur.
Not: Çünkü diyaloglar yerel bir script tarafından kontrol edildiğinden, bu yöntemden çıkış yapmadığınız sürece diyalogları göremiyorsunuz.
Parametreler
BubbleChat diyalogunun üstünde görünmesi gereken bir bölüm veya karakter.
Mesaj metni sohbet ediliyor.
Bir Enum.ChatColor mesajın rengini belirtir.
Dönüşler
Kod Örnekleri
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
InvokeChatCallback, Sohbetevrakında kayıtlı bir işlevi çağırır, ChatCallbackType枚 ve argümanlarının işlevi gönderileceği belirtilmiştir. İşlevin kaydedilen sonucunu iade eder veya bir işlev kaydedilmediysa bir hata oluşturur.
Bu işlev Lua Chat System tarafından çağrılır, böylece sohbet çağrıları belirli özelliklerin davranışını değiştirmek için kaydedilebilir. Eğer varsayılan Lua Chat System'i sahip oldeğiştirmezseniz, bu işlevi çağırmak zorunda kalmazsınız. Ayrıntılar için Chat:RegisterChatCallback() 'i okuyabilirsiniz.
Parametreler
Çağrılacak tür.
Kaydedilen geri çağrı işlevine gönderilecek argümanlar.
Dönüşler
Verilen ChatCallbackType'e kaydedilen fonksiyonun değerleri.
RegisterChatCallback
RegisterChatCallback bağlantısı, Lua chat sisteminin davranışını etkilemek için bazı sohbet sistemi olaylarına bir işlev bağlar. İlk argüman, kullanılan Enum.ChatCallbackType küt
Sohbet Penceresi Oluşturulurken
Sadece müşteri. Chat penceresini oluşturmadan önce çağrılır. ChatSettings modülünün içeriğini içeren bir tablo gerekir.
OnClientForm팅Message
Sadece müşteri. Müşteri bir mesaj göstermeden önce çağrılır (özellikle bir oyuncu sohbet mesajı, sistem mesajı veya /me komutu). Bu işlev, mesaj nesnesi ile çağrılır ve (ya da değil) message.ExtraData ile birleştirilebilir bir tabloyu dönebilir.
OnClientSendingMessage
Bu sürece çağrılmaz.
OnServerReceivingMessage
Sadece sunucu. Sunucu bir konuşmacıdan bir mesaj aldığında çağrılır (not that konuşmacılar bir Player sohbet etme olabilir). Bu çağrı geri çağrı olarak adlandırılır. Functions can make changes to the Message object to change the manner in which the message is processed. The Message object must be returned for this callback to do anything. Bu
- mesaj.ShouldDeliver iletişimini iptal etmek için false'ı yazın (bir sohbet dışlama listesi uygulamak için yararlı)
- hoparlör'ın ismini al/ayarla ( message.ExtraData.NameColor , bir Renk3) bir mesaj üzerine
Parametreler
Fonksiyonun kaydedileceği çağrı (bu, fonksiyonun nasıl çağrıldığını belirler).
Sohbet:ExecuteChatCallback kullanılarak çağrılan işlev.
Dönüşler
SetBubbleChatSettings
Bu özellik, oyun içi balon sohbetinin çeşitli ayarlarını özelleştirir.
Bunu kullanmadan önce, balon sohbetinin Chat.BubbleChatEnabled ayarının doğru olup olmadığını kontrol edin.
Ayarlar ар引i, ayarları düzenlemek istediğiniz ayarların isimleri ve değerleri olan bir taboldur. Ayarların girdiğiniz değerleri gösteren bazılarını gizleyerek varsayılan değerlerini korur. Ayarların girdiğiniz değerleri gizleyerek varsayılan değerlerini korur. Ayarların girdiğiniz değerleri gizleyerek varsayılan değerleri korur. Ayarların girdiğiniz değerleri g
Bu işlev sadece kullanıcı tarafından yapılır, sunucuda çağrılmaya çalışmak bir hata yapar.
Parametreler
Bir ayarlar tablosu.
Dönüşler
Kod Örnekleri
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUserChatAsync
Belirlenen Player.UserId ile oynayan oyuncuya sohbet etme izin verilmezse geri dönecektir.
Parametreler
Dönüşler
CanUsersChatAsync
Eğer iki kullanıcı iletişim kuramıyorsa, hesap ayarlarının buna izin vermediği için geri dönecektir.
Parametreler
Dönüşler
FilterStringAsync
Parcial Deprecation Warning : Bu işlevi kullanmak, LocalScript kullanıcısından bir Script üzerinden kullanıyorsa, deprecation'ın kullanımı yasaklanacak ve gelecekte de devre dışı bırakılacaktır. Text filtering'in bir 0> Class
Oyuncu oluşturduğu metni doğru bir şekilde filtrelemeyen oyunlar moderasyon aksiyontabi olabilir. Lütfen oyunu yayınlamadan önce metni doğru bir şekilde filtrelediğinizden emin olun.
FilterStringAsync bir string'i, bir oyuncunun göndermesi ve alması için uygun olan filtreleme kullanarak filtreleyen bir string'i kullanır. Eğer filtrelenmiş string bir persist mesajı için kullanılacaksa, bir plakada yazılıyor vb. olarak, işlev aracılığıyla yazarla birlikte yazılmalıdır.
Bu işlev her oyuncu her girişinde özel metni herhangi bir konumda kullanabilmelidir, genellikle bir TextBox kullanarak. Birkaç örnek metin filtrelenmelidir:
- Özel sohbet mesajları
- Özel karakter isimleri
- Bir tycoon-tarzı oyunun bir dükkanı için isimler
Parametreler
Filtrelenen oyuncu tarafından girdiği gibi kullanıcı tarafından girilen orijinal metin.
Metnin yazarı.
Verilen metnin alıcısı; metin persistsekiyse yazara kullanın (açıklamaya bakın).
Dönüşler
FilterStringForBroadcast
playerFrom'den gönderilen bir dizi filtre edilmiş özel bir hedefe yayınlanmayacak. Şifrelenmiş mesajın Class.Sohbet:FilterStringAsync() ile sınırları aşıyor.
Bu yöntemin nerede kullanılabileceğinin bazı örnekleri:
- Mesaj duvarları
- Sunucu arası çığlıklar
- Kullanıcı tarafından oluşturulan işaretler
FilterString'i LocalScripts 'dan çağırmak artık deprecated ve gelecekte de devre dışı bırakılacaktır. Tekst filtrelemesi, Server-side'deki Scripts kullanılarak yapılmalıdır, bunun için FilterStringAsync kullanılır.
Not:: Özel sohbet veya diğer kullanıcı tarafından oluşturulan metni bu filtre işlevini kullanmayan bir oyun, moderasyon aksiyontabi olabilir.
Parametreler
Mesaj metni filtreleniyor.
mesajgönderen oyuncunun bir istanzi.
Dönüşler
Sansürlenmiş mesaj dizi.
Kod Örnekleri
local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)
Etkinlikler
Chatted
Class.Sohbet:Sohbet() çağrıldığında yanar.