XP 스크립트

흠..메인위에 넣으시고요
오류날시에는 코멘트(리플) 달아주세요^^


# ▼▲▼ XRXS20. 맵명 표시 윈도우 ver.1.04 ▼▲▼
# by , 앵아 재흙, fukuyama
#
# 맵명의 선두에 피리어드 「.」이 있으면(자) 맵명을 표시하지 않는다.
#
module XRXS20_Config
# true (이)라면 전투후 , 맵으로 돌아왔을 경우도 표시한다
SCENE_BATTLE_TO_SCENE_MAP = true
end

#==============================================================================
# ■ Window_Map_Name
#------------------------------------------------------------------------------
#  맵명을 표시하는 윈도우입니다.
#==============================================================================
class Window_Map_Name < Window_Base
attr_accessor :text

#--------------------------------------------------------------------------
# ● 오브젝트 초기
#--------------------------------------------------------------------------
def initialize
super(8, -8, 640, 64)
self.contents = Bitmap.new(self.width - 32, self.height - 32)
@align = 2
@showing_time = -1
@text_color = Color.new(255, 255, 0, 255) # 지명:묘사 문자색
end
#--------------------------------------------------------------------------
# ● 텍스트 설정
# text : 윈도우에 표시하는 캐릭터 라인
# align : alignment (0..왼쪽 가지런히 해1..centering ,2..오른쪽맞춤)
#--------------------------------------------------------------------------
def set_text(text, align = 2)
# 텍스트와 alignment의 적어도 한편이 전회와 다른 경우
if text != @text or align != @align
@text = text
@align = align
if text.empty? or text =~ /^./
@showing_time = -1
self.contents_opacity = 0
self.visible = false
else
@showing_time = 100
self.contents_opacity = 255
self.visible = true
self.contents.clear
x = 4
y = 0
width = self.contents.width - 8
str = "-"+@text+"-"
self.contents.font.color = Color.new( 0, 0, 0, 192)
self.contents.draw_text(x+2, y+2, width, 32, str, @align)
self.contents.font.color = Color.new( 64, 64, 64, 192)
self.contents.draw_text(x-1, y-1, width, 32, str, @align)
self.contents.draw_text(x+1, y-1, width, 32, str, @align)
self.contents.draw_text(x-1, y+1, width, 32, str, @align)
self.contents.draw_text(x+1, y+1, width, 32, str, @align)
self.contents.font.color = @text_color
self.contents.draw_text(x, y, width, 32, str, @align)
end
end
end
#--------------------------------------------------------------------------
# ● 재묘화
#--------------------------------------------------------------------------
def update
return if @showing_time < 0
@showing_time -= 1
if @showing_time < 16
# 페이드아웃 하기 시작하는
self.contents_opacity = @showing_time * 16
if @showing_time == 0
self.visible = false
self.contents.clear
return
end
end
#이 부분을 지워주면 맵 이름이 사라지지 않습니다.
end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
def initialize_map_name_window(text = nil)
if @map_name_window.nil?
@map_name_window = Window_Map_Name.new
@map_name_window.opacity = 0
@map_name_window.text = text if not text.nil?
end
end
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
alias xrxs20_main main
def main
# 지명 윈도우를 작성
initialize_map_name_window
# 되돌리는
xrxs20_main
# 지명 윈도우를 해방
@map_name_window.dispose
end
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
alias xrxs20_update update
def update
# 지명 윈도우의 갱신
@map_name_window.set_text($game_map.name)
@map_name_window.update
xrxs20_update
end
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 맵명을 취득
#--------------------------------------------------------------------------
def name
$map_infos = load_data("Data/MapInfos.rxdata") if $map_infos.nil?
$map_infos[@map_id].name
end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
alias xrxs20_main main
def main
xrxs20_main
if $scene.is_a?(Scene_Map) and (not XRXS20_Config::SCENE_BATTLE_TO_SCENE_MAP)
$scene.initialize_map_name_window($game_map.name)
end
end
end

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
841 기타 Complete Climate and Time System 1.2 by ForeverZer0 1 Alkaid 2010.09.17 1310
840 액터 Actor Customization 6.0.2 by Synthesize 4 file Alkaid 2010.09.17 1912
839 그래픽 MAWS: Modified Advanced Weather Script 1.2 by Agckuu Coceg 2 file Alkaid 2010.09.13 1969
838 메뉴 L's Custom Menu #3: 1인용 메뉴 Revision 1 3 Alkaid 2010.09.12 2360
837 저장 Advanced Save Menu 편집한 것. (SDK2용) Alkaid 2010.09.11 1219
836 HUD MOG_Active_Hud 3 file Bera 2010.09.11 2468
835 HUD MOG_C_HUD. 6 file Bera 2010.09.11 2329
834 액터 크리쳐 합체, 'SW_CreatureMix(for_rmxp)' by SiotWarrior 21 file 시옷전사 2010.09.11 2777
833 메뉴 L's Custom Menu #4: 'Compact' (SDK 2.x 필수) Alkaid 2010.09.11 1755
832 전투 Minkoff's Animated Battlers - Enhanced 13.2 by DerVVulfman Alkaid 2010.09.10 1687
831 전투 CTB by Charlie Fleed 3.1 - FF10 스타일의 전투시스템 6 Alkaid 2010.09.10 2974
830 전투 Mr. Mo's ABS 5.5 13 Alkaid 2010.09.10 3459
829 전투 DerVVulfman's addons for Mr.Mo's ABS file Alkaid 2010.09.10 1645
828 메시지 Hermes(Hermes Extends RPGXP Message System) 0.3d by derula Alkaid 2010.09.10 2024
827 아이템 Categorized Items Menu 1.3 by albertfish 1 file Alkaid 2010.09.09 1795
826 기타 간단한 Scene_Base Alkaid 2010.09.09 1390
825 메뉴 Ring menu edit (Non-SDK ver.) Alkaid 2010.09.08 1538
824 메뉴 Ring menu edit for SDK2 (Original by Hypershadow180) file Alkaid 2010.09.08 1374
823 메시지 Universal Message System 1.8.0 by ccoa 1 file Alkaid 2010.09.08 2184
822 그래픽 Weather Script(버전 불명) by ccoa 1 file Alkaid 2010.09.08 1571
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