XP 스크립트

제가 한글화 했어여 ㅎㅎㅎ- 어머 ;

중복이면 댓글로

--------------- 이밑 부터 드래그


#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/ ◆메세지 윈도우 개조 -KGC_MessageAlter◆
#_/----------------------------------------------------------------------------
#_/ 메세지 윈도우를 개조해, 미묘한 기능을 추가합니다.
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

#==============================================================================
# ★ 커스터마이즈 항목 ★
#==============================================================================

module KGC
# ◆윈도우 사이즈 자동조정 초기설정
MSGA_AUTO_ADJUST_DEFAULT = true
# ◆스크롤 기능 초기설정
MSGA_SCROLL_DEFAULT = false

# ◆스크롤 속도【단위:px】
MSGA_SCROLL_SPEED = 4
# ◆최하부 도달 필수
# true 로 하면, 최하부까지 스크롤 하지 않는다고 메세지를 지울 수 없다
MSGA_MUST_LOWEST = false

# ◆얼굴 그래픽 전용 윈도우를 사용
MSGA_FACE_WINDOW = true
# ◆이름 윈도우의 세로폭
# 문자 사이즈도 자동조정(48?64 당을 추천)
MSGA_NAME_WINDOW_HEIGHT = 48
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

$imported = {} if $imported == nil
$imported["MessageAlter"] = true

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System
#--------------------------------------------------------------------------
# ● 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :message_auto_adjust # 메세지 윈도우 자동 사이즈 조정
attr_accessor :message_align # 메세지 윈도우 아라인
attr_accessor :message_scroll # 메세지 윈도우 스크롤
attr_accessor :name_window_skin # 이름 윈도우 스킨
attr_accessor :face_window_skin # 얼굴 그래픽 전용 윈도우 스킨
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias initialize_KGC_MessageAlter initialize
def initialize
# 원래의 처리를 실행
initialize_KGC_MessageAlter

@message_auto_adjust = KGC::MSGA_AUTO_ADJUST_DEFAULT
@message_align = 0
@message_scroll = KGC::MSGA_SCROLL_DEFAULT
@name_window_skin = nil
@face_window_skin = nil
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Message
#==============================================================================

class Window_Message < Window_Selectable
#--------------------------------------------------------------------------
# ● 오브젝트 초기화
#--------------------------------------------------------------------------
alias initialize_KGC_MessageAlter initialize
def initialize
# 원래의 처리를 실행
initialize_KGC_MessageAlter

# 이름용 소형 윈도우 작성
@name_window = Window_Base.new(80, 240, 160, KGC::MSGA_NAME_WINDOW_HEIGHT)
@name_window.visible = false
@name_window.back_opacity = 160
@name_window.z = 9999
# 얼굴 그래픽 전용 윈도우 작성
@face_window = Window_Base.new(0, 0, 32, 32)
@face_window.visible = false
@face_window.back_opacity = 160
@face_window.z = 9998
end
#--------------------------------------------------------------------------
# ● 해방
#--------------------------------------------------------------------------
alias dispose_KGC_MessageAlter dispose
def dispose
# 윈도우 해방
@name_window.dispose
@face_window.dispose

# 원래의 처리를 실행
dispose_KGC_MessageAlter
end
#--------------------------------------------------------------------------
# ● 리프레쉬
#--------------------------------------------------------------------------
def refresh
self.contents.clear
# 윈도우 초기화
initialize_window
# 문자열 버퍼 작성
text_buf, trans_x = [Bitmap.new(608, 32)], [0]
# 메세지 윈도우 자동 사이즈 조정이 오프의 경우
unless $game_system.message_auto_adjust
self.contents = Bitmap.new(width - 32, height - 32)
end
text_buf[0].font.color = self.normal_color
x = y = max_x = 0
@cursor_width = 0
# 선택사항이라면 인덴트를 실시한다
x = 8 if $game_temp.choice_start == 0
# 표시 기다리는 메세지가 있는 경우
if $game_temp.message_text != nil
text = $game_temp.message_text
# 제어 문자 처리
begin
last_text = text.clone
text.gsub!(/\[V][(d+)]/i) { $game_variables[$1.to_i] }
text.gsub!(/\IN[(d+)]/i) { $data_items[$1.to_i] == nil ?
"" : $data_items[$1.to_i].name }
text.gsub!(/\WN[(d+)]/i) { $data_weapons[$1.to_i] == nil ?
"" : $data_weapons[$1.to_i].name }
text.gsub!(/\AN[(d+)]/i) { $data_armors[$1.to_i] == nil ?
"" : $data_armors[$1.to_i].name }
end until text == last_text
text.gsub!(/\[N][(d+)]/i) do
$game_actors[$1.to_i] != nil ? $game_actors[$1.to_i].name : ""
end
# 편의상,"\\" 을 "00" 에 변환
text.gsub!(/\\/) { "00" }
# "\C" 를 "01" 에,"\G" 를 "02" 에 변환
text.gsub!(/\[C][(d+)]/i) { "01[#{$1}]" }
text.gsub!(/\[G]/i) { "02" }
text.gsub!(/\AL[(d+)]/i) { "x10[#{$1}]" }
text.gsub!(/\IT[(d+)]/i) { "x11[#{$1}]" }
text.gsub!(/\WP[(d+)]/i) { "x12[#{$1}]" }
text.gsub!(/\AR[(d+)]/i) { "x13[#{$1}]" }
# c 에 1 문자를 취득 (문자를 취득할 수 없게 될 때까지 루프)
while ((c = text.slice!(/./m)) != nil)
# \ 의 경우
if c == "00"
# 본래의 문자에 되돌린다
c = "\"
end
# C[n] 의 경우
if c == "01"
# 문자색을 변경
text.sub!(/[(d+)]/, "")
color = $1.to_i
if color >= 0 && color <= 7
text_buf[y].font.color = self.text_color(color)
end
# 다음의 문자에
next
end
# G 의 경우
if c == "02"
# 골드 윈도우를 작성
if @gold_window == nil
@gold_window = Window_Gold.new
@gold_window.x = 560 - @gold_window.width
if $game_temp.in_battle
@gold_window.y = 192
else
@gold_window.y = self.y >= 128 ? 32 : 384
end
@gold_window.opacity = self.opacity
@gold_window.back_opacity = self.back_opacity
end
# 다음의 문자에
next
end
# AL[n] 의 경우
if c == "x10"
# 아라인 타입을 변경
text.sub!(/[(d+)]/, "")
align = $1.to_i
# 다음의 문자에
next
end
# 개행 문자의 경우
if c == "n"
# 선택사항이라면 커서의 폭을 갱신
if y >= $game_temp.choice_start
@cursor_width = [@cursor_width, x].max
end
# y 에 1 을 가산
y += 1
# 새로운 문자열 버퍼를 작성
text_buf[y] = Bitmap.new(608, 32)
text_buf[y].font.color = self.normal_color
# x 의 최대치 갱신 판정
max_x = [x, max_x].max
# x 를 초기화
x = 0
# 선택사항이라면 인덴트를 실시한다
x = 8 if y >= $game_temp.choice_start
# 다음의 문자에
next
end
# IT[n] 의 경우
if c == "x11"
text.sub!(/[(d+)]/, "")
item = $data_items[$1.to_i]
if item != nil
# 아이템명을 아이콘 첨부로 묘화
icon = RPG::Cache.icon(item.icon_name)
text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
x += icon.width + 8
cx = text_buf[y].text_size(item.name).width + 8
text_buf[y].draw_text(x, 0, cx, 32, item.name)
x += cx - 8
end
next
end
# WP[n] 의 경우
if c == "x12"
text.sub!(/[(d+)]/, "")
item = $data_weapons[$1.to_i]
if item != nil
# 무기명을 아이콘 첨부로 묘화
icon = RPG::Cache.icon(item.icon_name)
text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
x += icon.width + 8
cx = text_buf[y].text_size(item.name).width + 8
text_buf[y].draw_text(x, 0, cx, 32, item.name)
x += cx - 8
end
next
end
# AR[n] 의 경우
if c == "x13"
text.sub!(/[(d+)]/, "")
item = $data_armors[$1.to_i]
if item != nil
# 무기명을 아이콘 첨부로 묘화
icon = RPG::Cache.icon(item.icon_name)
text_buf[y].blt(x + 4, [(32 - icon.height) / 2, 0].max, icon, icon.rect)
x += icon.width + 8
cx = text_buf[y].text_size(item.name).width + 8
text_buf[y].draw_text(x, 0, cx, 32, item.name)
x += cx - 8
end
next
end
# 문자를 묘화
text_buf[y].draw_text(4 + x, 0, 40, 32, c)
# x 에 묘화 한 문자의 폭을 가산
x += text_buf[y].text_size(c).width
# 전송용 X좌표 보존
trans_x[y] = x
# 선택사항의 경우는 인덴트분 되돌린다
trans_x[y] += 12 if $game_temp.choice_max > 0
end
end
# 메세지 윈도우 자동 사이즈 조정이 온의 경우
if $game_system.message_auto_adjust
# 수치 입력의 경우는 1행 여분으로 추가
y += 1 if $game_temp.num_input_variable_id > 0
# 윈도우 사이즈를 조정
self.width = max_x + 48
self.height = [y, 4].min * 32 + 32
# 얼굴 그래픽이 존재하는 경우
if @face_bitmap != nil && !KGC::MSGA_FACE_WINDOW
# 윈도우의 폭을 가산
self.width += @face_bitmap.width + 16
# 윈도우의 높이가 얼굴 그래픽보다 작은 경우
if @face_bitmap.height + 32 > self.height
# 얼굴 그래픽보다 큰 사이즈로 설정
self.height = @face_bitmap.height + 32
end
self.contents = Bitmap.new(width - 32, [y * 32, @face_bitmap.height].max)
face_y = (self.contents.height - @face_bitmap.height) / 2
# 얼굴 그래픽이 좌측 표시의 경우
if $msg_face[1] == 0
@text_x = @face_bitmap.width + 16
self.contents.blt(8, face_y, @face_bitmap,
Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
else
@text_x = 0
self.contents.blt(self.contents.width - @face_bitmap.width - 8,
face_y, @face_bitmap,
Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
end
else
@text_x = 0
self.contents = Bitmap.new(width - 32, y * 32)
end
# 메세지 윈도우 자동 사이즈 조정이 오프의 경우
else
# 얼굴 그래픽이 존재하는 경우
if @face_bitmap != nil && !KGC::MSGA_FACE_WINDOW
# 윈도우의 높이가 얼굴 그래픽보다 작은 경우
if @face_bitmap.height + 32 > self.height
# 얼굴 그래픽보다 큰 사이즈로 설정
self.height = @face_bitmap.height + 32
end
face_y = (self.contents.height - @face_bitmap.height) / 2
# 얼굴 그래픽이 좌측 표시의 경우
if $msg_face[1] == 0
@text_x = @face_bitmap.width + 16
self.contents.blt(8, face_y, @face_bitmap,
Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
else
@text_x = 0
self.contents.blt(self.contents.width - @face_bitmap.width - 8,
face_y, @face_bitmap,
Rect.new(0, 0, @face_bitmap.width, @face_bitmap.height))
end
else
@text_x = 0
end
end
# 윈도우 내용을 묘화
for i in 0...text_buf.size
next if text_buf[i] == nil
trans_x[i] = 0 if trans_x[i] == nil
# 전송용 X좌표 설정
align = $game_system.message_align if align == nil
case align
when 0, nil # 좌측
tx = @text_x
when 1 # 중앙
if $msg_face != nil && $msg_face[1] == 1
tx = (self.contents.width - trans_x[i] - @face_bitmap.width - 16) / 2
else
tx = (self.contents.width - trans_x[i] + @text_x) / 2
end
when 2 # 우측
if $msg_face != nil && $msg_face[1] == 0
tx = self.contents.width - trans_x[i] - 8
elsif $msg_face != nil && $msg_face[1] == 1
tx = self.contents.width - trans_x[i] - @face_bitmap.width - 24
else
tx = self.contents.width - trans_x[i] + @text_x - 8
end
end
self.contents.blt(tx, i * 32, text_buf[i], text_buf[i].rect)
text_buf[i].dispose
end
# 선택사항의 경우
if $game_temp.choice_max > 0
@item_max = $game_temp.choice_max
self.active = true
self.index = 0
end
# 수치 입력의 경우
if $game_temp.num_input_variable_id > 0
digits_max = $game_temp.num_input_digits_max
number = $game_variables[$game_temp.num_input_variable_id]
@input_number_window = Window_InputNumber.new(digits_max)
@input_number_window.number = number
@input_number_window.x = self.x + 8 + @text_x
@input_number_window.y = self.y + $game_temp.num_input_start * 32
# 메세지 윈도우 자동 사이즈 조정이 온의 경우
if $game_system.message_auto_adjust
# 윈도우의 폭을 조정
self.width = [self.width, @input_number_window.width + 16].max
# 윈도우를 중앙에 이동
centering_window
# 수치 입력 윈도우 위치를 조정
@input_number_window.x = self.x + 8 + @text_x
end
end
# 이름이 설정되어 있는 경우, 이름 표시
if $msg_name != nil
fs = [[22 - (64 - KGC::MSGA_NAME_WINDOW_HEIGHT) / 4, 12].max, 80].min
bitmap = Bitmap.new(32, 32)
bitmap.font.size = fs
cx = bitmap.text_size($msg_name).width
@name_window.width = cx + 32
@name_window.contents.dispose if @name_window.contents != nil
@name_window.contents = Bitmap.new(cx, KGC::MSGA_NAME_WINDOW_HEIGHT - 32)
@name_window.contents.font.size = fs
@name_window.contents.draw_text(0, 0, cx + 8, KGC::MSGA_NAME_WINDOW_HEIGHT - 32, $msg_name)
@name_window.visible = true
if $game_system.name_window_skin != nil
@name_window.windowskin = RPG::Cache.windowskin($game_system.name_window_skin)
else
@name_window.windowskin = self.windowskin
end
# 이름이 설정되어 있지 않은 경우, 윈도우 소거
else
@name_window.visible = false
end
    # 얼굴 그래픽 전용 윈도우 표시
if $msg_face != nil && KGC::MSGA_FACE_WINDOW
@face_window.width = @face_bitmap.width + 32
@face_window.height = [@face_bitmap.height + 32, self.height].max
self.height = [@face_window.height, self.height].max
face_y = (@face_window.height - @face_bitmap.height - 32) / 2
@face_window.contents.dispose if @face_window.contents != nil
@face_window.contents = Bitmap.new(@face_window.width - 32, @face_window.height - 32)
@face_window.contents.blt(0, face_y, @face_bitmap, @face_bitmap.rect)
if $game_system.face_window_skin != nil
@face_window.windowskin = RPG::Cache.windowskin($game_system.face_window_skin)
else
@face_window.windowskin = self.windowskin
end
@face_window.visible = true
else
@face_window.visible = false
end
# 중앙에 이동
centering_window
end
#--------------------------------------------------------------------------
# ● 윈도우 설정 초기화
#--------------------------------------------------------------------------
def initialize_window
if $msg_face == nil || $msg_face[0] == nil || $msg_face[1] == nil
@face_bitmap.dispose if @face_bitmap != nil
@face_bitmap = nil
self.width = 480
else
@face_bitmap = RPG::Cache.picture($msg_face[0])
self.width = KGC::MSGA_FACE_WINDOW ? 480 : 496 + @face_bitmap.width
end
centering_window
self.y = 304
self.oy = 0
self.height = 160
reset_window

#--------------------------------------------------------------------------
# ● 윈도우를 중앙에 이동
#--------------------------------------------------------------------------
def centering_window
if @face_window.visible && $msg_face != nil
cx = 640 - self.width - @face_window.width
case $msg_face[1]
when 1 # 오른쪽
@face_window.x = cx / 2 + self.width
self.x = cx / 2
@name_window.x = self.x
else # 왼쪽
@face_window.x = cx / 2
self.x = cx / 2 + @face_window.width
@name_window.x = @face_window.x
end
else
cx = 640 - self.width
self.x = cx / 2
@name_window.x = self.x
end
end
#--------------------------------------------------------------------------
# ● 윈도우의 위치와 불투명도의 설정
#--------------------------------------------------------------------------
def reset_window
if $game_temp.in_battle
self.y = 32
else
case $game_system.message_position
when 0 # 상
self.y = 32
when 1 # 중
self.y = 160
when 2 # 하
self.y = 304
end
end
if $game_system.message_frame == 0
self.opacity = 255
else
self.opacity = 0
end
@name_window.y = self.y - KGC::MSGA_NAME_WINDOW_HEIGHT + 16
@name_window.opacity = self.opacity
@face_window.y = self.y
@face_window.opacity = self.opacity
self.back_opacity = 160
self.pause = false
end
 #--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
def update
super
# 윈도우를 갱신
@name_window.update
@face_window.update
# 용명의 경우
if @fade_in
self.contents_opacity += 24
@name_window.contents_opacity += 24 if $msg_name != nil
@face_window.contents_opacity += 24 if $msg_face != nil
if @input_number_window != nil
@input_number_window.contents_opacity += 24
end
if self.contents_opacity == 255
@fade_in = false
end
return
end
# 수치 입력중의 경우
if @input_number_window != nil
@input_number_window.update
# 결정
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
$game_variables[$game_temp.num_input_variable_id] =
@input_number_window.number
$game_map.need_refresh = true
# 수치 입력 윈도우를 해방
@input_number_window.dispose
@input_number_window = nil
terminate_message
end
return
end
  # 메세지 표시중의 경우
if @contents_showing
# 스크롤 최대 위치를 계산
scroll_max = self.contents.height - (self.height - 32)
# 선택사항의 표시중이 아니면 포즈 싸인을 표시
if $game_temp.choice_max == 0
self.pause = true
end
# 캔슬
if Input.trigger?(Input::B) && $game_temp.choice_max > 0 &&
$game_temp.choice_cancel_type > 0
$game_system.se_play($data_system.cancel_se)
$game_temp.choice_proc.call($game_temp.choice_cancel_type - 1)
terminate_message
end
# 결정
if Input.trigger?(Input::C)
if $game_temp.choice_max > 0
$game_system.se_play($data_system.decision_se)
$game_temp.choice_proc.call(self.index)
end
# 스크롤 기능이 온, 한편 선택사항이 아닌 경우
if $game_system.message_scroll && $game_temp.choice_max == 0
# 최하부 도달 판정
if KGC::MSGA_MUST_LOWEST
terminate_message if self.oy == scroll_max
else
terminate_message
end
else
terminate_message
end
end
    # 스크롤 기능이 온, 한편 선택사항이 아닌 경우
if $game_system.message_scroll && $game_temp.choice_max == 0
# 방향 버튼 위가 밀리고 있는 경우
if Input.press?(Input::UP)
self.oy = [self.oy - KGC::MSGA_SCROLL_SPEED, 0].max
# 방향 버튼아래가 밀리고 있는 경우
elsif Input.press?(Input::DOWN)
self.oy = [self.oy + KGC::MSGA_SCROLL_SPEED, scroll_max].min
# R 버튼이 밀렸을 경우
elsif Input.repeat?(Input::R)
self.oy = [self.oy + (self.height - 32), scroll_max].min
# L 버튼이 밀렸을 경우
elsif Input.repeat?(Input::L)
self.oy = [self.oy - (self.height - 32), 0].max
end
# 윈도우 최하부에 이르렀을 경우
if $game_temp.choice_max == 0 && self.oy == scroll_max
# 포즈 싸인을 표시
self.pause = true
else
# 포즈 싸인을 소거
self.pause = false
end
end
return
end
  # 페이드아웃중 이외로 표시 기다리는 메세지나 선택사항이 있는 경우
if !@fade_out && $game_temp.message_text != nil
@contents_showing = true
$game_temp.message_window_showing = true
reset_window
refresh
Graphics.frame_reset
self.visible = true
self.contents_opacity = 0
if @input_number_window != nil
@input_number_window.contents_opacity = 0
end
@fade_in = true
return
end
# 표시해야 할 메세지가 없지만, 윈도우가 가시 상태의 경우
if self.visible
@fade_out = true
self.opacity -= 48
@name_window.opacity -= 48
@face_window.opacity -= 48
if self.opacity == 0
self.visible = false
@name_window.visible = false
@face_window.visible = false
@fade_out = false
$game_temp.message_window_showing = false
end
return
end
  end
#--------------------------------------------------------------------------
# ● 커서의 구형 갱신
#--------------------------------------------------------------------------
def update_cursor_rect
if @index >= 0
n = $game_temp.choice_start + @index
self.cursor_rect.set(8 + @text_x, n * 32, @cursor_width, 32)
else
self.cursor_rect.empty
end
end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Interpreter (분할 정의 3)
#==============================================================================

class Interpreter
#--------------------------------------------------------------------------
# ● 문장의 표시
#--------------------------------------------------------------------------
def command_101
# 다른 문장이 message_text 로 설정 끝나, 한편 스크롤 기능이 오프의 경우
if $game_temp.message_text != nil && !$game_system.message_scroll
# 종료
return false
end
# 메세지 종료 대기중 플래그 및 콜백을 설정
@message_waiting = true
$game_temp.message_proc = Proc.new { @message_waiting = false }
# message_text 에 1 행 째를 설정
$game_temp.message_text = @list[@index].parameters[0] + "n"
line_count = 1
# 루프
loop {
      # 다음의 이벤트 커멘드가 문장 2 행 째 이후의 경우
      if @list[@index+1].code == 401
# message_text 에 2 행 째 이후를 추가
$game_temp.message_text += @list[@index+1].parameters[0] + "n"
line_count += 1    # 이벤트 커멘드가 문장 2 행 째 이후가 아닌 경우
      else
    # 다음의 이벤트 커멘드가 문장 표시, 한편 스크롤 기능이 온의 경우
if @list[@index+1].code == 101 && $game_system.message_scroll
# message_text 에 다음의 문장을 추가
$game_temp.message_text += @list[@index+1].parameters[0] + "n"
line_count += 1
# 인덱스를 진행시킨다
@index += 1
next
        # 다음의 이벤트 커멘드가 선택사항의 표시의 경우
        elsif @list[@index+1].code == 102
# 선택사항이 화면에 들어가는 경우
if @list[@index+1].parameters[0].size <= 4 - line_count
# 인덱스를 진행시킨다
@index += 1
# 선택사항의 셋업
$game_temp.choice_start = line_count
setup_choices(@list[@index].parameters)
end
# 다음의 이벤트 커멘드가 수치 입력의 처리의 경우
elsif @list[@index+1].code == 103
# 수치 입력 윈도우가 화면에 들어가는 경우
if line_count < 4
# 인덱스를 진행시킨다
@index += 1
# 수치 입력의 셋업
$game_temp.num_input_start = line_count
$game_temp.num_input_variable_id = @list[@index].parameters[0]
$game_temp.num_input_digits_max = @list[@index].parameters[1]
end
end
# 계속
return true
end
# 인덱스를 진행시킨다
@index += 1
}
end
end

Who's 백호

?

이상혁입니다.

http://elab.kr

Comment '3'
  • ?
    Aerkers 2009.02.28 14:08
    마음에 드는 스크립트네요, 잘쓸게요,
  • ?
    L Triple 2010.02.26 23:51

    잘써보겠습니다.

    좋은 자료 언제나 감사 하구요 ^^

  • ?
    L Triple 2010.02.26 23:56

    다른 스크립트랑 겹쳐서

    오류가 나는군요.

    안타깝네요 .


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
881 전투 펫 시스템(ABS 3.4v포함) 23 file 백호 2009.02.22 3458
880 메뉴 자작 메뉴 스크립트들(L's Simple CMS and menu scenes) (SDK 호환?) 10 Alkaid 2010.09.02 3455
879 미니맵 스크립트 이용하여 미니맵 만들기 16 file 아방스 2007.11.09 3451
878 전투 CTB by Charlie Fleed 3.2 - FF10 스타일의 전투 시스템 7 Alkaid 2010.10.14 3447
877 능력치 올리기 스크립트 21 file 아방스 2007.11.09 3447
876 미니맵 던전용 미니맵 스크립트[사용법 추가] 16 file 배포 2008.03.02 3443
875 이동 및 탈것 3D 캐릭 스크립트 7 백호 2009.02.22 3442
874 HUD 맵이름표시 ps인간 2009.01.23 3441
873 미니맵 미니맵(중복률100%? 한글번역!) 17 백호 2009.02.21 3423
» 메시지 ◆메세지 윈도우 개조 -KGC_MessageAlter◆ 3 백호 2009.02.22 3422
871 기타 FPLE 2 - First Person Labyrinth Explorer by MGC 1 Alkaid 2012.01.17 3415
870 이동 및 탈것 멈췄을때 행동. 17 file Bera 2010.10.17 3408
869 메뉴 스탯올리기 시스템 (액알가능) 27 file 백호 2009.02.22 3403
868 기타 한글 입력 스크립트 입니다. (vx -> xp) 23 file 헤르코스 2009.04.18 3396
867 메뉴 [자작]명성치 사용 스크립트 16 Rainsy 2009.03.22 3390
866 전투 ATB전투 5 백호 2009.02.22 3369
865 파티 [최강전사님 제공] 파티가 따라오게 하는 스크립트 24 file 아방스 2007.11.09 3365
864 아이템 아이템 인벤토리 2 file 백호 2009.02.22 3354
863 이동 및 탈것 최단경로 찾아가기 - (마우스 사용) 18 file 허걱 2009.02.02 3351
862 스탯 포인트 시스템 3차수정 ( ' 백호 ' 님이 올리신 자료 수정.) 26 카이어덱터 2010.01.04 3344
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ... 52 Next
/ 52