Chat

非推奨を表示

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

作成できません
サービス
複製されていません

Chat サービスは、legacy chat systemを実行する Lua コードを貯蔵します。Class.StarterPlayerScripts 、デフォルトオブジェクトのようにStarterPlayerScripts や2> Class.ModuleScript|ModuleScripts2> をサービスに挿入します。

概要

プロパティ

  • 並列読み取り

    プレイヤーのチャットメッセージがゲーム内アバターの上に表示されるかどうかを決めます。

  • アクセスできないセキュリティ
    並列読み取り

    ゲームが実行されるときにデフォルトのチャットフレームが自動的に読み込まれるかどうかを切り替えます。

方法

  • Chat(partOrCharacter : Instance,message : string,color : Enum.ChatColor):void

    このメソッチャットに指定されたパラメータで Chat.Chatted イベントを発動します。

  • InvokeChatCallback(callbackType : Enum.ChatCallbackType,callbackArguments : Tuple):Tuple

    Class.Chat:RegisterChatCallback()|RegisterChatCallback によって登録されたチャットコールバック関数を呼び出します。 Luaチャットシステムによって使用されています。

  • RegisterChatCallback(callbackType : Enum.ChatCallbackType,callbackFunction : function):void

    チャットシステムイベントの呼び出しに対応する関数を登録します ( InvokeChatCallback )。

  • SetBubbleChatSettings(settings : Variant):void

    ゲーム内のバブルチャットのさまざまな設定をカスタマイズします。

  • イールド

    指定された Player.UserId のプレイヤーがアカウント設定によりチャットできない場合、 false が返されます。

  • CanUsersChatAsync(userIdFrom : number,userIdTo : number):bool
    イールド

    2人のユーザーがコミュニケーションできない場合は、アカウント設定により true が返されません。

  • FilterStringAsync(stringToFilter : string,playerFrom : Player,playerTo : Player):string
    イールド

    フィルターを使用して、プレイヤーから他のプレイヤーに送信されたストリングをフィルターによりプレイヤーのアカウント設定に適切にフィルタリングします。

  • FilterStringForBroadcast(stringToFilter : string,playerFrom : Player):string
    イールド

    プレイヤーからのストリングを、特定のターゲットに送信するためのフィルターをフィルターにフィルターにフィルター。 More restrictive than Chat:FilterStringAsync() .

イベント

プロパティ

BubbleChatEnabled

並列読み取り

[チャット] に入力すると、プレイヤーの Player.Character の上にチャットバブルが表示されます。この動作は、Studio でこのチェックボックスを直接チックするか、 LocalScript を使用することで有効になります。


local ChatService = game:GetService("Chat")
ChatService.BubbleChatEnabled = true

これはクライアントで行う必要があり、サーバー側の Script でこの値を切り替えると、効果がありません。

LoadDefaultChat

アクセスできないセキュリティ
並列読み取り

ゲームが実行されるときにデフォルトのチャットフレームが自動的に読み込まれるかどうかを切り替えます。

方法

Chat

void

チャット機能は、このメソッドに指定されたパラメータで Chat.Chatted イベントを発動します。

デフォルトでは、各プレイヤーの LocalScript オブジェクトの中に PlayerScripts があり、「バブルチャット」というダイアログ形式のビルボードが発生するたびに、パートまたはキャラクター の上に表示されます。

注意: ダイアログはローカルスクリプトによって制御されるため、このメソッドを実行している場合でも、「Play Solo」モードで実行していない限り、ダイアログは見ることができません。

パラメータ

partOrCharacter: Instance

バブルチャットダイアログが表示されるべき部分またはキャラクターのインスタンス。

message: string

チャット中のメッセージストリング。

チャットメッセージの色を指定する Enum.ChatColor

既定値: "Blue"

戻り値

void

コードサンプル

Chat:Chat

local ChatService = game:GetService("Chat")
local part = Instance.new("Part")
part.Anchored = true
part.Parent = workspace
ChatService:Chat(part, "Blame John!", "Red")

InvokeChatCallback

ChatCallback は、RegisterChatCallback によって登録された関数を呼び出しますが、ChatCallbackType の枚数と引数を指定して関数を送信します。注册されていない関数の場合は、結果を返しますか、またはエラーを発生させます。

この関数は、Luaチャットシステムによって呼び出されるため、チャットコールバックを登録して、特定の機能の動作を変更できます。デフォルトの Luaチャットシステムを自分のものに置き換えることなく、この関数を呼び出す必要はありません。詳細は、Chat:RegisterChatCallback() を参照してください。

パラメータ

callbackType: Enum.ChatCallbackType

コールバックを呼び出すタイプ。

callbackArguments: Tuple

登録されたコールバック関数に送信される引数。


戻り値

指定されたチャットコールタイプに登録された関数が返す値。

RegisterChatCallback

void

ライブラリのチャットコールバインドは、Lua チャットシステムの動作に影響を与えるために、特定のチャットシステムイベントに機能を登録します。最初の引数は、機能をバインドする <

チャットウィンドウを作成中に

クライアント専用。クライアントがチャットウィンドウを構築する前に呼び出されます。ChatSettings モジュールによって返される情報にマージされるために設定のテーブルを返す必要があります。

OnClientFormattingMessage

クライアント専用。クライアントがメッセージを表示する前に呼び出されます(プレイヤーチャットメッセージ、システムメッセージ、または/meコマンド)。この関数はメッセージオブジェクトと一緒に呼び出され、message.ExtraData にテーブルをマージする可能性があります(またはない可能性もあります)。

OnClientSendingMessage

この時点では呼び出されません。

OnServerReceivingMessage

サーバー専用。スピーカーからメッセージを受信したときに呼び出されます (注: スピーカーは必ずしも Player ではありません)。このコールバックは メッセージオブジェクト で呼び出されます。機能はメッセージオブジェクトを変

  • message.ShouldDeliver を偽に設定して、プレイヤーにメッセージの配信をキャンセルする (チャット排除リストの実装に便利)
  • スピーカーの名前の色を取得/設定します ( message.ExtraData.NameColor 、Color3) メッセージごとに

パラメータ

callbackType: Enum.ChatCallbackType

機能に登録するコールバック (これは機能がどのように呼び出されるかを決定します)。

callbackFunction: function

Chat:ExecuteChatCallback を使用してコールバックを呼び出す機能。


戻り値

void

SetBubbleChatSettings

void

この機能は、ゲーム内のバブルチャットのさまざまな設定をカスタマイズします。

これを使う前に、バブルチャットを有効にするために Chat.BubbleChatEnabled を true に設定してください。

設定アルガリットは、編集したい設定の名前と、変更したい設定の値が記録されたテーブルです。設定アルガリットにはすべてを含める必要はありませんが、いくつかをオミットすると、設定を変更することができます。注意してください、デフォルトの値を変更するためには、すべてを含める必要はありません。

この関数はクライアント側のみです、サーバーで呼び出そうとするとエラーが発生します。

パラメータ

settings: Variant

設定テーブル。


戻り値

void

コードサンプル

Customize visual aspects

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
Restore default settings

local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})

CanUserChatAsync

イールド

指定された Player.UserId のプレイヤーがアカウント設定によりチャットできない場合、 false が返されます。

パラメータ

userId: number

戻り値

CanUsersChatAsync

イールド

2人のユーザーがコミュニケーションできない場合は、アカウント設定により true が返されません。

パラメータ

userIdFrom: number
userIdTo: number

戻り値

FilterStringAsync

イールド

部分的なデプレーション警告 : クライアントから LocalScript を使用してこの関数を呼び出すと、デプレーションが非推奨され、将来的に無効になります。テキストフィルターは、同様の名入力の Script からサーバーで実行さ

プレイヤーが生成したテキストを適切にフィルター링しないゲームは、モデレーションアクションに対象になる可能性があります。ゲームを公開する前に、テキストを適切にフィルター링することを確認してください。

FilterStringAsync は、送信と受信プレイヤーに適したフィルタを使用してストリングをフィルタリングします。フィルターが使用されているストリングが持続的なメッセージの名前などの名前である場合、送信者と受信者の両方にフィルターを呼び出す必要があります。

この関数は、毎回プレイヤーがカスタムテキストを入力できるコンテキストで、任意のコンテキストで使用する必要があります。最も一般的に使用されるテキストは、TextBoxです。一部のテキストをフィルター링する例は次のとおりです:

  • カスタムチャットメッセージ
  • カスタムキャラクター名
  • タイクーンスタイルのゲームでショップ名

パラメータ

stringToFilter: string

プレイヤーが入力した内容と同じように、フィルタリングされる原始的な文字列。

playerFrom: Player

テキストの作者。

playerTo: Player

提供されたテキストの受信者; テキストが持続する場合は、著者を使用します (詳細明を参照)。


戻り値

FilterStringForBroadcast

イールド

playerFrom からのストリングをフィルターして、特定のターゲットにはブロードキャストされません。フィルターされたメッセージは、 Chat:FilterStringAsync() よりも制限が多いです。

このメソッドを使用できる場所のいくつかの例:

  • メッセージウォール
  • サーバー間のシャウト
  • ユーザーが作成したサイン

Class.LocalScript|LocalScripts から Scripts にフィルターを呼び出すことはデプレートされ、将来的には無効になります。テキストフィルターは、Class.Script|Scripts を使用してサーバー側から行う必要があります。

注意: このフィルター機能を使用していないゲームは、カスタムチャットや他のユーザーが生成したテキストに対してモデレーションアクションによるモデレーションに可能性があります。

パラメータ

stringToFilter: string

メッセージストリングがフィルタリングされています。

playerFrom: Player

メッセージを送信するプレイヤーのインスタンス。


戻り値

フィルターがかかったメッセージの文字列。

コードサンプル

Chat:FilterStringForBroadcast

local Players = game:GetService("Players")
local Chat = game:GetService("Chat")
local playerFrom = Players.LocalPlayer
local message = "Hello world!"
-- Filter the string and store the result in the 'FilteredString' variable
local filteredString = Chat:FilterStringForBroadcast(message, playerFrom)
print(filteredString)

イベント

Chatted

Class.チャットhat:チャットhat() が呼び出されるときにファイアを起動します。

パラメータ

part: Instance
message: string