스크립트
# DarkPlasma_AutoLineBreak for RPG Maker VX Ace
# 버전: 1.0.5 (LINE_MARGIN 상수 참조 수정 + 약간의 안정성 개선)
# 목표: 최대한 간단하게 유지하면서 에러 제거
module DarkPlasma
module AutoLineBreak
PROHIBIT_BEFORE = ',)]}、〕〉》」』】〙〗〟’”⦆»ゝゞーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇷ゚ㇺㇻㇼㇽㇾㇿ々〻‐゠–〜~?!‼⁇⁈⁉・:;/。.'.freeze
PROHIBIT_AFTER = '([{〔〈《「『【〘〖〝‘“⦅«'.freeze
LINE_MARGIN = 4
WORD_BASE = false # true = 영어 단어 단위 시도 (아주 제한적)
IGNORE_CLASS_NAMES = [] # 필요하면 여기에 클래스 이름 추가
end
end
class Window_Base
attr_accessor :ignore_auto_linebreak_temp
def ignore_auto_linebreak?
DarkPlasma::AutoLineBreak::IGNORE_CLASS_NAMES.include?(self.class.name) ||
@ignore_auto_linebreak_temp
end
def start_ignore_auto_linebreak
@ignore_auto_linebreak_temp = true
end
def finish_ignore_auto_linebreak
@ignore_auto_linebreak_temp = false
end
def auto_line_width
contents.width - DarkPlasma::AutoLineBreak::LINE_MARGIN
end
def prohibit_before?(char)
DarkPlasma::AutoLineBreak::PROHIBIT_BEFORE.include?(char)
end
def prohibit_after?(char)
DarkPlasma::AutoLineBreak::PROHIBIT_AFTER.include?(char)
end
# 자동 줄바꿈 필요 여부 판단 (VX Ace 한계로 매우 단순화됨)
def should_auto_break_here?(c, pos)
return false if ignore_auto_linebreak?
return false if c == "\n" || c.nil? || c.empty?
char_width = begin
contents.text_width(c)
rescue
12 # 폰트/문자 문제 시 기본값
end
current_x = pos[:x]
# 1. 기본 폭 초과 → 행두 금지 문자가 아니면 줄바꿈
if current_x + char_width > auto_line_width
return !prohibit_before?(c)
end
# 2. 행미 금지 문자 + 여유 공간 부족 시 강제 줄바꿈 시도
if prohibit_after?(c) && current_x + char_width + DarkPlasma::AutoLineBreak::LINE_MARGIN > auto_line_width
return true
end
# 3. 영어 단어 단위 (매우 제한적 – lookahead 불가)
if DarkPlasma::AutoLineBreak::WORD_BASE &&
pos[:last_char] == ' ' && c != ' ' && c =~ /\w/
if current_x + char_width * 4 > auto_line_width # 임의 예측
return true
end
end
false
end
end
class Window_Base
alias dp_alb_process_character process_character
def process_character(c, text, pos)
if ignore_auto_linebreak?
dp_alb_process_character(c, text, pos)
return
end
# 자동 줄바꿈 필요 시 먼저 줄 바꿈
if should_auto_break_here?(c, pos)
process_new_line(text, pos)
pos[:x] = pos[:new_x] # x 위치 초기화 (중요!)
end
# 마지막 문자 기억 (영어 옵션용)
pos[:last_char] = c if c =~ /[\w\s]/
# 원본 처리
dp_alb_process_character(c, text, pos)
end
# \ALB[START] / \ALB[FINISH] 간단 구현
alias dp_alb_process_escape_character process_escape_character
def process_escape_character(code, text, pos)
if code.upcase == 'ALB'
if text.sub!(/^\[START\]/i, '')
start_ignore_auto_linebreak
return
elsif text.sub!(/^\[FINISH\]/i, '')
finish_ignore_auto_linebreak
return
end
end
dp_alb_process_escape_character(code, text, pos)
end
end
# 레이아웃이 깨지기 쉬운 윈도우는 자동 줄바꿈 끄기
class Window_ChoiceList < Window_Command
def ignore_auto_linebreak?
true
end
end
class Window_BattleLog < Window_Selectable
def ignore_auto_linebreak?
true
end
end
적용된 게임 참조: https://kone.gg/s/somisoft/bC8e92EXqwOp90q_d0MzWb
용머리 게임 텍스트 자동 줄바꿈 스크립트
aHR0cHM6Ly9raW8uYWMvYy9jN251a3lBamxNSzZ6NERfQUZFNTBi
업로드한 파일은 바로 적용 못함
에디터로 스크립트 넣을 수 있는 상태에서 복사 붙여넣기용
▼ シーン ## 자동 줄바꿈.txt
▼ 적용 위치 ## 스크립트명
2
공지
AI 이미지 관련 공지 및 관련 규정 수정 공지
1uF
05.02
59697
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05.02 59697 22
공지
‼️뉴비 필독 가이드‼️
1uF
05.02
87555
134
‼️뉴비 필독 가이드‼️
공지
1uF
05.02 87555 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04.05
199334
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04.05 199334 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02.05
251540
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02.05 251540 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
25.05.17
1240034
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
25.05.17 1240034 -14
일반
asdsdadsadas
코네
06.11
97
0
asdsdadsadas
일반
코네
06.11 97 0
일반
dsdsadasdsadas
코네
06.11
602
0
dsdsadasdsadas
일반
코네
06.11 602 0
일반
제4목
Magic
05.29
437
0
제4목
일반
Magic
05.29 437 0
일반
제3목
Magic
05.29
71
0
제3목
일반
Magic
05.29 71 0
동인
제2목
Magic
05.29
106
0
제2목
동인
Magic
05.29 106 0
일반
제목
Magic
05.29
62
0
제목
일반
Magic
05.29 62 0
일반
sdadsadsa
Magic
05.29
368
0
sdadsadsa
일반
Magic
05.29 368 0
일반
의술사 로드하려면 겜끄고 다시켜야되는거 진짜 존나불편하네
nagisa8262
05.28
574
0
의술사 로드하려면 겜끄고 다시켜야되는거 진짜 존나불편하네
일반
nagisa8262
05.28 574 0
작업현황
혼자 몇시간씩 끙끙대면서 이것저것 만져보다 결국
Empty0
05.28
578
3
혼자 몇시간씩 끙끙대면서 이것저것 만져보다 결국
작업현황
Empty0
05.28 578 3
미번
[구매보급][번역요청] RJ01261369 淫欲の輪廻
nfssss
05.28
481
3
[구매보급][번역요청] RJ01261369 淫欲の輪廻
미번
nfssss
05.28 481 3
영상
니트사장 신작 칸코레 애틀랜타
ㅇㅇ
05.28
384
6
니트사장 신작 칸코레 애틀랜타
영상
ㅇㅇ
05.28 384 6
일반
오늘은 진짜 엔딩보고 딴 거 해야지
ENE
05.28
427
2
오늘은 진짜 엔딩보고 딴 거 해야지
일반
ENE
05.28 427 2
영상
버,청아,방뇨) セネト 신작 신데마스아리스 사쿠라미코
ㅇㅇ
05.28
858
6
버,청아,방뇨) セネト 신작 신데마스아리스 사쿠라미코
영상
ㅇㅇ
05.28 858 6
일반
삼성갤러리 원드 연동 종료
정실은스쿨드
05.28
670
0
삼성갤러리 원드 연동 종료
일반
정실은스쿨드
05.28 670 0
질문
던전앤브라이드 여주플 모드는 없는거죠?
시소시소
05.28
648
0
던전앤브라이드 여주플 모드는 없는거죠?
질문
시소시소
05.28 648 0
영상
청아) まだな(madana90962) 신작
ㅇㅇ
05.28
449
7
청아) まだな(madana90962) 신작
영상
ㅇㅇ
05.28 449 7
영상
Lapin Gris 신작
ㅇㅇ
05.28
493
7
Lapin Gris 신작
영상
ㅇㅇ
05.28 493 7
질문
여주물 배틀퍽 있는거 추천해주세요
nagisa8262
05.28
142
0
여주물 배틀퍽 있는거 추천해주세요
질문
nagisa8262
05.28 142 0
질문
게임 이름을 알고싶음!!!
prontal
05.28
190
-1
게임 이름을 알고싶음!!!
질문
prontal
05.28 190 -1
소리
[구매보급]오호성 섹스하지 않으면 나갈 수 없는 방, 쿨한 여자의 교미 관찰
이름뭐하지
05.28
852
5
[구매보급]오호성 섹스하지 않으면 나갈 수 없는 방, 쿨한 여자의 교미 관찰
소리
이름뭐하지
05.28 852 5
질문
판매자가 게임을 내리는 경우도 있나? 아니면 다른 곳에서 판매하는건가.
124142355t1
05.27
153
0
판매자가 게임을 내리는 경우도 있나? 아니면 다른 곳에서 판매하는건가.
질문
124142355t1
05.27 153 0
질문
던브 통합모드 에러
karim
05.27
133
0
던브 통합모드 에러
질문
karim
05.27 133 0
질문
에로검열관 DLC 유리코 퀘스트어케 받는겅미?
의현아가방쮸쮸탐사원
05.27
813
-1
에로검열관 DLC 유리코 퀘스트어케 받는겅미?
질문
의현아가방쮸쮸탐사원
05.27 813 -1
요청
[복구요청] 3D 치한 체험 만지기 무제한! 통학 전철 편
somisoft32
05.27
715
1
[복구요청] 3D 치한 체험 만지기 무제한! 통학 전철 편
요청
somisoft32
05.27 715 1
질문
게임 구매한거 공유 처음하는데 암호화는 어떻게 하는거에요?
ㅇㅇ
05.27
693
0
게임 구매한거 공유 처음하는데 암호화는 어떻게 하는거에요?
질문
ㅇㅇ
05.27 693 0
창작
이세계의 마법소녀들(후타,퍼리)
sexqueen0312
05.27
710
1
이세계의 마법소녀들(후타,퍼리)
창작
sexqueen0312
05.27 710 1
요청
(세이브요청) SEED OF THE DEAD 2
kkull00
05.27
591
0
(세이브요청) SEED OF THE DEAD 2
요청
kkull00
05.27 591 0
정보
100만년만에온 여동생 모노크롬 앵콜 제작근황 ㅋㅋㅋㅋㅋㅋㅋ
여동생킬러
05.27
792
8
100만년만에온 여동생 모노크롬 앵콜 제작근황 ㅋㅋㅋㅋㅋㅋㅋ
정보
여동생킬러
05.27 792 8
일반
요즘 서브컬쳐겜은 콜라보 할데가 없나
kunarin
05.27
489
-2
요즘 서브컬쳐겜은 콜라보 할데가 없나
일반
kunarin
05.27 489 -2
질문
에로 검열관 회상방에 도트씬 없음?
kmk102
05.27
931
0
에로 검열관 회상방에 도트씬 없음?
질문
kmk102
05.27 931 0
s/somisoft
• 143,985명 구독중여러가지 다루는 서브
2025-05-17 14:58:43 생성