Penyaringan Teks

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

Diterapkan pada berbagai sumber dan input, penyaringan teks mencegah pengguna dari melihat bahasa yang tidak pantas dan informasi yang dapat diidentifikasi secara pribadi seperti nomor telepon. Roblox secara otomatis menyaring keluaran teks umum seperti pesan yang telah melewati obrolan teks dalam permainan, tetapi Anda bertanggung jawab untuk menyaring teks yang ditampilkan yang tidak Anda kendalikan secara eksplisit.

Skenario Penyaringan

Teks dapat dikumpulkan dan/atau ditampilkan kepada pengguna dalam berbagai skenario, termasuk:

  • Sebuah permainan yang mengumpulkan input teks pengguna melalui entri TextBox, GUI kustom dengan tombol seperti antarmuka keyboard/keypad, atau model keyboard interaktif di ruang 3D.

  • Sebuah permainan yang menghasilkan kata-kata dari karakter acak dan menampilkannya kepada pengguna, karena ada kemungkinan akan menciptakan kata-kata yang tidak pantas.

  • Sebuah permainan yang terhubung ke server web eksternal untuk mengambil konten yang ditampilkan dalam permainan. Seringkali Anda tidak akan memiliki kendali atas konten situs eksternal dan pihak ketiga dapat mengedit informasi tersebut.

  • Sebuah permainan yang menyimpan teks seperti nama hewan peliharaan pengguna menggunakan data stores, di mana teks yang disimpan mungkin termasuk kata-kata yang tidak pantas yang harus disaring saat mengambilnya.

Proses Penyaringan

TextService:FilterStringAsync() menyaring teks dalam permainan dengan mengambil string teks dan UserId dari pengguna yang membuat teks sebagai input. Ini mengembalikan objek TextFilterResult yang memiliki dua metode tambahan yang dapat Anda panggil dalam skenario yang berbeda:

Dalam konteks input TextBox, contoh berikut mengumpulkan input pada peristiwa FocusLost dan mengirimkannya ke server melalui RemoteEvent. Di server, teks tersebut disaring terlebih dahulu melalui FilterStringAsync() dan kemudian GetNonChatStringForBroadcastAsync() dengan tujuan agar teks tersebut ditampilkan kepada semua pengguna pada objek sisi server seperti SurfaceGui di dunia 3D.

Menyaring Input Teks - Skrip Klien
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local textBox = script.Parent
textBox.ClearTextOnFocus = false
textBox.PlaceholderText = "..."
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextScaled = true
-- RemoteEvent untuk mengirim input teks ke server untuk penyaringan
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
-- Penangan acara untuk fokus hilang dan enter ditekan
local function onFocusLost(enterPressed, inputObject)
if enterPressed then
print("DIAJUKAN:", textBox.Text)
if inputRemoteEvent then
inputRemoteEvent:FireServer(textBox.Text)
end
end
end
textBox.FocusLost:Connect(onFocusLost)
Menyaring Input Teks - Skrip Server
local TextService = game:GetService("TextService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- RemoteEvent untuk menerima input teks dari klien untuk penyaringan
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
local function getFilterResult(text, fromUserId)
local filterResult
local success, errorMessage = pcall(function()
filterResult = TextService:FilterStringAsync(text, fromUserId)
end)
if success then
return filterResult
else
warn("Kesalahan menghasilkan TextFilterResult:", errorMessage)
end
end
-- Ditembak saat klien mengirim input dari TextBox
local function onInputReceived(player, text)
if text ~= "" then
local filterResult = getFilterResult(text, player.UserId)
if filterResult then
local success, filteredText = pcall(function()
return filterResult:GetNonChatStringForBroadcastAsync()
end)
if success then
print("TERFILTER:", filteredText)
else
warn("Kesalahan menyaring teks!")
end
end
end
end
inputRemoteEvent.OnServerEvent:Connect(onInputReceived)
©2026 Roblox Corporation. Roblox, logo Roblox, dan Powering Imagination termasuk dalam merek dagang kami yang terdaftar dan tidak terdaftar di AS dan negara lainnya.