カスタムテキストチャットコマンド

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

TextChatService には、他のプレイヤーをミュートしたり、アバターエモートを使用したりといった一般的な目的のための内蔵チャットコマンドがあります。Studio の CreateDefaultCommands ウィンドウで true を **** に設定して有効にすることができます。

また、TextChatCommand を使用してカスタムコマンドを追加できます。チャット入力バーに定義されたコマンドを送信するユーザーは、TextChatCommand.Triggered によって定義されたコールバックをトリガーし、カスタマイズされたアクションを実行します。

次の例では、/super または /mini を入力すると、プレイヤーがキャラクターのサイズを増やしたり減らしたりできるチャットコマンドを作成する方法を示しています。

  1. 内部の TextChatCommand インスタンスに TextChatService を追加します。

  2. 名前を サイズコマンド に変更します。

  3. その PrimaryAlias プロパティを /super 、そしてその SecondaryAlias/mini に設定します。

  4. 次の ScriptServerScriptService 内に挿入して、キャラクターのサイズを拡大するチャットコマンドのコールバックを定義します:

    スクリプト

    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)