다음 채팅 모듈을 사용하여 레거시 채팅 시스템의 클라이언트 측 동작을 지원할 수 있습니다 Legacy chat system.
채팅 창
채팅창( ChatWindow )은 레거시 채팅 시스템의 클라이언트 측면의 주요 채팅 모듈이다.
방법
채널 추가
- 설명: 지정된 ChatChannelUI를 창에 추가합니다.
- 반환: ChatChannelUI
채널 제거
- 설명: 지정된 ChatChannelUI를 창에서 제거합니다.
- 반환: 무효
채널 받기
- 설명: 주어진 ChatChannelUI를 가져와 존재하는지 확인합니다.
현재 채널 가져오기
- 설명: 현재 ChatChannelUI를 반환합니다.
- 반환: ChatChannelUI
현재 채널 전환 SwitchCurrentChannel
- 설명: 현재 채널을 주어진 ChatChannelUI로 전환합니다. 해당 채널이 있는 경우.
- 반환: 무효
가시성 얻기 GetVisible
- 매개변수: 없음
- 설명: 창이 표시되는지 여부를 반환합니다.참고: 채팅 창이 비활성으로 인해 투명해지면 창이 여전히 표시된 것으로 간주됩니다.
- 반환: bool
가시성 설정
- 설명: 채팅 창의 표시를 설정합니다.
- 반환: 무효
페이드아웃 배경
- 설명: 몇 초 후에 지정된 duration에 대한 배경이 사라집니다.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
배경에서 사라지기 FadeInBackground
- 설명: 몇 초 후에 배경에서 사라집니다. 지정된 duration 에 대해.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
페이드아웃 텍스트
- 설명: 텍스트를 초기에서 제거하여 몇 초 후에 사라집니다. given의 duration에 대해.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
페이드인 텍스트
- 설명: 텍스트에서 지정된 duration 초 후에 사라집니다.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
채팅바
채팅바 는 Lua 채팅 시스템의 클라이언트 측 텍스트 입력을 처리합니다. 채팅바에는 두 가지 핵심 구성 요소가 있습니다.
- 채팅바 , 플레이어가 메시지와 명령을 입력하는 곳(오렌지로 강조)
- 메시지 모드 , 정보를 표시할 수 있는 메시지(녹색으로 강조 표시) TextLabel
방법
GetTextBox 가져오기
- 매개변수: 없음
- 설명: 채팅 바의 TextBox를 반환합니다.
- 반환: TextBox
메시지 모드 텍스트 라벨 가져오기GetMessageModeTextLabel
- 매개변수: 없음
- 설명: 메시지 모드를 반환합니다 TextLabel .
- 반환: TextLabel
집중 중
- 매개변수: 없음
- 설명: 채팅 바의 TextBox가 포커스 상태인지 여부를 반환합니다(플레이어가 상자에 입력하고 있음).GetTextBox의 결과에 TextBox:IsFocused를 호출하는 것과 동일
- 반환: bool
캡처 포커스
- 매개변수: 없음
- 설명: 클라이언트가 채팅 바의 TextBox에 초점을 맞추도록 강제합니다. GetTextBox의 결과에 대해 TextBox:CaptureFocus 호출과 동일합니다.
- 반환: 무효
릴리스포커스
- 설명: 채팅 바의 초점을 해제합니다 TextBox .submitted가 참이면 플레이어가 메시지를 제출하기 위해 엔터를 누른 것처럼 동작합니다.
- 반환: 무효
텍스트 재설정
- 매개변수: 없음
- 설명: 채팅 바의 를 빈 문자열로 설정합니다.
- 반환: 무효
텍스트박스 텍스트 설정 SetTextBoxText
- 설명: 채팅 바의 를 지정된 에 설정합니다.
- 반환: 무효
TextBoxText 가져오기
- 매개변수: 없음
- 설명: 채팅 바의 텍스트를 반환합니다 TextBox.Text .
- 반환: string
텍스트 레이블 텍스트 설정
- 설명: 메시지 모드 를 지정된 에 설정합니다.
- 반환: 무효
가능 여부 확인 GetEnabled
- 매개변수: 없음
- 설명: 채팅 바가 Visible인지 여부를 반환합니다.
- 반환: bool
설정 가능SetEnabled
- 설명: 채팅 바가 Visible인지 여부를 설정합니다.
- 반환: 무효
텍스트 크기 설정 SetTextSize
- 설명: 채팅 바의 TextSize 및 MessageMode의 TextBox 모두에서 TextLabel을 설정합니다.
- 반환: 무효
크기 재설정
- 매개변수: 없음
- 설명: 채팅 바의 크기를 텍스트 한 줄로 재설정합니다.
- 반환: 무효
채널 대상 설정 channelTarget
- 설명: 대상 ChatChannelUI를 설정하여 채팅 바에 메시지를 제출해야 하는 대상을 지정합니다.
- 반환: 무효
페이드아웃 배경
- 설명: 몇 초 후에 지정된 duration에 대한 배경이 사라집니다.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
배경에서 사라지기 FadeInBackground
- 설명: 몇 초 후에 배경에서 사라집니다. 지정된 duration 에 대해.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
페이드아웃 텍스트
- 설명: 텍스트를 초기에서 제거하여 몇 초 후에 사라집니다. given의 duration에 대해.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
페이드인 텍스트
- 설명: 텍스트에서 지정된 duration 초 후에 사라집니다.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
채팅채널UI
The ChatChannelUI 는 ChatChannel의 클라이언트 측 버전입니다.서버에서 채팅 메시지를 받아 전달하고 채팅 메시지 로그 표시에 전달합니다.그것과 관련이 있습니다.
방법
채널에 메시지 추가 AddMessageToChannel
매개변수: ChatMessage
설명: 서버에서 받은 채팅 메시지를 ChatMessageLogDisplay에 추가합니다.
반환: 무효
채널에서 마지막 메시지 제거
- 매개변수: 없음
- 반환: 무효
클리어 메시지 로그
- 매개변수: 없음
- 설명: 채팅 메시지 로그에서 모든 채팅 메시지를 제거합니다.
- 반환: 무효
채팅 메시지 로그 표시
ChatMessageLogDisplay는 채팅 메시지의 렌더링을 채팅 채널 UI에서 관리합니다.
방법
메시지 추가
- 설명: 메시지 로그 표시에 message를 추가합니다.
- 반환: 무효
마지막 메시지 제거
- 매개변수: 없음
- 설명: 메시지 로그 표시에서 가장 오래된 채팅 메시지를 제거합니다.
- 반환: 무효
모든 메시지 재정렬 ReorderAllMessages
- 매개변수: 없음
- 설명: 메시지 표시의 크기에 관계없이 메시지 표시를 모두 재정렬합니다.메시지 로그 표시가 크기가 조정되면 이를 호출해야 합니다. This should be called if the message log display is resized.
- 반환: 무효
지우기
- 매개변수: 없음
- 설명: 메시지 로그 표시에서 모든 채팅 메시지를 제거합니다.
- 반환: 무효
페이드아웃 텍스트
- 설명: 텍스트를 초기에서 제거하여 몇 초 후에 사라집니다. given의 duration에 대해.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
페이드인 텍스트
- 설명: 텍스트에서 지정된 duration 초 후에 사라집니다.참고: 나중에 퇴색 제어를 호출하면 이전 호출이 무효화됩니다.
- 반환: 무효
채팅커스텀상태
ChatCustomState는 채팅 바에서 사용자 지정 채팅 상태를 만들 때 사용되는 콜백의 인터페이스입니다.
위스퍼 채팅과 팀 채팅은 ChatCustomState를 사용하여 플레이어에게 메시지가 전송될 위치를 알려줍니다.
콜백
텍스트 업데이트됨
- 매개변수: 없음
- 설명: 채팅 바의 텍스트가 업데이트될 때 호출됩니다.
- 반환: 무효
메시지 가져오기
- 매개변수: 없음
- 설명: 단일 명령으로 작성될 메시지의 텍스트를 검색하기 위해 호출됩니다.이는 서버가 명령을 시각적 상태가 아닌 텍스트로 처리해야 하는 경우에 사용됩니다.
- 반환: string
프로세스가 완료된 메시지
- 매개변수: 없음
- 설명: 플레이어가 처리 중인 커스텀 상태에 의해 처리되는 메시지를 제출할 때 호출됩니다.메시지를 표시하거나 서버에 전송하지 않아야 하는 경우 이 값이 true로 반환되어야 합니다.
- 반환: bool
파괴
- 매개변수: 없음
- 설명: 채팅바가 사용자 지정 상태 수정 전에 원래 상태로 재설정되는 동안 호출되었습니다.
- 반환: 무효
채팅설정
The ChatSettings 는 Lua 채팅 시스템의 클라이언트 측 설정 사전입니다.그들은 ModuleScript라는 이름의 채팅 설정에 저장되며, 이는 Chat 내에서 찾을 수 있으며, Folder라는 이름의 클라이언트 채팅 모듈 아래에 있습니다.모듈이 필요할 수 있으며 런타임에 속성이 변경될 수 있습니다.
설정을 변경하려면 다음과 같은 방식으로 이 모듈을 요구하십시오: LocalScript 를 사용하여:
-- 채팅 설정 모듈 요구(불러오다때까지 대기)local Chat = game:GetService("Chat")local ClientChatModules = Chat:WaitForChild("ClientChatModules")local ChatSettings = require(ClientChatModules:WaitForChild("ChatSettings"))-- 다른 테이블과 마찬가지로 설정을 변경합니다.ChatSettings.MaximumMessageLength = 100
채팅 동작 설정
창 드래그 가능
- 유형: bool
- 기본값: false
- 설명: 채팅창이 인지 여부를 결정합니다.
창 재설정 가능
게임패드 네비게이션 활성화됨
- 유형: bool
- 기본값: false
- 설명: 게임패드가 채팅 UI를 탐색할 수 있는지 여부를 결정합니다.
사용자 필터링된 메시지 표시 ShowUserOwnFilteredMessage
- 유형: bool
- 기본값: true
- 설명: 플레이어가 필터링된 채팅 메시지 또는 원래 입력한 콘텐츠를 볼지 여부를 결정합니다.
채팅 위쪽 바 끄기 ChatOnWithTopBarOff
- 유형: bool
- 기본값: false
- 설명: 상단 표시줄이 비활성화되더라도 채팅 UI가 활성화되는지 여부를 결정합니다.
버블채팅 활성화됨
- 유형: bool
- 기본값: game:GetService("Players").BubbleChat
- 설명: 거품 채팅이 활성화되는지 여부를 결정합니다.
클래식ChatEnabled
- 유형: bool
- 기본값: game:GetService("Players").ClassicChat
- 설명: 클래식 채팅이 활성화되는지 여부를 결정합니다.
채팅 텍스트 크기 설정
채팅창 텍스트 크기
- 유형: int
- 기본값: 18
- 설명: 채팅창의 텍스트 크기를 결정합니다 ChatWindow.
채팅바 텍스트 크기 ChatBarTextSize
채팅창 텍스트 크기 전화 ChatWindowTextSizePhone
채팅바 텍스트 크기 전화 ChatBarTextSizePhone
글꼴 설정
기본 서체
- 유형: Enum.Font
- 설명: 채팅창의 기본 를 결정합니다.
채팅바 폰트
- 유형: Enum.Font
- 설명: 채팅바의 기본값을 결정합니다 .
색상 설정
배경색
- 유형: Color3
- 기본값: Color3.new(0, 0, 0)
- 설명: 채팅창의 를 결정합니다.
기본 메시지 색상
- 유형: Color3
- 기본값: Color3.new(1, 1, 1)
- 설명: 채팅창에서 기본 ChatMessage 의 값을 결정합니다.
기본 이름 색상
- 유형: Color3
- 기본값: Color3.new(1, 1, 1)
- 설명: 채팅창의 ChatMessage 스피커 이름의 기본값을 결정합니다.
채팅바 백그라운드 색상
- 유형: Color3
- 기본값: Color3.new(0, 0, 0)
- 설명: 채팅바의 를 결정합니다.
채팅바 박스 색상 ChatBarBoxColor
- 유형: Color3
- 기본값: Color3.new(1, 1, 1)
- 설명: 채팅바의 를 결정합니다.
채팅바 텍스트 색상
- 유형: Color3
- 기본값: Color3.new(0, 0, 0)
- 설명: 채팅바의 를 결정합니다.
오류 메시지 텍스트 색상
- 유형: Color3
- 기본값: Color3.fromRGB(245, 50, 50)
- 설명: 오류 메시지의 TextColor3를 결정합니다.
창 설정
최소 창 크기
- 유형: UDim2
- 기본값: UDim2.new(0.3, 0, 0.25, 0)
최대 창 크기
- 유형: UDim2
- 기본값: UDim2.new(1, 0, 1, 0)
- 주석: 이것이 전체 화면 크기보다 커지도록 변경되면 크기/위치 경계 검사와 관련된 이상한 일이 발생하기 시작합니다.
기본 창 위치
- 유형: UDim2
- 기본값: UDim2.new(0, 0, 0, 0)
- 설명: 채팅창의 기본 위치를 결정합니다 ChatWindow.
기본 창 크기 전화
- 유형: UDim2
- 기본값: UDim2.new(0.5, 0, 0.5, (7 * 2) + (5 * 2))
- 설명: 전화에서 ChatWindow의 기본 크기를 결정합니다.
기본 창 크기 테이블렛
- 유형: UDim2
- 기본값: UDim2.new(0.4, 0, 0.3, (7 * 2) + (5 * 2))
- 설명: 테이블에서 ChatWindow의 기본 크기를 결정합니다.
기본 창 크기 데스크톱
- 유형: UDim2
- 기본값: UDim2.new(0.3, 0, 0.25, (7 * 2) + (5 * 2))
- 설명: 데스크톱에서 ChatWindow의 기본 크기를 결정합니다.
설정에서 페이드 아웃 및 인
채팅창 배경 페이드아웃 시간
- 유형: float (초)
- 기본값: 0.5
- 설명: 채팅창 배경의 사라짐 시간을 결정합니다. ChatWindow.
채팅창 텍스트 페이드아웃 시간
- 유형: float (초)
- 기본값: 30
- 설명: 채팅창 텍스트를 사라지게 하는 데 걸리는 시간을 결정합니다.
채팅 기본 페이드 지속 시간
- 유형: float (초)
- 기본값: 0.8
- 설명: 채팅 UI 요소가 사라지는 시간을 결정합니다.
새 정보에서 채팅 사라지기 ChatShouldFadeInFromNewInformation
- 유형: bool
- 기본값: false
- 설명: 새 메시지를 받을 때 채팅이 사라지는지 여부를 결정합니다.
채팅 애니메이션 FPS
- 유형: 플로트:
- 기본값: 20.0
- 설명: 채팅 UI의 페이드 애니메이션 프레임레이트를 결정합니다.
채널 설정
일반 채널 이름
- 유형: string
- 기본값: "All"
- 설명: 기본 채널의 이름을 결정합니다.
일반 채널의 에코 메시지 EchoMessagesInGeneralChannel
- 유형: bool
- 기본값: true
- 설명: 기본 채널이 아닌 채널에 메시지를 기본 채널로 복사해야 하는지 여부를 결정합니다.
최대 채널 이름 길이
- 유형: int
- 기본값: 12
- 설명: 삭제되기 전에 채널 이름의 최대 길이를 결정합니다.
메시지 기록 길이 per채널
참가 및 종료 헬프텍스트 표시
- 유형: bool
- 기본값: false
- 설명: 채널 참여/탈퇴 도움말 텍스트가 표시되는지 여부를 결정합니다.
메시지 설정
최대 메시지 길이
- 유형: int
- 기본값: 200
- 설명: 채팅 메시지의 최대 길이를 결정합니다. ChatMessages.
허용되지 않은 공백 공간
- 유형: 배열< string >
- 기본값: {"\n", "\r", "\t", "\v", "\f"}
- 설명: 허용되지 않는 공백 문자를 결정합니다.
플레이어 이름을 클릭하여 속삭임 ClickOnPlayerNameToWhisper
- 유형: bool
- 기본값: true
- 설명: 플레이어가 다른 플레이어의 이름을 클릭하여 조용한 채팅에 참여할 수 있는지 여부를 결정합니다.
ClickOnChannelNameToSetMainChannel을 클릭하여 메인 채널 설정
- 유형: bool
- 기본값: true
- 설명: 플레이어가 채널의 탭을 클릭하여 기본 채널로 설정할 수 있는지 여부를 결정합니다.
기타 설정
휘파람 명령 자동 완성 플레이어 이름WhisperCommandAutoCompletePlayerNames
- 유형: bool
- 기본값: true
- 설명: 속삭임 명령이 플레이어 이름을 자동으로 완성해야 하는지 여부를 결정합니다.
이벤트
설정 변경됨
- 매개변수: Library.string``settingName , 변형 newValue
- 설명: 지정된 settingName 설정이 newValue로 변경될 때 발생합니다.