Commandes de chat texte personnalisées

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

TextChatService a intégré des commandes de chat pour des fins communes, telles que l'écoute des autres joueurs et l'utilisation des émotes d'avatar.Vous pouvez les activer en définissant CreateDefaultCommands à true dans la fenêtre propriétés de Studio.

Vous pouvez également ajouter des commandes personnalisées en utilisant TextChatCommand.Les utilisateurs qui envoient une commande définie dans la barre d'entrée de chat déclenchent un rappel défini par TextChatCommand.Triggered pour exécuter vos actions personnalisées.

L'exemple suivant montre comment créer une commande de chat qui permet aux joueurs d'augmenter ou de réduire la taille de leur personnage lorsqu'ils saisissent /super ou /mini .

  1. Ajoutez une instance TextChatCommand à l'intérieur de TextChatService.

  2. Renommez-le en commande de taille .

  3. Définissez sa propriété PrimaryAlias à /super et sa propriété SecondaryAlias à /mini .

  4. Insérez ce qui suit Script à l'intérieur de ServerScriptService pour définir un rappel pour la commande de chat qui augmente la taille du personnage :

    Scénario

    local TextChatService = game:GetService("TextChatService")
    local Players = game:GetService("Players")
    local sizeCommand: TextChatCommand = TextChatService:WaitForChild("SizeCommand")
    sizeCommand.Triggered:Connect(function(textSource, message)
    local scaleMult = 1
    local messageWords = string.split(message, " ")
    if messageWords[1] == "/super" then
    scaleMult = 2
    elseif messageWords[1] == "/mini" then
    scaleMult = 0.5
    end
    local player = Players:GetPlayerByUserId(textSource.UserId)
    if player then
    local character = player.Character
    if character then
    local humanoid = character:FindFirstChildWhichIsA("Humanoid")
    if humanoid then
    for _, child in humanoid:GetChildren() do
    if child:IsA("NumberValue") then
    child.Value *= scaleMult
    end
    end
    end
    end
    end
    end)