kone
sub_icon

소미소프트

줄 바꿈, RPGM VXA 스크립트) ▼ シーン ## 자동 줄바꿈.txt

2026-04-11 08:20:55
유틸
조회 8814 · 좋아요 2
스크립트
# 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
댓글 1개
댓글 쓰기
감사합니다
0 / 500
[5/16] 스파키 (스타레일)
영상
브레머튼
05.21 16285 89
ai, 명조) 방순이에게 청혼하고 잔뜩 아기 만들기 섹스했다
야짤
kjh9304
05.21 10313 105
[구매보급]【한국어 자막판】 【4시간 × 더블 여검사 × 더블 하렘】 ~오네쇼타 길드~ 신참 모험가인 나와 엄청 야한 폭유 여검사 누님×2 와 아이 만들기 임신 젖가슴 퀘스트♪(RJ01457321)
소리
Mecklen
05.21 17053 338
ai) 사이좋은 부녀
야짤
메르헨소행성
05.21 10726 27
학원 생활 노출 RPG NAKED HIGHSCHOOL 세이브
세이브
ENE
05.21 7002 16
ai bbc 붕스)카스토리스 ntr 3
야짤
ezmood
05.21 8812 33
ai 붕스)카스토리스 ntr 2.5
야짤
ezmood
05.21 5292 27
[미번/번역요청][Ame arare] 도서실의 그녀 번외편
동인
yurisia
05.21 12779 15
[미번] 01202319 아타타케 공방 코야의 미련 해소 일기 ~도스케베 유령 여자에게는 생하메치〇포가 효과가 있다!~
영상
ctf5r4edfyfdr4r4
05.20 20083 146
익핸 딸깍 번역 방법
정보
알라라크
05.20 10555 27
(청아) [misao.] 색깔한가득
동인
memimemem
05.20 20426 63
[미번] 01521467 Nebula 【Live2D×ASMR】관능미 넘치는 요염한 서큐버스가 선사하는, 머릿속이 녹아내리는 최상의 자위 지원 중독성 있는 마약♡
영상
ctf5r4edfyfdr4r4
05.20 24927 157
장문)진짜 누가 이런 카지노 NTR 야겜 좀 안 만들어주나....
야짤
stealthmania
05.20 9179 35
[요청복구] RJ01180321 네네는 노출욕구가있다
복구
haust0005
05.20 20103 59
[미번/구매보급/번역요청] VJ004257 俺は彼女を信じてる! 나는 그녀를 믿고있다
미번
silver
05.20 8689 45
(NTR/NTL)수줍은 음침한 여자 두 명을 "여자인 친구"로 만들어서 편리한 꽁냥꽁냥한 생활을 보냈더니, 진짜 인싸에게 전부 빼앗겼다.
소리
키리안
05.20 11905 85
(청아)(번역) RJ141187 상복 로리타 구속 기담 미소녀 노예 조교 나이무검열판
번역
ilillilllilil
05.20 66511 495
로스트미디어 단간론파
영상
opqo34
05.20 25584 130
ai) ----청아---- 놀이수영장?
야짤
Ghost
05.20 9535 36
맛있는게임 2개 소개함
정보
칸코
05.20 10028 45
따끈따끈한 타케다 신규 낙서장 (나데시코)
동인
riden
05.20 26763 48
ai) 큰 가슴 사이로 총알이 쓩~~
야짤
Ghost
05.20 9993 37
ai) MMM 모음집
야짤
Ghost
05.20 9403 21
[[요청복구]] [RJ340568] 상태이상 1 〜음문 금서 기생충편〜
복구
에로스테는 필수 스테는 선택
05.20 18947 122
ai) ----스압-----아이마스 계열...?
야짤
Ghost
05.20 5219 19
Yutsuki Tsuzuri-쓰레기 현자 이야기 2
동인
k8625
05.20 20992 41
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 1
동인
k8625
05.20 29456 189
Eco Heeky-엉덩이로 여자를 구분할 수 있는 내가 여상사의 약점을 잡았다 2
동인
k8625
05.20 37109 284
[직번] [kuroinu] 악몽의 학원 생활 위원장의 운명
동인
maha1004
05.20 20595 76
[손번역][2차번역본] RJ01526327 어서오세요! 어린이 만들기 온천 마을 1.01
번역
sjdwj
05.20 54868 271