Chat
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Layanan Obrolan mengandung kode Lua bertanggung jawab atas pengoperasian sistem obrolan warisan. Mirip dengan StarterPlayerScripts , objek pengaturan default seperti 1> Class.Script|Scripts1> dan 4> Class.ModuleScript|ModuleScripts4> ditambahkan ke dalam layanan.
Rangkuman
Properti
Mendeterminas apakah pesan obrolan pemain akan muncul di atas avatar mereka dalam game.
Mengubah apakah framework obrolan default harus dimuat secara otomatis saat game berjalan.
Metode
Mengaktifkan acara Chat.Chatted dengan parameter yang ditentukan dalam metode ini.
Panggil fungsi panggilan obrolan yang terdaftar oleh RegisterChatCallback. Digunakan oleh sistem obrolan Lua.
Daftarkan fungsi untuk dianggil setelah panggilan beberapa acara sistem chat (InvokeChatCallback).
Sesuaikan berbagai pengaturan dari obrolan gelembung dalam game.
Akan mengembalikan false jika pemain dengan Player.UserId yang ditentukan tidak diizinkan untuk mengobrol karena pengaturan akun mereka.
Akan mengembalikan false jika kedua pengguna tidak dapat berkomunikasi karena pengaturan akun mereka tidak mengizinkannya.
Menyaring string yang dikirim dari pemain ke pemain lain menggunakan filter yang sesuai dengan pengaturan akun pemain.
Menyaring string yang dikirim dari pemain bertujuan untuk siaran ke target tertentu. Lebih membatasi daripada Chat:FilterStringAsync() .
Acara
Dibakar saat Chat:Chat() dipanggil.
Properti
BubbleChatEnabled
Jika benar, memasukkan pesan ke dalam obrolan akan menyebabkan gelembung obrolan muncul di atas Player.Character pemain. Perilaku ini dapat diaktifkan dengan mengklik secara langsung tombol checkbox in Studio, atau dengan menggunakan LocalScript :
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
Ini harus dilakukan di klien, menyalakan nilai ini di sisi server Script tidak akan berpengaruh.
LoadDefaultChat
Mengubah apakah framework obrolan default harus dimuat secara otomatis saat game berjalan.
Metode
Chat
Fungsi Obrolan menyelesaikan acara Chat.Chatted dengan parameter yang ditentukan dalam metode ini.
Secara default, ada LocalScript di dalam setiap pemainPlayerScripts yang bernama BubbleChat, yang menyebabkan tanda bilboard seperti dialog muncul di atas 2> bagian OrCharacter2> ketika acara chatting diaktifkan.
Catatan: Karena dialog dikendalikan oleh LocalScript, Anda tidak akan dapat melihat dialog apa pun yang dibuat dari metode ini kecuali Anda berlari dalam mode Bermain Sendirian .
Parameter
Sebuah instansi yang merupakan bagian atau karakter yang muncul dalam Dialog BubbleChat harus muncul di atas.
String pesan yang dibicarakan.
Sebuah Enum.ChatColor yang menggambarkan warna pesan yang dibaca.
Memberikan nilai
Contoh Kode
local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")
InvokeChatCallback
Panggilan ChatCallback akan memanggil fungsi yang terdaftar oleh RegisterChatCallback , berdasarkan enum ChatCallbackType dan argument untuk mengirim fungsi. Ini akan mengembalikan hasil fungsi yang terdaftar, atau menghasilkan kesalahan jika fungsi tidak terdaftar.
Fungsi ini dianggap oleh Lua Chat System sehingga panggilan chat dapat dicatat untuk mengubah perilaku beberapa fitur tertentu. Kecuali Anda mengganti sistem Lua Chat default Anda dengan yang Anda memiliki, Anda tidak perlu menelepon fungsi ini. Anda dapat membaca tentang berbagai fungsi panggilan di Chat:RegisterChatCallback() .
Parameter
Jenis panggilan kembali untuk memanggil.
Argumen yang akan dikirim ke fungsi panggilan terdaftar.
Memberikan nilai
Nilai yang dikembalikan oleh fungsi yang terdaftar ke ChatCallbackType yang diberikan.
RegisterChatCallback
MendaftarChatCallback menyambungkan fungsi ke beberapa acara chat sistem untuk mempengaruhi perilaku sistem chat Lua. Pertama argument menentukan acara (menggunakan Enum.ChatCallbackType daftar) ke fungsi yang akan dib
Pada saat menciptakan jendela chat
Hanya klien. Dipanggil sebelum klien membangun jendela obrolan. Harus mengembalikan tabel pengaturan untuk digabungkan ke dalam informasi yang dikembalikan oleh modul ChatSettings.
Pesan Pembentukan Klien
Client-only. Panggilan sebelum klien menampilkan pesan (terlepas apakah itu adalah pesan chat pemain, pesan sistem, atau /me command). Fungsi ini di panggil dengan objek pesan dan mungkin (atau mungkin tidak) mengembalikan tabel untuk digabungkan menjadi message.ExtraData .
Pengirim Pesan
Tidak di panggil pada waktu ini.
PadaServerMenerimaPesan
Server-only. Panggilan ketika server menerima pesan dari pembicara (catat bahwa pembicara mungkin bukan selalu Class.Player mengobrol). Fungsinya ini dibangun dengan objek Pesan. Fungsi ini dapat membuat perubahan pada objek Pesan untuk mengubah cara pesan dibersihkan. Fungsi ini harus dikembalikan agar server dapat
- Tetapkan message.ShouldDeliver untuk false agar dapat membatalkan pengiriman pesan ke pemain (bermanfaat untuk menerapkan daftar eksklusi obrolan)
- Dapatkan/tetapkan warna nama speaker( message.ExtraData.NameColor , Color3) pada dasar pesan-pesan)
Parameter
Panggilan yang akan terdaftar fungsi (ini menentukan dengan cara apa fungsi dapat dipanggil).
Fungsi untuk memanggil saat panggilan kembali diaktifkan menggunakan chat:ExecuteChatCallback.
Memberikan nilai
SetBubbleChatSettings
Fungsi ini menyesuaikan berbagai pengaturan dari obrolan gelembung dalam game.
Sebelum menggunakan ini, pastikan bahwa obrolan gelembung diaktifkan dengan menetapkan Chat.BubbleChatEnabled ke benar.
Argumen pengaturan adalah tabel di mana kunci adalah nama pengaturan yang ingin Anda ubah dan nilai adalah apa yang ingin Anda ubah dari pengaturan ini. Catat bahwa Anda tidak harus mencakup semuanya dalam argumen pengaturan, meninggalkan beberapa akan menghasilkan mereka menyimpan nilai default mereka.
Fungsi ini hanya sisi klien, mencoba untuk memanggilnya di server akan menyebabkan kesalahan.
Parameter
Tabel pengaturan.
Memberikan nilai
Contoh Kode
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
Akan mengembalikan false jika pemain dengan Player.UserId yang ditentukan tidak diizinkan untuk mengobrol karena pengaturan akun mereka.
Parameter
Memberikan nilai
CanUsersChatAsync
Akan mengembalikan false jika kedua pengguna tidak dapat berkomunikasi karena pengaturan akun mereka tidak mengizinkannya.
Parameter
Memberikan nilai
FilterStringAsync
Peringatan Deprecation Parcial : Menggunakan fungsi ini dari klien menggunakan LocalScript adalah deprecated, dan akan di disabled di masa depan. Text filtering harus dilakukan dari klien menggunakan Script di server menggunakan set setara setara setara setara setara setara setara setara setara ketik
Game yang tidak dapat dengan benar menyaring teks yang dihasilkan pemain mungkin akan dikenakan actionmoderasi. Harap pastikan game Anda dengan benar menyaring teks sebelum menerbitkannya.
FilterStringAsync menyaring string dengan menggunakan filter yang sesuai untuk pengirim dan penerima pemain. Jika string yang disaring digunakan untuk pesan yang bertahan, seperti nama belanja, menulis di papan, dll, maka fungsi harus dipanggil dengan nama penulis sebagai pengirim dan penerima.
Fungsi ini harus digunakan setiap kali seorang pemain dapat memasukkan teks khusus ke dalam konteks apa pun , kebanyakan menggunakan Class.Toolbar . Beberapa contoh teks untuk disaring:
- Pesan obrolan khusus
- Nama karakter khusus
- Nama untuk toko dalam game gaya tycoon
Parameter
String mentah untuk disaring, persis seperti yang dimasukkan oleh pemain.
Penulis teks.
Penerima yang dimaksud dari teks yang disediakan; gunakan penulis jika teksnya bertahan (lihat deskripsi).
Memberikan nilai
FilterStringForBroadcast
Menyaring string yang dikirim dari playerFrom untuk siaran ke target tertentu. Pesan yang disaring memiliki lebih banyak batasan daripada Chat:FilterStringAsync() .
Beberapa contoh di mana metode ini dapat digunakan:
- Tulis pesan
- Teriakan antar server
- Tanda yang dibuat pengguna
Menggunakan FilterString dari LocalScripts adalah deprecated dan akan di disabled di masa depan. Text filtering harus dilakukan dari server-side Scripts menggunakan FilterStringAsync.
Catatan: Sebuah game yang tidak menggunakan fungsi filter ini untuk obrolan khusus atau teks yang dihasilkan pengguna lain mungkin akan dikenakan actionmoderasi.
Parameter
Memberikan nilai
stringpesan yang disaring.
Contoh Kode
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)