Chat サービスは、legacy chat systemを実行する Lua コードを貯蔵します。Class.StarterPlayerScripts 、デフォルトオブジェクトのようにStarterPlayerScripts や2> Class.ModuleScript|ModuleScripts2> をサービスに挿入します。
概要
プロパティ
プレイヤーのチャットメッセージがゲーム内アバターの上に表示されるかどうかを決めます。
ゲームが実行されるときにデフォルトのチャットフレームが自動的に読み込まれるかどうかを切り替えます。
方法
このメソッチャットに指定されたパラメータで Chat.Chatted イベントを発動します。
Class.Chat:RegisterChatCallback()|RegisterChatCallback によって登録されたチャットコールバック関数を呼び出します。 Luaチャットシステムによって使用されています。
チャットシステムイベントの呼び出しに対応する関数を登録します ( InvokeChatCallback )。
ゲーム内のバブルチャットのさまざまな設定をカスタマイズします。
指定された Player.UserId のプレイヤーがアカウント設定によりチャットできない場合、 false が返されます。
2人のユーザーがコミュニケーションできない場合は、アカウント設定により true が返されません。
フィルターを使用して、プレイヤーから他のプレイヤーに送信されたストリングをフィルターによりプレイヤーのアカウント設定に適切にフィルタリングします。
プレイヤーからのストリングを、特定のターゲットに送信するためのフィルターをフィルターにフィルターにフィルター。 More restrictive than Chat:FilterStringAsync() .
イベント
Class.チャットhat:チャットhat() が呼び出されるときにファイアを起動します。
プロパティ
BubbleChatEnabled
[チャット] に入力すると、プレイヤーの Player.Character の上にチャットバブルが表示されます。この動作は、Studio でこのチェックボックスを直接チックするか、 LocalScript を使用することで有効になります。
local ChatService = game:GetService("Chat")ChatService.BubbleChatEnabled = true
これはクライアントで行う必要があり、サーバー側の Script でこの値を切り替えると、効果がありません。
方法
Chat
チャット機能は、このメソッドに指定されたパラメータで Chat.Chatted イベントを発動します。
デフォルトでは、各プレイヤーの LocalScript オブジェクトの中に PlayerScripts があり、「バブルチャット」というダイアログ形式のビルボードが発生するたびに、パートまたはキャラクター の上に表示されます。
注意: ダイアログはローカルスクリプトによって制御されるため、このメソッドを実行している場合でも、「Play Solo」モードで実行していない限り、ダイアログは見ることができません。
パラメータ
戻り値
コードサンプル
The below example would create a part in Workspace and cause it to exclaim "Blame John!"
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() を参照してください。
パラメータ
コールバックを呼び出すタイプ。
登録されたコールバック関数に送信される引数。
戻り値
指定されたチャットコールタイプに登録された関数が返す値。
RegisterChatCallback
ライブラリのチャットコールバインドは、Lua チャットシステムの動作に影響を与えるために、特定のチャットシステムイベントに機能を登録します。最初の引数は、機能をバインドする <
チャットウィンドウを作成中に
クライアント専用。クライアントがチャットウィンドウを構築する前に呼び出されます。ChatSettings モジュールによって返される情報にマージされるために設定のテーブルを返す必要があります。
OnClientFormattingMessage
クライアント専用。クライアントがメッセージを表示する前に呼び出されます(プレイヤーチャットメッセージ、システムメッセージ、または/meコマンド)。この関数はメッセージオブジェクトと一緒に呼び出され、message.ExtraData にテーブルをマージする可能性があります(またはない可能性もあります)。
OnClientSendingMessage
この時点では呼び出されません。
OnServerReceivingMessage
サーバー専用。スピーカーからメッセージを受信したときに呼び出されます (注: スピーカーは必ずしも Player ではありません)。このコールバックは メッセージオブジェクト で呼び出されます。機能はメッセージオブジェクトを変
- message.ShouldDeliver を偽に設定して、プレイヤーにメッセージの配信をキャンセルする (チャット排除リストの実装に便利)
- スピーカーの名前の色を取得/設定します ( message.ExtraData.NameColor 、Color3) メッセージごとに
パラメータ
機能に登録するコールバック (これは機能がどのように呼び出されるかを決定します)。
Chat:ExecuteChatCallback を使用してコールバックを呼び出す機能。
戻り値
SetBubbleChatSettings
この機能は、ゲーム内のバブルチャットのさまざまな設定をカスタマイズします。
これを使う前に、バブルチャットを有効にするために Chat.BubbleChatEnabled を true に設定してください。
設定アルガリットは、編集したい設定の名前と、変更したい設定の値が記録されたテーブルです。設定アルガリットにはすべてを含める必要はありませんが、いくつかをオミットすると、設定を変更することができます。注意してください、デフォルトの値を変更するためには、すべてを含める必要はありません。
この関数はクライアント側のみです、サーバーで呼び出そうとするとエラーが発生します。
パラメータ
設定テーブル。
戻り値
コードサンプル
When run from a LocalScript, this snippet will make all the chat bubbles appear with bigger text under a different font and a light blue background. Note that all the other settings will keep their default value.
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({
BackgroundColor3 = Color3.fromRGB(180, 210, 228),
TextSize = 20,
Font = Enum.Font.Cartoon,
})
If you want to reset the bubble chat to its default look, you can call this function with an empty table, because any setting you omit from the argument will result in it returning to its default value:
local ChatService = game:GetService("Chat")
ChatService:SetBubbleChatSettings({})
CanUsersChatAsync
2人のユーザーがコミュニケーションできない場合は、アカウント設定により true が返されません。
パラメータ
戻り値
FilterStringAsync
部分的なデプレーション警告 : クライアントから LocalScript を使用してこの関数を呼び出すと、デプレーションが非推奨され、将来的に無効になります。テキストフィルターは、同様の名入力の Script からサーバーで実行さ
プレイヤーが生成したテキストを適切にフィルター링しないゲームは、モデレーションアクションに対象になる可能性があります。ゲームを公開する前に、テキストを適切にフィルター링することを確認してください。
FilterStringAsync は、送信と受信プレイヤーに適したフィルタを使用してストリングをフィルタリングします。フィルターが使用されているストリングが持続的なメッセージの名前などの名前である場合、送信者と受信者の両方にフィルターを呼び出す必要があります。
この関数は、毎回プレイヤーがカスタムテキストを入力できるコンテキストで、任意のコンテキストで使用する必要があります。最も一般的に使用されるテキストは、TextBoxです。一部のテキストをフィルター링する例は次のとおりです:
- カスタムチャットメッセージ
- カスタムキャラクター名
- タイクーンスタイルのゲームでショップ名
パラメータ
プレイヤーが入力した内容と同じように、フィルタリングされる原始的な文字列。
テキストの作者。
提供されたテキストの受信者; テキストが持続する場合は、著者を使用します (詳細明を参照)。
戻り値
FilterStringForBroadcast
playerFrom からのストリングをフィルターして、特定のターゲットにはブロードキャストされません。フィルターされたメッセージは、 Chat:FilterStringAsync() よりも制限が多いです。
このメソッドを使用できる場所のいくつかの例:
- メッセージウォール
- サーバー間のシャウト
- ユーザーが作成したサイン
Class.LocalScript|LocalScripts から Scripts にフィルターを呼び出すことはデプレートされ、将来的には無効になります。テキストフィルターは、Class.Script|Scripts を使用してサーバー側から行う必要があります。
注意: このフィルター機能を使用していないゲームは、カスタムチャットや他のユーザーが生成したテキストに対してモデレーションアクションによるモデレーションに可能性があります。
パラメータ
戻り値
フィルターがかかったメッセージの文字列。
コードサンプル
The following example shows a simple way to use the FilterStringForBroadcast function. The example uses the message variable as the stringToFilter argument and the local player as the playerFrom argument.
The example then prints the result of the filtering function, FilteredString.
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() が呼び出されるときにファイアを起動します。