Chat

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

만들 수 없음
서비스
복제되지 않음

채팅 서비스는 레거시 채팅 시스템을 실행하는 데 책임이 있는 Luau 코드를 보유합니다.StarterPlayerScripts 과 마찬가지로, ScriptsModuleScripts 와 같은 기본 개체가 서비스에 삽입됩니다.

요약

속성

  • 플레이어의 채팅 메시지가 게임 내 아바타 위에 표시되는지 여부를 결정합니다.

  • 액세스할 수 없는 보안
    병렬 읽기

    게임이 실행될 때 기본 채팅 프레임워크가 자동으로 로드되어야 하는지 여부를 전환합니다.

메서드

속성

BubbleChatEnabled

병렬 읽기

true이면 채팅에 메시지를 입력하면 플레이어의 Player.Character 위에 채팅 버블이 팝업됩니다.이 동작은 Studio에서 이 확인란을 직접 선택하거나 LocalScript :를 사용하여 활성화할 수 있습니다.


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

이는 클라이언트에서 수행해야 하며, 서버 측 Script에서 이 값을 전환하면 효과가 없습니다.

LoadDefaultChat

액세스할 수 없는 보안
병렬 읽기

게임이 실행될 때 기본 채팅 프레임워크가 자동으로 로드되어야 하는지 여부를 전환합니다.

메서드

Chat

()

채팅 기능은 이 메서드에서 지정된 매개변수로 Chat.Chatted 이벤트를 발동합니다.

기본적으로 각 플레이어의 개체 내에 BubbleChat 이라는 대화 유사 광고가 있으며, 채팅 이벤트가 발생하면 부분 또는 문자 위에 대화 유사 광고가 나타납니다.

참고: 대화가 LocalScript에 의해 제어되기 때문에, 플레이 솔로 모드에서 실행하지 않는 한 이 메서드로 생성된 대화를 볼 수 없습니다.

매개 변수

partOrCharacter: Instance

BubbleChat 대화 상자에 표시되어야 하는 부분이나 캐릭터인 인스턴스.

기본값: ""
message: string

채팅되는 메시지 문자열.

기본값: ""

채팅 메시지의 색상을 지정하는 Enum.ChatColor 스펙.

기본값: "Blue"

반환

()

코드 샘플

The below example would create a part in Workspace and cause it to exclaim "Blame John!"

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

InvokeChatCallback는 ChatCallbackType 열거형과 함수를 전송하는 인수를 제공하여 RegisterChatCallback에 등록된 함수를 호출합니다.등록된 함수의 결과를 반환하거나 등록된 함수가 없으면 오류를 발생시킵니다.

이 함수는 Luau 채팅 시스템에서 호출되어 특정 기능의 동작을 변경하기 위한 채팅 콜백이 등록될 수 있습니다.기본 Luau 채팅 시스템을 보유시스템으로 교체하지 않는 한, 이 함수를 호출할 필요가 없습니다.다양한 콜백 함수에 대해서는 Chat:RegisterChatCallback()에서 읽을 수 있습니다.

매개 변수

callbackType: Enum.ChatCallbackType

호출할 콜백 유형.

기본값: ""
callbackArguments: Tuple

등록된 콜백 함수에 전송될 인수.

기본값: ""

반환

지정된 ChatCallbackType에 등록된 함수에서 반환된 값.

RegisterChatCallback

()

RegisterChatCallback는 Luau 채팅 시스템의 동작을 영향을 주기 위해 일부 채팅 시스템 이벤트에 함수를 바인딩합니다.첫 번째 인수는 두 번째 인수인 함수가 바인딩될 이벤트(Enum.ChatCallbackType 열거형 사용)를 결정합니다.기본 Luau 채팅 시스템은 등록된 함수를 호출하기 위해 InvokeChatCallback를 사용합니다.서버 또는 클라이언트 전용 콜백을 등록하려고 하면 서버 또는 클라이언트가 아닌 피어에서 오류가 발생합니다.다음 섹션에서는 등록된 함수가 어떻게 사용되는지 설명합니다.

채팅 창 생성 중 OnCreatingChatWindow

클라이언트 전용.클라이언트가 채팅 창을 생성하기 전에 호출됩니다.채팅설정 모듈에서 반환하는 정보에 병합할 설정 테이블을 반환해야 합니다.

클라이언트 형식 메시지 변환 OnClientFormattingMessage

클라이언트 전용.클라이언트가 메시지를 표시하기 전에 호출(플레이어 채팅 메시지, 시스템 메시지 또는 /me 명령)이 함수는 메시지 개체로 호출되며 병합될 테이블을 message.ExtraData로 반환할 수 있습니다(또는 없을 수도 있습니다).

클라이언트 메시지 전송 시 OnClientSendingMessage

이 시점에서 호출되지 않았습니다.

온서버 수신 메시지 OnServerReceivingMessage

서버 전용.서버가 스피커로부터 메시지를 받을 때 호출(스피커가 반드시 채팅하는 것은 아님을 참고하세요 Player )이 콜백은 메시지 개체로 호출됩니다.함수는 메시지 개체를 변경하여 메시지의 처리 방식을 변경할 수 있습니다. 이 콜백이 무언가를 수행하려면 메시지 개체를 반환해야 합니다.: 이 콜백을 설정하면 서버가 예를 들어:

  • 플레이어에게 메시지 전달을 취소하기 위해 message.ShouldDeliver를 false로 설정하여 (채팅 배제 목록 구현에 유용)
  • 메시지별로 스피커의 이름 색상(message.ExtraData.NameColor, Color3) 가져오기/설정

매개 변수

callbackType: Enum.ChatCallbackType

함수가 등록될 콜백(이는 함수가 호출되는 방식을 결정함).

기본값: ""
callbackFunction: function

채팅:InvokeChatCallback을 사용하여 콜백이 호출될 때 호출할 함수.

기본값: ""

반환

()

SetBubbleChatSettings

()

이 함수는 게임 내 버블 채팅의 다양한 설정을 사용자 지정합니다.

이 기능을 사용하기 전에 대화 거품 채팅이 설정에서 Chat.BubbleChatEnabled로 활성화되었는지 확인하십시오.

설정 인수는 키가 편집하려는 설정의 이름이고 값이 이러한 설정을 변경하려는 것입니다. The settings argument is a table where the keys are the names of the settings you want to edit and the values are what you want to change these settings to.모든 것을 설정 인수에 포함할 필요가 없으며, 일부를 생략하면 기본값을 유지합니다.

이 함수는 클라이언트 측 전용이며, 서버에서 호출하려고 하면 오류가 발생합니다.

매개 변수

settings: Variant

설정 테이블.

기본값: ""

반환

()

코드 샘플

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.

Customize visual aspects

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:

Restore default settings

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

CanUserChatAsync

생성

지정된 Player.UserId 을 가진 플레이어가 계정 설정으로 채팅을 허용하지 않으면 false를 반환합니다.

매개 변수

userId: number
기본값: ""

반환

CanUsersChatAsync

생성

두 사용자가 계정 설정으로 인해 통신할 수 없으면 false를 반환합니다.

매개 변수

userIdFrom: number
기본값: ""
userIdTo: number
기본값: ""

반환

FilterStringAsync

생성

부분 폐기 경고 : 클라이언트에서 이 함수를 LocalScript 사용하여 호출하는 것은 사용되지 않으며 미래에 비활성화됩니다.텍스트 필터링은 서버에서 비슷하게 이름이 지정된 에서 수행되어야 하며, 다른 매개변수 및 반환 입력사용합니다.

플레이어가 생성한 텍스트를 적절하게 필터링하지 않는 게임은 조정 액션대상이 될 수 있습니다.게임이 게시하기 전에 텍스트를 적절하게 필터링하는지 확인하십시오.

FilterStringAsync 필터는 송신 및 수신 플레이어에 적합한 필터링을 사용하여 문자열을 필터링합니다.필터링된 문자열이 상점의 이름과 같은 영구 둘러보다사용되는 경우, 플레이트에 기록하는 등 작성자가 발신자와 수신자 모두인 경우 함수를 호출해야 합니다.

이 함수는 플레이어가 모든 컨텍스트에서 사용자 지정 텍스트를 입력할 수 있을 때마다 사용해야 하며, 가장 일반적으로 를 사용합니다.필터링할 텍스트의 몇 가지 예:

  • 사용자 지정 채팅 메시지
  • 사용자 지정 캐릭터 이름
  • 타이쿤 스타일 게임의 상점 이름

매개 변수

stringToFilter: string

플레이어가 입력한 것과 동일한 원시 문자열이 필터링됩니다.

기본값: ""
playerFrom: Player

텍스트의 작성자.

기본값: ""
playerTo: Player

제공된 텍스트의 의도된 수신자; 텍스트가 영구적인 경우 작성자를 사용하십시오(설명 참조).

기본값: ""

반환

FilterStringForBroadcast

생성

플레이어프롬에서 보내진 문자열을 방송할 특정 대상으로 필터링하지 않습니다. 필터링된 메시지는 Chat:FilterStringAsync() 제한이 많습니다.

이 메서드를 사용할 수 있는 몇 가지 예:

  • 메시지 벽
  • 크로스 서버 쉐이트
  • 사용자 생성 표지판

LocalScripts에서 FilterString을 호출하는 것은 사용되지 않으며 미래에 비활성화됩니다.텍스트 필터링은 FilterStringAsync를 사용하여 서버 측에서 Scripts 수행해야 합니다.

참고: 사용자 지정 채팅이나 다른 사용자가 생성한 텍스트에 이 필터 함수를 사용하지 않는 게임은 조정 액션대상이 될 수 있습니다.

매개 변수

stringToFilter: string

메시지 문자열이 필터링됩니다.

기본값: ""
playerFrom: Player

메시지를 보내는 플레이어의 인스턴스.

기본값: ""

반환

필터링된 메시지 문자열.

코드 샘플

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.

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

Chat:Chat()가 호출될 때 화재가 발생합니다.

매개 변수

part: Instance
message: string