Comandos de chat de texto personalizados

*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.

TextChatService ha construido comandos de chat integrados para fines comunes, como silenciar a otros jugadores y usar emotes de avatar.Puedes habilitarlos al establecer CreateDefaultCommands a true en la ventana Propiedades de Studio .

También puedes agregar comandos personalizados usando TextChatCommand.Los usuarios que envían un comando definido en la barra de entrada de chat activan una llamada de devolución definida por TextChatCommand.Triggered para realizar sus acciones personalizadas.

El siguiente ejemplo muestra cómo crear un comando de chat que permite a los jugadores aumentar o disminuir el tamaño de su personaje cuando ingresan /super o /mini .

  1. Añade una instancia TextChatCommand dentro de TextChatService.

  2. Renómlalo a Comando de tamaño .

  3. Establece su propiedad PrimaryAlias a /super y su propiedad SecondaryAlias a /mini.

  4. Inserte lo siguiente Script dentro de ServerScriptService para definir un llamado de devolución para el comando de chat que escala el tamaño del personaje:

    Guión

    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)