Textfilterung

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Angewendet auf verschiedene Quellen und Eingaben, verhindert die Textfilterung, dass Benutzer unangemessene Sprache und persönlich identifizierbare Informationen wie Telefonnummern sehen. Roblox filtert automatisch gängige Textausgaben wie Nachrichten, die durch In-Game-Text-Chat gegangen sind, aber Sie sind dafür verantwortlich, alle angezeigten Texte zu filtern, über die Sie keine explizite Kontrolle haben.

Filterszenarien

Text kann in einer Vielzahl von Szenarien gesammelt und/oder Benutzern angezeigt werden, einschließlich:

  • Ein Spiel, das die Texteingabe der Benutzer über TextBox-Eingaben, eine benutzerdefinierte GUI mit Schaltflächen wie einer Tastatur/Tastaturoberfläche oder ein interaktives Tastaturmodell im 3D-Raum sammelt.

  • Ein Spiel, das Wörter aus zufälligen Zeichen generiert und sie den Benutzern anzeigt, da es die Möglichkeit gibt, dass unangemessene Wörter erstellt werden.

  • Ein Spiel, das sich mit einem externen Webserver verbindet, um Inhalte abzurufen, die im Spiel angezeigt werden. Oft haben Sie keine Kontrolle über den Inhalt der externen Seite, und ein Dritter kann die Informationen bearbeiten.

  • Ein Spiel, das Texte wie die Namen von Haustieren der Benutzer mithilfe von Datenbanken speichert, wobei der gespeicherte Text unangemessene Wörter enthalten kann, die beim Abrufen gefiltert werden sollten.

Filterprozess

TextService:FilterStringAsync() filtert In-Game-Text, indem es einen Textstring und die UserId des Benutzers, der den Text erstellt hat, als Eingabe verwendet. Es gibt ein TextFilterResult-Objekt zurück, das zwei zusätzliche Methoden hat, die Sie in verschiedenen Szenarien aufrufen können:

Im Kontext der TextBox-Eingabe sammelt das folgende Beispiel Eingaben beim FocusLost-Ereignis und sendet sie über ein RemoteEvent an den Server. Auf dem Server wird es zuerst durch FilterStringAsync() gefiltert und dann durch GetNonChatStringForBroadcastAsync(), mit der Absicht, dass der Text auf einem serverseitigen Objekt wie einem SurfaceGui in der 3D-Welt angezeigt wird.

Text Eingabe Filtern - Client-Skript
local ReplicatedStorage = game:GetService("ReplicatedStorage")
local textBox = script.Parent
textBox.ClearTextOnFocus = false
textBox.PlaceholderText = "..."
textBox.TextXAlignment = Enum.TextXAlignment.Left
textBox.TextScaled = true
-- RemoteEvent zum Senden der Texteingabe an den Server zur Filterung
local inputRemoteEvent = ReplicatedStorage:FindFirstChild("InputRemoteEvent")
-- Ereignishandler für Fokusverlust und Drücken der Eingabetaste
local function onFocusLost(enterPressed, inputObject)
if enterPressed then
print("EINGEREICHT:", textBox.Text)
if inputRemoteEvent then
inputRemoteEvent:FireServer(textBox.Text)
end
end
end
textBox.FocusLost:Connect(onFocusLost)
Text Eingabe Filtern - Server-Skript
local TextService = game:GetService("TextService")
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- RemoteEvent zum Empfangen der Texteingabe vom Client zur Filterung
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("Fehler beim Generieren des TextFilterResult:", errorMessage)
end
end
-- Wird ausgelöst, wenn der Client Eingaben aus der TextBox einreicht
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("GEFILTERT:", filteredText)
else
warn("Fehler beim Filtern des Textes!")
end
end
end
end
inputRemoteEvent.OnServerEvent:Connect(onInputReceived)
©2026 Roblox Corporation. Roblox, das Roblox-Logo und "Powering Imagination" gehören zu unseren eingetragenen und nicht eingetragenen Markenzeichen in den USA und anderen Ländern.