Chat

Artık kullanılmayanları göster

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

Oluşturulamaz
Hizmet
Çoğaltılmamış

The Sohbet hizmeti, miras sohbet sistemini çalıştıran Luau kodunu barındırır.StarterPlayerScripts 'a benzer şekilde, varsayılan nesneler Scripts ve ModuleScripts gibi hizmete girilir.

Özet

Özellikler

  • oyuncusohbet mesajlarının oyun avatarının üzerinde görünecek olup olmadığını belirler.

  • Erişilemez Güvenliği
    Paralel oku

    Oyun çalışırken varsayılan sohbet çerçevesi otomatik olarak yüklenecek olup olmadığını değiştirir.

Yöntemler

Özellikler

BubbleChatEnabled

Paralel oku

Eğer doğruysa, sohbete bir mesaj girmek oyuncunun Player.Character üzerinde bir sohbet balonu açacaktır.Bu davranış, Studio'da bu kutuyu doğrudan işaretleyerek veya bir LocalScript kullanarak etkinleştirilebilir:


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

Bunun müşteride yapılması gerekir, bu değeri sunucu tarafında Script geçiştirmek hiçbir etkiye sahip olmayacaktır.

LoadDefaultChat

Erişilemez Güvenliği
Paralel oku

Oyun çalışırken varsayılan sohbet çerçevesi otomatik olarak yüklenecek olup olmadığını değiştirir.

Yöntemler

Chat

()

Sohbet işlevi, bu yöntemde belirtilen parametarlarla Chat.Chatted etkinliğini ateş eder.

Varsayılan olarak, her oyuncunun içinde bir BubbleChat adlı nesnesi var, bu da sohbet olayı ateşlendiğinde kısım veya karakter üzerinde bir diyalog benzeri reklam görünmesine neden oluyor.

Not: Çünkü diyaloglar bir YerelScript tarafından kontrol edilir, bu yöntemden oluşturulan herhangi bir diyaloğu göremeyeceksiniz, eğer Solo Oynama modunda çalışmıyorsanız.

Parametreler

partOrCharacter: Instance

BubbleChat diyaloğunun üstünde görünmesi gereken parça veya karakter olan bir instans.

Varsayılan değer: ""
message: string

Mesaj dizesi sohbet ediliyor.

Varsayılan değer: ""

Enum.ChatColor sohbet mesajının rengini belirten bir özellik.

Varsayılan değer: "Blue"

Dönüşler

()

Kod Örnekleri

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

InvokeChatCallback, ChatCallbackType enumerasyonu ve işlevi göndermek için verilen argümanlar verildiğinde RegisterChatCallback tarafından kayıtlı bir işlev çağıracaktır.Kayıtlı işlevin sonucunu döndürecek veya kayıtlı bir işlev yoksa bir hata ayıklayacaktır.

Bu işlev, Luau Sohbet Sistemi tarafından çağrılır, böylece sohbet geri çağrıları belirli özelliklerin davranışını değiştirmek için kaydedilebilir.Varsayılan Luau Sohbet Sistemini sahip olsisteminizle değiştirmiyorsanız, bu işlevi çağırmak zorunda olmayacaksınız.Farklı geri çağrı işlevleri hakkında bilgi edinebilirsiniz Chat:RegisterChatCallback() .

Parametreler

callbackType: Enum.ChatCallbackType

Arayınacak geri arama türü.

Varsayılan değer: ""
callbackArguments: Tuple

Kayıtlı geri arama işlevine gönderilecek argümanlar.

Varsayılan değer: ""

Dönüşler

Verilen ChatCallbackType'a kayıtlı işlev tarafından döndürülen değerler.

RegisterChatCallback

()

RegisterChatCallback, Luau sohbet sisteminin davranışını etkilemek için bir işlevi bazı sohbet sistemi etkinliğine bağlar.İlk argüman, ikinci argümanın, işlevin, bağlı olacağı olayı (Enum.ChatCallbackType enum kullanarak) belirler.Varsayılan Luau sohbet sistemi kayıtlı işlevleri çağırmak için InvokeChatCallback kullanır.Bir sunucu veya istemci olmayan bir arkadaşta sadece sunucu veya istemci tarafından kullanılan bir geri arama kaydetmeye çalışmak bir hata yükselecektir.Aşağıdaki bölümler, kayıtlı işlevlerin hangi şekillerde kullanılacağını açıklar.

OnCreatingChatWindow oluşturma penceresi

Sadece istemci.Müşteri sohbet penceresini oluşturmadan önce çağrılır.ChatSettings modülü tarafından döndürülen bilgiye birleştirilecek bir tablo ayarını geri göndermelisiniz.

OnClientFormattingMessage'da

Sadece istemci.Müşteri bir mesaj görüntülemeden önce çağrılır (oyuncu sohbet mesajı, sistem mesajı veya /me komutu).Bu işlev, mesaj nesnesi ile çağrılır ve (veya değil) message.ExtraData içine birleştirilecek bir tablo döndürebilir (veya döndürmeyebilir).

OnClientSendingMessage'da

Bu sefer çağrılmadı.

OnServerReceivingMessage'da

Sunucu sadece.Sunucu bir konuşmacıdan bir mesaj aldığında çağrılır (konuşmacıların mutlaka bir Player sohbet olması gerekmediğini unutmayın).Bu geri arama, Mesaj nesnesi ile çağrılır.İşlev, mesajın işlenme şeklini değiştirmek için Mesaj nesnesine değişiklik yapabilir. Bu geri çağrı için herhangi bir şey yapmak için Mesaj nesnesi iade edilmelidir.: Bu geri çağrıyı ayarlamak, örneğin sunucunun şunları yapmasına izin verebilir:

  • Mesajın oyunculara gönderimini iptal etmek için message.ShouldDeliver false'a ayarlayın (bir sohbet hariç listesi uygulamak için yararlı)
  • Mesaj başına hoparlöradı rengini al/ayarla ( message.ExtraData.NameColor , bir Renk3)

Parametreler

callbackType: Enum.ChatCallbackType

İşlevin kaydedileceği geri çağrı (işlevin nasıl çağrılacağını belirler).

Varsayılan değer: ""
callbackFunction: function

Geri çağrı kullanılarak geri çağrı yapıldığında çağrılacak işlev: Sohbet:InvokeChatCallback.

Varsayılan değer: ""

Dönüşler

()

SetBubbleChatSettings

()

Bu işlev, oyun içi balon sohbetinin çeşitli ayarlarını özelleştirir.

Bunu kullanmadan önce, balon sohbetinin etkinleştirildiğinden emin olmak için Chat.BubbleChatEnabled 'yi doğru olarak ayarlayın.

Ayarlar argümanı, anahtarların adının düzenlemek istediğiniz ayarların isimleri ve değerlerin bu ayarları değiştirmek istediğiniz değerler olduğu bir tablodur.Hepsini ayar argümanına dahil etmeniz gerekmediğini unutmayın; bazılarını atlamak, varsayılan değerlerini korumalarına neden olacaktır.

Bu işlev sadece istemci tarafındadır ve sunucuya çağırmaya çalışmak bir hata verecektir.

Parametreler

settings: Variant

Bir ayar tablosu.

Varsayılan değer: ""

Dönüşler

()

Kod Örnekleri

When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})

If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:

Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

Bekletir

Belirtilen Player.UserId ile oynayan oyuncunun hesap ayarları nedeniyle sohbet etmesine izin verilmediğinde yanlış dönecektir.

Parametreler

userId: number
Varsayılan değer: ""

Dönüşler

CanUsersChatAsync

Bekletir

İki kullanıcı iletişim kuramazsa, hesap ayarları buna izin vermediğinden false döndürür.

Parametreler

userIdFrom: number
Varsayılan değer: ""
userIdTo: number
Varsayılan değer: ""

Dönüşler

FilterStringAsync

Bekletir

Kısmi Depreiasyon Uyarısı : Bu işlevi bir LocalScript kullanarak istemeden çağırmak eski ve gelecekte devre dışı bırakılacaktır.Metin filtreleme, benzer isimdeki 'den sunucuda yapılmalıdır, ki bu da farklı bir dizi parametre ve geri dönüş yazkullanır.

Oyuncu tarafından üretilen metni doğru bir şekilde filtrelemeyen oyunlar, moderasyon aksiyontabi olabilir.Lütfen bir oyunun yayınlanmadan önce doğru bir şekilde metin filtrelediğinden emin olun.

FiltreStringAsync bir gönderici ve oyuncuuygun filtreleme kullanarak bir dizeyi filtreler.Filtrelenmiş dize, bir alışveriş yapadı gibi kalıcı bir mesaj için kullanılacaksa, plaka üzerine yazılırken yazar ile alıcı olarak işlev çağrılmalıdır.

Bu işlev her seferinde kullanılmalıdır bir oyuncu herhangi bir kontekste özel metin girebilir , çoğunlukla bir kullanarak .Filtrelenmesi gereken metin örnekleri:

  • Özel sohbet mesajları
  • Özel karakter isimleri
  • Bir tycoon tarzı oyundaki bir dükkân için isimler

Parametreler

stringToFilter: string

Filtrelenmesi gereken orijinal dize, oyuncunun girdiği gibi aynen.

Varsayılan değer: ""
playerFrom: Player

Metnin yazarı.

Varsayılan değer: ""
playerTo: Player

Verilen metnin hedeflenen alıcısı; metin kalıcıysa yazarı kullanın (açıklamaya bakın).

Varsayılan değer: ""

Dönüşler

FilterStringForBroadcast

Bekletir

Belirli bir hedefe yayınlanmak üzere oyuncudan gönderilen bir dizeyi filtreler. Filtrelenmiş mesajın Chat:FilterStringAsync() daha fazla kısıtlaması vardır.

Bu yöntemin kullanılabileceği bazı örnekler:

  • Mesaj duvarları
  • Arasında sunucu çığlıkları
  • Kullanıcı tarafından oluşturulan işaretler

FilterString'i LocalScripts 'dan çağırmak eski ve gelecekte devre dışı bırakılacaktır.Metin filtreleme, FilterStringAsync kullanarak sunucu tarafından yapılmalıdır Scripts .

Not: Bu filtre işlevini özel sohbet veya diğer kullanıcı tarafından üretilen metin için kullanmayan bir oyun, moderasyon aksiyontabi olabilir.

Parametreler

stringToFilter: string

Mesaj dizesi filtreleniyor.

Varsayılan değer: ""
playerFrom: Player

mesajgönderen oyuncunun örneği.

Varsayılan değer: ""

Dönüşler

Filtrelenmiş mesaj dizi.

Kod Örnekleri

The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.

The example then prints the result of the filtering function, FilteredString.

Chat:FilterStringForBroadcast

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

Chat:Chat() çağrıldığında ateş eder.

Parametreler

part: Instance
message: string