스크립트
# 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
59831
22
AI 이미지 관련 공지 및 관련 규정 수정 공지
공지
1uF
05.02 59831 22
공지
‼️뉴비 필독 가이드‼️
1uF
05.02
88049
134
‼️뉴비 필독 가이드‼️
공지
1uF
05.02 88049 134
공지
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
SK
04.05
199682
-25
🔔[필독] 채널 규정 & 신문고 (2026 04 05~)
공지
SK
04.05 199682 -25
공지
🔔[필독] 탭 별 이용 가이드 (20260206~)
Etrick
02.05
251809
-41
🔔[필독] 탭 별 이용 가이드 (20260206~)
공지
Etrick
02.05 251809 -41
공지
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
SK
25.05.17
1241269
-14
[필독] 서브에 자주 올라오는 여러 가지 질문 모음 (20251026~)
공지
SK
25.05.17 1241269 -14
일반
헤르미온느 길들이기는 dl 에 냈으면 얼마나 팔렸을까
하이바라
05.20
4877
0
헤르미온느 길들이기는 dl 에 냈으면 얼마나 팔렸을까
일반
하이바라
05.20 4877 0
일반
자러갈께.
아이기스맘
05.20
1582
6
자러갈께.
일반
아이기스맘
05.20 1582 6
질문
dlsite에서 겜 어떤 툴로 만들어졌는지 확인할 수 있음?
ahnhyunmin
05.20
5082
0
dlsite에서 겜 어떤 툴로 만들어졌는지 확인할 수 있음?
질문
ahnhyunmin
05.20 5082 0
동인
따끈따끈한 타케다 신규 낙서장 (나데시코)
riden
05.20
26652
48
따끈따끈한 타케다 신규 낙서장 (나데시코)
동인
riden
05.20 26652 48
요청
blendy 모음집 복구 요청드려도 될까요
dudqhrcl
05.20
5651
0
blendy 모음집 복구 요청드려도 될까요
요청
dudqhrcl
05.20 5651 0
야짤
ai) 큰 가슴 사이로 총알이 쓩~~
Ghost
05.20
9958
37
ai) 큰 가슴 사이로 총알이 쓩~~
야짤
Ghost
05.20 9958 37
야짤
뫼엥 fantia가 검열로 컷당하다니
강철검
05.20
5797
10
뫼엥 fantia가 검열로 컷당하다니
야짤
강철검
05.20 5797 10
야짤
ai) MMM 모음집
Ghost
05.20
9324
21
ai) MMM 모음집
야짤
Ghost
05.20 9324 21
일반
비타퀘는 조이플로 안되나보네
chdodnd
05.20
3490
0
비타퀘는 조이플로 안되나보네
일반
chdodnd
05.20 3490 0
복구
[[요청복구]] [RJ340568] 상태이상 1 〜음문 금서 기생충편〜
에로스테는 필수 스테는 선택
05.20
18926
122
[[요청복구]] [RJ340568] 상태이상 1 〜음문 금서 기생충편〜
복구
에로스테는 필수 스테는 선택
05.20 18926 122
질문
비월선행록 선발대에게 플레이-오류 질문좀
o0o99
05.20
2234
0
비월선행록 선발대에게 플레이-오류 질문좀
질문
o0o99
05.20 2234 0
야짤
ai) ----스압-----아이마스 계열...?
Ghost
05.20
5158
19
ai) ----스압-----아이마스 계열...?
야짤
Ghost
05.20 5158 19
동인
Yutsuki Tsuzuri-쓰레기 현자 이야기 2
k8625
05.20
20890
41
Yutsuki Tsuzuri-쓰레기 현자 이야기 2
동인
k8625
05.20 20890 41
일반
갑자기 화가난다.
아즈칼
05.20
2382
2
갑자기 화가난다.
일반
아즈칼
05.20 2382 2
질문
미캉의 여름방학 클리닉 어떻게 열음?
jaemyunglee
05.20
2768
0
미캉의 여름방학 클리닉 어떻게 열음?
질문
jaemyunglee
05.20 2768 0
질문
비타퀘2 창관파트 선물 질문
부탄가스
05.20
1707
1
비타퀘2 창관파트 선물 질문
질문
부탄가스
05.20 1707 1
후기 및 공략
의술사 3회차 후기
llll-llll
05.20
4924
5
의술사 3회차 후기
후기 및 공략
llll-llll
05.20 4924 5
동인
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 1
k8625
05.20
29357
189
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 1
동인
k8625
05.20 29357 189
동인
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 2
k8625
05.20
37002
284
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 2
동인
k8625
05.20 37002 284
동인
[직번] [kuroinu] 악몽의 학원 생활 위원장의 운명
maha1004
05.20
20479
76
[직번] [kuroinu] 악몽의 학원 생활 위원장의 운명
동인
maha1004
05.20 20479 76
번역
[손번역][2차번역본] RJ01526327 어서오세요! 어린이 만들기 온천 마을 1.01
sjdwj
05.20
54824
271
[손번역][2차번역본] RJ01526327 어서오세요! 어린이 만들기 온천 마을 1.01
번역
sjdwj
05.20 54824 271
일반
ntr물은 말그대로 심장을 떨리게 하는 꼴림이 있다
인생좆망함
05.20
1922
0
ntr물은 말그대로 심장을 떨리게 하는 꼴림이 있다
일반
인생좆망함
05.20 1922 0
복구
[[요청복구]] [RJ422316] 전투에로 RPG ~음욕의 마탑~
에로스테는 필수 스테는 선택
05.20
28649
250
[[요청복구]] [RJ422316] 전투에로 RPG ~음욕의 마탑~
복구
에로스테는 필수 스테는 선택
05.20 28649 250
번역
[기계번역/자동번역] Yaradiel’s Crown [v0.7.1]
karuparu13
05.20
28995
65
[기계번역/자동번역] Yaradiel’s Crown [v0.7.1]
번역
karuparu13
05.20 28995 65
일반
야겜하면서 제일 힘든거
Kikio
05.20
2932
1
야겜하면서 제일 힘든거
일반
Kikio
05.20 2932 1
동인
Grimgrim-goat짱모음
k8625
05.20
17453
125
Grimgrim-goat짱모음
동인
k8625
05.20 17453 125
일반
가끔 보일때마다 너무 폭력적임
ㅇㅇ
05.20
3063
0
가끔 보일때마다 너무 폭력적임
일반
ㅇㅇ
05.20 3063 0
요청
[복구요청] (이미지 번역) [RJ01274529] 하루우리 카드 게이머즈 메뉴, 스토리 제목 번역
dream
05.20
3089
0
[복구요청] (이미지 번역) [RJ01274529] 하루우리 카드 게이머즈 메뉴, 스토리 제목 번역
요청
dream
05.20 3089 0
일반
의술사가 왜 신선한지 생각해봤는데
ㅇㅇ
05.20
2635
0
의술사가 왜 신선한지 생각해봤는데
일반
ㅇㅇ
05.20 2635 0
질문
복구 관련 질문 드립니다
arquivity
05.20
2218
0
복구 관련 질문 드립니다
질문
arquivity
05.20 2218 0
s/somisoft
• 143,985명 구독중여러가지 다루는 서브
2025-05-17 14:58:43 생성