Chat

Tampilkan yang Tidak Digunakan Lagi

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Tidak Dapat Dibuat
Layanan
Tidak Direplikasi

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.

  • Keamanan Tidak Dapat Diakses
    Baca Paralel

    Mengubah apakah framework obrolan default harus dimuat secara otomatis saat game berjalan.

Metode

Properti

BubbleChatEnabled

Baca Paralel

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

Keamanan Tidak Dapat Diakses
Baca Paralel

Mengubah apakah framework obrolan default harus dimuat secara otomatis saat game berjalan.

Metode

Chat

void

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

partOrCharacter: Instance

Sebuah instansi yang merupakan bagian atau karakter yang muncul dalam Dialog BubbleChat harus muncul di atas.

message: string

String pesan yang dibicarakan.

Sebuah Enum.ChatColor yang menggambarkan warna pesan yang dibaca.

Nilai Default: "Blue"

Memberikan nilai

void

Contoh Kode

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

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

callbackType: Enum.ChatCallbackType

Jenis panggilan kembali untuk memanggil.

callbackArguments: Tuple

Argumen yang akan dikirim ke fungsi panggilan terdaftar.


Memberikan nilai

Nilai yang dikembalikan oleh fungsi yang terdaftar ke ChatCallbackType yang diberikan.

RegisterChatCallback

void

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

callbackType: Enum.ChatCallbackType

Panggilan yang akan terdaftar fungsi (ini menentukan dengan cara apa fungsi dapat dipanggil).

callbackFunction: function

Fungsi untuk memanggil saat panggilan kembali diaktifkan menggunakan chat:ExecuteChatCallback.


Memberikan nilai

void

SetBubbleChatSettings

void

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

settings: Variant

Tabel pengaturan.


Memberikan nilai

void

Contoh Kode

Customize visual aspects

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

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

CanUserChatAsync

Hasil

Akan mengembalikan false jika pemain dengan Player.UserId yang ditentukan tidak diizinkan untuk mengobrol karena pengaturan akun mereka.

Parameter

userId: number

Memberikan nilai

CanUsersChatAsync

Hasil

Akan mengembalikan false jika kedua pengguna tidak dapat berkomunikasi karena pengaturan akun mereka tidak mengizinkannya.

Parameter

userIdFrom: number
userIdTo: number

Memberikan nilai

FilterStringAsync

Hasil

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

stringToFilter: string

String mentah untuk disaring, persis seperti yang dimasukkan oleh pemain.

playerFrom: Player

Penulis teks.

playerTo: Player

Penerima yang dimaksud dari teks yang disediakan; gunakan penulis jika teksnya bertahan (lihat deskripsi).


Memberikan nilai

FilterStringForBroadcast

Hasil

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

stringToFilter: string

String pesan di filter.

playerFrom: Player

Instansi pengirim pesan.


Memberikan nilai

stringpesan yang disaring.

Contoh Kode

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)

Acara

Chatted

Dibakar saat Chat:Chat() dipanggil.

Parameter

part: Instance
message: string