ใช้กับทุกที่ที่หลากหลายและการป้อนข้อมูลต่างๆ การกรองข้อความ การกรองข้อความของ Roblox จะป้องกันผู้ใช้จากการดูภาษาที่ไม่เหมาะสมและข้อมูลส่ว
กรองสถานการณ์
ข้อความสามารถรวบรวมและ/หรือแสดงให้ผู้ใช้ในสถานการณ์ต่างๆ รวมถึง:
ประสบการณ์ที่รวบรวมการป้อนข้อความของผู้ใช้ผ่าน Class.Toolbar เข็มลำแสงผ่านปุ่มในการเล่นเกมหรือรุ่นกีฬาในพื้นที่ 3D โดยใช้รุ่นกีฬาและรุ่น GUI ที่ปรับแต่งได้
ประสบการณ์ที่สร้างคำจากตัวละครแบบสุ่มและแสดงให้กับผู้ใช้เนื่องจากมีโอกาสที่จะสร้างคำที่ไม่เหมาะสม
ประสบการณ์ที่เชื่อมต่อกับเซิร์ฟเวอร์เว็บที่อยู่นอกเซิร์ฟเวอร์เพื่อดึงเนื้อหาที่ปรากฏในประสบการณ์ โดยปกติคุณจะไม่มีการควบคุมเนื้อหาของไซต์ภายนอกและบุคคลที่สามสามารถแก้ไขข้อมูลได้
ประสบการณ์ที่เก็บข้อความเช่นชื่อสัตว์เลี้ยงของผู้ใช้โดยใช้ ห้องเก็บข้อมูลของผู้ใช้ ซึ่งข้อความที่เก็บไว้อาจมีคำที่ไม่เหมาะสมที่จะต้องการการกรองเมื่อดึงมา
กระบวนการกรอง
TextService:FilterStringAsync() กรองข้อความในประสบการณ์โดยการใช้ตัวอักษรสตริงและ UserId ของผู้ใช้ที่สร้างข้อความเป็นข้อมูลของการโทรของผู้ใช้ มันกลับ
- TextFilterResult:GetNonChatStringForBroadcastAsync() สำหรับการกรองข้อความที่มองเห็นได้สำหรับผู้ใช้ในประสบการณ์ เช่นสําหรับการแสดงผลในกระทู้ที่ให้ผู้ใช้เขียนข้อความบนป้ายที่มองเห็นได้สำหรับผู้ใช้ทุก
- TextFilterResult:GetNonChatStringForUserAsync() เพื่อแสดงข้อความที่กรองสำหรับผู้ใช้ที่เฉพาะเจาะจงตามอายุและรายละเอียดอื่น ๆ นอกจากนี้
ในบริบทของการป้อนข้อมูล TextBox ในตัวอย่า
การกรองข้อมูลข้อความ - สคริปต์ของลูกค้า
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local textBox = script.Parent
textBox.ClearTextOnFocus = false
textBox.PlaceholderText = "..."
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextScaled = true
-- RemoteEvent ส่งข้อความของผู้ใช้ไปยังเซิร์ฟเวอร์เพื่อการกรอง
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
-- ตัวจับเหตุการณ์สําหรับการสูญเสียโฟกัสและการกด
local function onFocusLost(enterPressed, inputObject)
if enterPressed then
print("SUBMITTED:", textBox.Text)
if inputRemoteEvent then
inputRemoteEvent:FireServer(textBox.Text)
end
end
end
textBox.FocusLost:Connect(onFocusLost)
การกรองข้อมูลข้อความ - สคริปต์เซิร์ฟเวอร์
local TextService = game:GetService("TextService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- RemoteEvent เพื่อรับการป้อนข้อความจากลูกค้าเพื่อการกรอง
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("Error generating TextFilterResult:", errorMessage)
end
end
-- ไฟร์เมื่อลูกค้าส่งข้อมูลจาก 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("FILTERED:", filteredText)
else
warn("Error filtering text!")
end
end
end
end
inputRemoteEvent.OnServerEvent:Connect(onInputReceived)