DarkPlasma_AutoLineBreak.js (ver 1.4.1) 완전 분석
이 플러그인은 쯔꾸르 MV/MZ에서 메시지창 폭을 넘는 텍스트를 자동으로 줄바꿈해주는 매우 유명하고 안정적인 플러그인입니다. 특히 한국어·일본어 같은 다바이트 언어의 금칙 처리(행두·행미 금지 문자)를 상당히 잘 구현한 플러그인으로, 창작마당에서 "자동 줄바꿈 플러그인 중 최고"로 평가받는 작품 중 하나예요.
| 기능 | 설명 | 일본어/한국어 지원 수준 | 영어 지원 수준 | 난이도 |
|---|---|---|---|---|
| 자동 줄바꿈 | 메시지창 폭 초과 시 자동 개행 | ★★★★★ | ★★★★☆ | ★☆☆ |
| 행두·행미 금칙 처리 | , . ) 」 등 행두 금지 문자, ( 「 등 행미 금지 문자 처리 | ★★★★★ | ★★★☆☆ | ★☆☆ |
| 단어 기반 개행 (Word Wrap) | 반각 스페이스로 구분된 영단어 단위로 끊음 (설정 ON 시) | ★★★☆☆ | ★★★★★ | ★☆☆ |
| 일시적 자동 개행 무시 | \IGNOREAUTOLINEBREAK[START] ~ [FINISH] 제어 문자로 특정 구간 무시 | ★★★★★ | ★★★★★ | ★★☆ |
| 이름창·선택지 제외 | Window_NameBox, Window_ChoiceList 등은 자동 개행 안 함 | - | - | 자동 |
| 전투 로그(Battle Log) 지원 | 전투 메시지(데미지 표시 등)도 자동 개행 | ★★★★☆ | ★★★★☆ | 자동 |
| 매개변수 이름 | 기본값 | 설명 | 추천 설정 (한국어 기준) |
|---|---|---|---|
| prohibitLineBreakBefore | ,)]}、〕〉》」』】… 등 60여 개 | 행두에 오면 안 되는 문자 목록 (행두 금칙 문자) | 그대로 두기 (완벽) |
| prohibitLineBreakAfter | ([{〔〈《「『【… 등 20여 개 | 행미에 오면 안 되는 문자 목록 (행미 금칙 문자) | 그대로 두기 |
| ignoreAutoLineBreakWindows | [] (빈 배열) | 자동 개행을 하지 않을 창 클래스 이름 목록 (예: ["Window_NameBox"]) | 필요 시 Window_NameBox 추가 |
| lineWidthMargin | 4 | 금칙 문자 처리 시 여유 폭 (픽셀) – 너무 크면 개행이 과도하게 일찍 됨 | 4~8 사이 추천 |
| wordBaseLineBreak | false | 영어 단어 단위 개행 ON/OFF (반각 스페이스로 구분) | 영어 대사 많으면 true |
이 플러그인만의 특별한 제어 문자 하나만 있습니다.
사용 예시 (메시지창에서)
이 문장은 아주 길어서 자동으로 줄바꿈이 되는데
\IGNOREAUTOLINEBREAK[START]
이 부분은 강제로 한 줄로 이어집니다
\IGNOREAUTOLINEBREAK[FINISH]
이제 다시 자동 줄바꿈이 됩니다.→ 특정 대사(예: 시 구절, 코드, 긴 이름 등)를 강제로 한 줄로 유지하고 싶을 때 유용
장점
단점
prohibitLineBreakBefore : 그대로 두기 (기본값 최고)
prohibitLineBreakAfter : 그대로 두기
ignoreAutoLineBreakWindows : ["Window_NameBox", "Window_ChoiceList"] ← 이름창·선택지 제외
lineWidthMargin : 6~8 (한국어 글꼴에 따라 조금 여유 주는 게 예쁨)
wordBaseLineBreak : false (한국어 위주면 OFF, 영어 섞이면 ON)점수: ★★★★☆ (5점 만점에 4.5점) 구독 가치: 무료로도 최고 수준, 꼭 깔아야 할 자동 줄바꿈 플러그인 중 1~2위
MessageAutoWrap.js와 비교하면
한국어 위주 게임이라면 DarkPlasma_AutoLineBreak가 조금 더 자연스럽게 보입니다.
필요하면 이 플러그인 설치 후 긴 대사 + 선택지 예쁘게 나오는 이벤트 예시 만들어드릴게요! 궁금한 점 있으시면 언제든 말씀해주세요~ 😊
//
MPP_MessageEX_AutoLineBreak_Patch.js 분석
이 플러그인은 목성펭귄(木星ペンギン)이 2022년에 만든 패치 플러그인으로, MPP_MessageEX.js (목성펭귄의 메시지창 확장 플러그인)와 DarkPlasma_AutoLineBreak.js (DarkPlasma의 자동 줄바꿈 플러그인)를 함께 사용할 때 자동 줄바꿈이 제대로 작동하도록 연결해주는 호환 패치입니다.
MPP_MessageEX.js의 확장된 메시지 처리(루비, 그룹 문자, 아이콘 등)와 DarkPlasma_AutoLineBreak.js의 자동 줄바꿈 기능을 서로 충돌 없이 동작하게 만드는 패치 플러그인
→ 두 플러그인을 단독으로 쓰면 잘 되지만, 같이 쓰면 자동 개행이 깨지거나 루비·아이콘이 잘리는 문제가 생기는데, 이 패치가 그 부분을 수정해줍니다.
이 플러그인은 Window_Message.prototype의 기존 메서드를 오버라이드(재정의)해서 DarkPlasma_AutoLineBreak의 자동 개행 로직을 MPP_MessageEX의 특수 문자 처리에도 적용합니다.
이 두 플러그인 중 하나만 쓰고 있다면 이 패치는 필요 없습니다.
(위 → 아래 순서로 설치)
1. YEP_MessageCore (있으면)
2. MPP_MessageEX.js
3. DarkPlasma_AutoLineBreak.js
4. MPP_MessageEX_AutoLineBreak_Patch.js ← 이 패치 가장 아래필요성: ★★★★☆ (두 플러그인을 같이 쓸 때만 필수) 완성도: ★★★☆☆ (금칙 처리 미지원, 루비 미세 어긋남 있음) 대안:
이 패치 덕분에 MPP + DarkPlasma 조합을 쓰는 한국 유저들이 꽤 많아요. 루비나 아이콘 때문에 대사가 잘리는 게 고민이었다면 이 패치 하나로 해결되는 경우가 많습니다.
필요하면 이 패치 적용 후 루비 + 긴 대사 예쁘게 나오는 이벤트 예시 만들어드릴게요! 궁금한 거 있으시면 말씀해주세요~ 😊
//
VisuMZ_1_MessageCore.js는 RPG Maker MZ(RMMZ)용 플러그인으로, VisuStella 팀(주로 Yanfly로 알려짐)이 개발한 Tier 1 코어 플러그인입니다. 이 플러그인은 RMMZ의 기본 메시지 시스템을 확장하고 강화하여, 게임 개발자가 메시지 창의 워크플로우를 더 유연하게 커스터마이징할 수 있게 합니다. 기본적으로 메시지 표시, 텍스트 효과, 자동 처리 등을 개선하며, 다른 VisuStella 플러그인(예: Battle Core, Options Core)과 연동되어 추가 기능을 제공합니다. 플러그인 버전은 1.54로, 코드가 난독화(obfuscated)되어 있어 상세한 내부 구현 분석이 어렵지만, 공식 문서와 업데이트 로그를 기반으로 주요 기능을 요약하겠습니다. 이 플러그인은 RMMZ의 소스 코드 버그를 수정하고, 메시지 관련 QoL(Quality of Life) 기능을 추가하는 데 초점을 맞춥니다.
대상: RMMZ 사용자, 특히 메시지 중심의 스토리텔링 게임 개발자.
이 플러그인은 다음과 같은 기능을 제공합니다. 이는 공식 위키와 업데이트 로그에서 추출된 내용입니다.
| 기능 카테고리 | 세부 설명 | 예시 사용 |
| 메시지 창 커스터마이징 | 창 크기, 위치, 행 수 조정 | 플러그인 파라미터 > General > Row Count: 6 |
| 자동 색상 | 데이터베이스 항목 자동 강조 | 아이템 이름에 색상 적용 |
| 텍스트 코드 | 새로운 효과 추가 | \ActorFace[1]으로 액터 1의 얼굴 표시 |
| 매크로 | 반복 텍스트 간소화 | \macro[hello] = "안녕하세요!" |
| 워드 랩 | 텍스트 오버플로 방지 | <WordWrap> 긴 문장 </WordWrap> |
플러그인 관리자에서 설정 가능한 옵션입니다. @help 섹션(문서 시작 부분)에 상세히 나와 있지만, truncated된 부분을 기반으로 주요 카테고리를 요약:
노트 태그(Notetags)나 이벤트 명령어와 연동되어 데이터베이스(액터, 아이템 등)에 적용 가능. 예: 액터 노트에 <Message Name Color: #RRGGBB>로 색상 지정.
텍스트 코드(Text Codes) 기본 RMMZ 코드 외에 추가된 하드코딩된 코드 목록(위키에서 발췌): \AutoColorOn / \AutoColorOff: 자동 색상 토글. \Name[x]: 이름 창에 x 표시. \Icon[x]: 아이콘 x 삽입. \OutlineColor[x]: 아웃라인 색상 변경. \FontSize[x]: 폰트 크기 변경. <WordWrap> / </WordWrap>: 단어 줄 바꿈 활성화. <Align: type>: 텍스트 정렬(left, center, right). 기타: \ActorFace[actorId], \PartyMember[pos] 등. 커스텀 코드 추가 가능(플러그인 파라미터 > Custom Text Codes).
메시지 관련 명령어로 이벤트에서 호출:
제공된 파일은 다음과 같은 구조입니다:
난독화로 인해 상세 디버깅은 어렵지만, 기능적으로는 Window_Base와 Scene_Message를 수정하여 동작합니다. 버그 픽스 예: 버전 1.01에서 \ActorFace[x] 수정("$gameActors.actor(1)" → "$gameActors.actor(actorId)"), WordWrap 지원 추가.
이 플러그인은 RMMZ 메시지 시스템의 필수 확장으로, 스토리 중심 게임에 특히 유용합니다. 더 구체적인 코드 부분 분석이 필요하시면 추가 쿼리를 부탁드려요!
//
aHR0cHM6Ly9raW8uYWMvYy9iY2VTS19tWW9EUTJIWkpHMUVjeldi
자동 줄바꿈 관련 플러그인 찾아서 올림
