Chat-Tags zuweisen

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

Dieses Beispiel zeigt, wie man Chat-Tags an Spieler vergibt, die Mitglied in einer Gruppe sind.Chat-Tags sind eine Möglichkeit, einen Spieler im Chat-Fenster visuell zu identifizieren und nützlich für die Angabe der Rolle oder des Status eines Spieler:in.

VIP chat tag appended to user name in the chat window.

Weil Text-Chat-Anrufe einen nicht aufgebenenden Anruf erwarten, der versucht, den Gruppenmitgliedstatus eines Spielers im TextChatService.OnIncomingMessage zu abfragen, wird nicht empfohlen, den Chat-System zu verzögern oder unantwortlich zu werden.

Stattdessen legen Sie ein Spieler-Attribut fest, wenn sie sich dem Server anschließen.Das Festlegen eines Attributes ermöglicht es dir, den Status des Spieler:inin anderen Teilen deines Erlebnisses wiederzuverwenden, wie z. B. den Zugriff auf bestimmte Bereiche zu ermöglichen oder zusätzliche Erfahrung zu liefern.

  1. Erstelle ein Script in ServerScriptService und füge dem folgenden Code hinzu:

    Server

    local Players = game:GetService("Players")
    -- Ersetzen Sie 123456 durch die Gruppen-ID, die Sie überprüfen möchten
    local groupID = 123456
    Players.PlayerAdded:Connect(function(player)
    local success, isInGroup = pcall(function()
    return player:IsInGroup(groupID)
    end)
    if success and isInGroup then
    player:SetAttribute("IsVIP", true)
    else
    player:SetAttribute("IsVIP", false)
    end
    end)
  2. Erstellen Sie ein LocalScript in StarterPlayerStarterCharacterScripts und fügen Sie den folgenden Code hinzu, um ein [VIP] -Tag im Chat-Fenster anzuzeigen:

    Client

    local Players = game:GetService("Players")
    local TextChatService = game:GetService("TextChatService")
    TextChatService.OnIncomingMessage = function(message: TextChatMessage)
    local textSource = message.TextSource
    if textSource then
    local player = Players:GetPlayerByUserId(textSource.UserId)
    if player then
    if player:GetAttribute("IsVIP") == true then
    local overrideProperties = Instance.new("TextChatMessageProperties")
    overrideProperties.PrefixText = "[VIP] " .. message.PrefixText
    return overrideProperties
    end
    end
    end
    return nil
    end