XP 스크립트



# ▼▲▼ XRXS20. 맵명 표시 윈도우 ver.2 ▼▲▼ built100108
# by 앵아 재흙

#==============================================================================
# □ 커스터마이즈 포인트
#==============================================================================
module XRXS20
#
# 제외하는 맵ID (맵의 머리의 것 . 을 회피하고 싶은 경우)
#
EXCLUSIVE_MAPS = []
#
# 윈도우범위
#
WINDOW_FRAME = true # 표시
WINDOW_SKIN = "" # 개별 윈도우 스킨("" : 종래)
WINDOW_WIDTH_FIX = 0 # 가로폭 고정(0:고정하지 않고 자동)
WINDOW_HEIGHT = 24 # 세로폭
#
# 폰트
#
FONT_NAME = "굴림"
FONT_COLOR = Color.new(255, 255, 0, 255)
FONT_SIZE = 18
#
# [표시 위치] (0:좌상 ,1:우상 ,2:좌하 ,3:우하)
#
POSITION = 1
#
# [표시 시간]
#
TIME_FADEIN = 16 # 용명
TIME_STOP = 64 # 표시 정지
TIME_FADEOUT = 24 # 페이드아웃
end
#--------------------------------------------------------------------------
# 텍스트 모형
#--------------------------------------------------------------------------
class Window_Map_Name < Window_Base
def text_model(text)
return "" + text + ""
end
end
#
#[기능]
# 맵명의 선두에 피리어드 「.」이 있으면(자) 맵명을 표시하지 않습니다.
#
#==============================================================================
# □ XRXS. 맵 나토리 이득 기구
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ○ 맵명을 취득
#--------------------------------------------------------------------------
def name
$data_mapinfos = load_data("Data/MapInfos.rxdata") if $data_mapinfos.nil?
$data_mapinfos[@map_id].name
end
end

#==============================================================================
# ■ Game_Temp
#==============================================================================
class Game_Temp
#--------------------------------------------------------------------------
# ● 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :xrxs20_fade_duration
end
#==============================================================================
# ■ Game_Map
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# ● 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_reader :map_id
end
#==============================================================================
# □ Window_Map_Name_Space
#==============================================================================
class Window_Map_Name_Space < Window_Base
#--------------------------------------------------------------------------
# ○ 오브젝트 초기화
#--------------------------------------------------------------------------
def initialize(x, y, w, h)
super(x-16, y-16, w+32, h+32)
self.opacity = 0
self.visible = false
@align = 1
end
#--------------------------------------------------------------------------
# ○ 문자를 설정
#--------------------------------------------------------------------------
def set_text(text)
# 묘화폭을 계산
if XRXS20::WINDOW_WIDTH_FIX == 0
bitmap = Bitmap.new(1,1)
bitmap.font.name = XRXS20::FONT_NAME
bitmap.font.size = XRXS20::FONT_SIZE
width = bitmap.text_size(text).width + 25
bitmap.dispose
else
width = XRXS20::WINDOW_WIDTH_FIX
end
# 컨텐츠 영역을 작성
if self.contents != nil
self.contents.dispose
end
self.width = width + 32
self.contents = Bitmap.new(width, self.height - 32)
self.contents.font.name = XRXS20::FONT_NAME
self.contents.font.color = XRXS20::FONT_COLOR
self.contents.font.size = XRXS20::FONT_SIZE
self.contents.font.bold = true
if text.nil?
return
end
# 문자의 묘화
x = 12
y = 0
width -= 6
height = self.contents.height
text_color = self.contents.font.color.dup
self.contents.font.color = Color.new( 0, 0, 0, 192)
self.contents.draw_text(x+2, y+2, width, height, text, @align)
self.contents.font.color = Color.new( 64, 64, 64, 192)
self.contents.draw_text(x-1, y-1, width, height, text, @align)
self.contents.draw_text(x+1, y-1, width, height, text, @align)
self.contents.draw_text(x-1, y+1, width, height, text, @align)
self.contents.draw_text(x+1, y+1, width, height, text, @align)
self.contents.font.color = text_color
self.contents.draw_text(x, y, width, height, text, @align)
end
end
#==============================================================================
# □ Window_Map_Name
#------------------------------------------------------------------------------
#  맵명을 표시하는 윈도우입니다.
#==============================================================================
class Window_Map_Name < Window_Base
#--------------------------------------------------------------------------
# ○ 공개 인스턴스 변수
#--------------------------------------------------------------------------
attr_accessor :text
#--------------------------------------------------------------------------
# ○ 오브젝트 초기
#--------------------------------------------------------------------------
def initialize
y = XRXS20::POSITION >= 2 ? 440 : 8
w = 64
h = XRXS20::WINDOW_HEIGHT
super(-w, y, w, h)
self.opacity = 0
self.visible = false
if XRXS20::WINDOW_SKIN != ""
# 스킨의 검색
skin = (RPG::Cache.windowskin(XRXS20::WINDOW_SKIN) rescue nil)
# 스킨의 설정 (스킨이 발견되었을 경우)
self.windowskin = skin unless skin.nil?
end
@space = Window_Map_Name_Space.new(self.x, self.y, self.width, self.height)
end
#--------------------------------------------------------------------------
# ○ 텍스트 설정
# text : 윈도우에 표시하는 캐릭터 라인
#--------------------------------------------------------------------------
def set_text(text)
if text.nil? or text.empty? or text =~ /^./
@showing_time = -1
@text = ""
@space.set_text(@text)
$game_temp.xrxs20_fade_duration = -1
else
# 설정
@text = text_model(text)
# 묘사
@space.set_text(@text)
if XRXS20::WINDOW_WIDTH_FIX == 0
self.width = @space.width - 16
else
self.width = XRXS20::WINDOW_WIDTH_FIX
end
case XRXS20::POSITION % 2
when 0
@x_indent = 4
when 1
@x_indent = 632 - self.width
end
end
self.visible = false
@space.visible = false
# 위치의 갱신
fade_relocation
end
#--------------------------------------------------------------------------
# ○ 페이드 시간에 의한 위치의 갱신
#--------------------------------------------------------------------------
def fade_relocation
# 페이드 시간의 설정
if $game_temp.xrxs20_fade_duration.nil?
$game_temp.xrxs20_fade_duration = (XRXS20::TIME_FADEIN + XRXS20::TIME_STOP + XRXS20::TIME_FADEOUT)
end
#
# 용명
#
d = $game_temp.xrxs20_fade_duration - (XRXS20::TIME_STOP + XRXS20::TIME_FADEOUT)
if d > 0
self.visible = XRXS20::WINDOW_FRAME
@space.visible = true
amount = ((XRXS20::TIME_FADEIN - d) * 255.0 / XRXS20::TIME_FADEIN).ceil
@space.contents_opacity = amount
self.opacity = [amount*5/8, 160].min
self.x = @x_indent - d
@space.x = self.x - 16
$game_temp.xrxs20_fade_duration -= 1
#
# 통상 표시
#
elsif ($game_temp.xrxs20_fade_duration > XRXS20::TIME_FADEOUT) or
($game_temp.xrxs20_fade_duration == 0 and XRXS20::TIME_FADEOUT == 0)
self.visible = XRXS20::WINDOW_FRAME
@space.visible = true
@space.contents_opacity = 255
self.opacity = 160
self.x = @x_indent
@space.x = self.x - 16
if $game_temp.xrxs20_fade_duration > 0
$game_temp.xrxs20_fade_duration -= 1
end
#
# 페이드아웃
#
elsif $game_temp.xrxs20_fade_duration > 0
self.visible = XRXS20::WINDOW_FRAME
@space.visible = true
amount = ($game_temp.xrxs20_fade_duration * 255.0 / XRXS20::TIME_FADEOUT).ceil
@space.contents_opacity = amount
self.opacity = amount * 5/8
self.x = (@x_indent + XRXS20::TIME_FADEOUT) - $game_temp.xrxs20_fade_duration
@space.x = self.x - 16
$game_temp.xrxs20_fade_duration -= 1
if $game_temp.xrxs20_fade_duration == 0
self.visible = false
@space.visible = false
end
end
end
#--------------------------------------------------------------------------
# ○ 프레임 갱신 [오버라이드(override)]
#--------------------------------------------------------------------------
def update
fade_relocation
super
end
#--------------------------------------------------------------------------
# ○ 해방 [오버라이드(override)]
#--------------------------------------------------------------------------
def dispose
@space.dispose
super
end
#--------------------------------------------------------------------------
# ○ 가시 상태 [오버라이드(override)]
#--------------------------------------------------------------------------
def visible=(b)
@space.visible = b unless @space.nil?
super
end
end
#==============================================================================
# ■ Scene_Map
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# ● 메인 처리
#--------------------------------------------------------------------------
alias xrxs20_main main
def main
# 지명 윈도우를 작성
@map_name_window = Window_Map_Name.new
# 지명 윈도우의 갱신
name = XRXS20::EXCLUSIVE_MAPS.include?($game_map.map_id) ? nil : $game_map.name
@map_name_window.set_text(name)
# 되돌리는
xrxs20_main
# 지명 윈도우를 해방
@map_name_window.dispose
end
#--------------------------------------------------------------------------
# ● 프레임 갱신
#--------------------------------------------------------------------------
alias xrxs20_update update
def update
# 지명 윈도우의 갱신
@map_name_window.update
# 귀환시키는
xrxs20_update
end
#--------------------------------------------------------------------------
# ● 플레이어의 장소 이동
#--------------------------------------------------------------------------
alias xrxs20_transfer_player transfer_player
def transfer_player
# 지명 윈도우의 불가시화
@map_name_window.visible = false
# 귀환시키는
xrxs20_transfer_player
# 페이드 시간의 클리어
$game_temp.xrxs20_fade_duration = nil
# 지명 윈도우의 갱신
name = XRXS20::EXCLUSIVE_MAPS.include?($game_map.map_id) ? nil : $game_map.name
@map_name_window.set_text(name)
end
end

















그다지 바뀐건 없지만
바뀐 것을 명시하자면,

1. 나오는 글자 뒤의 스킨을 지정할수 있습니다.
2. 일부 맵의 이름이 나오지 않게 설정할수도 있습니다.
==>방법 : 맵명을 입력할때 .를 앞에 쳐놓고 입력하면 됩니다.
3. 맵 이름을 아이디로도 나오지 않게 설정할수 있습니다.<-- .를 계속 치는 노가다를 줄일수 있습니다.
4. 나오는 시간, 위치가 수정가능합니다.
5. 기타 기능 수정.



출처: http://xms.rdy.jp/x/XRXS20.htm
에 있는 스크립트를 네이버를 이용. 한글화 하였습니다.

Who's 백호

?

이상혁입니다.

http://elab.kr

Atachment
첨부 '1'
Comment '31'
  • profile
    ⌒_⌒ 2009.02.28 17:55
    감사합니다.~~!
  • ?
    상원 2009.02.28 18:25
    회피하고 싶은 맵설정이 안돼는데요,,,
  • ?
    루페 2009.09.06 19:23
    감사합니다~ 근데 정말로 안뜨게 하는것은 안되네요.. 왜그럴가요
  • ?
    오라테친구 2009.09.07 19:01

    감사 합니다!그런데...... 게임 오프닝 같은데서 어떻게 해야지 그맵이름 표시뜨는걸

    없앴을 있는지?

  • ?
    따배 2009.09.14 03:16

    # 제외하는 맵ID (맵의 머리의 것 . 을 회피하고 싶은 경우)
    #
    EXCLUSIVE_MAPS = [001,002]
    #

    제외할때 '폴더이름'을 넣는것이 아니라 맵의 'ID'를 넣어야 합니다.

  • ?
    마을이장 2009.12.04 13:45

    좋네요~~잘 쓰겠습니다~~^^

  • ?
    sooyeong7 2010.01.01 18:02

    감사합니다. ㅎㅎ

  • ?
    우왕궅키 2010.01.06 10:05

    ㄳ합니다.

     

  • ?
    윤아™ 2010.01.06 17:39

    ㄳ합니다.!!!!

  • ?
    룰랄루루 2010.01.11 20:19

    잘쓰겠습니다~ ㄳㄳ

  • ?
    라크리모사 2010.01.17 02:25

    감사합니다~~

  • ?
    만득이 2010.01.21 21:17

    감사합니다...

  • ?
    rpgxp배우미 2010.02.22 15:46

    잘스겠습니다

  • ?
    rpgxp배우미 2010.02.22 15:56

    ; 이걸 쓰니까

    기존에 바꿔둔 스크립트가 다오류뜨네요 ;;

  • ?
    rpgxp배우미 2010.02.22 16:01

    결국에는 이스크립트 다삭제했네요 ㅠ...

  • ?
    종이씨 2010.02.26 14:04

    ㅎㄱ

  • ?
    빠다싸만코 2010.04.20 21:43

    전보다 더 좋아졌네

    암튼 감사요.

  • ?
    [C]극상러브 2010.04.30 20:27

    잘쓰셔서

    감사합니다.

  • ?
    펜슬 2010.07.29 08:01

    대단하네요.

  • ?
    Nemi 2010.08.23 13:01

    감사합니다;!

  • ?
    류휀 2010.11.25 03:29

    잘 되네요~ 감사^^

  • ?
    King of The Dragon 2010.12.25 16:51

    감사합니다.

    잘쓰겠습니다.

  • ?
    이가인 2011.01.30 03:30

    우월한자료 감사합니다

  • ?
    사운드™ 2011.02.04 17:59

    잘받아갑니다 ^^

  • ?
    캣츠아이 2011.02.16 20:16

    내가 원하던건 계속 뜨는건데, ..... 어떻게 방법좀...

  • ?
    3pc_SYcW 2011.03.02 00:27

    # ▼▲▼ XRXS20. 맵명 표시 윈도우 ver.2 ▼▲▼ built100108
    # by 앵아 재흙

    #==============================================================================
    # □ 커스터마이즈 포인트
    #==============================================================================
    module XRXS20
    #
    # 제외하는 맵ID (맵의 머리의 것 . 을 회피하고 싶은 경우)
    #
    EXCLUSIVE_MAPS = []
    #
    # 윈도우범위
    #
    WINDOW_FRAME = true # 표시
    WINDOW_SKIN = "" # 개별 윈도우 스킨("" : 종래)
    WINDOW_WIDTH_FIX = 0 # 가로폭 고정(0:고정하지 않고 자동)
    WINDOW_HEIGHT = 24 # 세로폭
    #
    # 폰트
    #
    FONT_NAME = "굴림"
    FONT_COLOR = Color.new(255, 255, 0, 255)
    FONT_SIZE = 18
    #
    # [표시 위치] (0:좌상 ,1:우상 ,2:좌하 ,3:우하)
    #
    POSITION = 1
    #
    # [표시 시간]
    #
    TIME_FADEIN = 16 # 용명
    TIME_STOP = 64 # 표시 정지
    TIME_FADEOUT = 24 # 페이드아웃

    여기서 Time_stop = 64를 겁나 크게해주셈 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 그럼 ㅇㅁㅇ 님이 그게임 그맵에서 몇달은 있어야 그 맵표시 꺼지는 거 보실수 있을듯

  • ?
    사운드™ 2011.04.02 15:11

    감사합니다

  • ?
    홈버스트집사 2011.07.18 14:36

    감사합니다

  • ?
    465456545 2011.09.04 11:50

    감사합니다

  • ?
    신이치 2011.10.02 12:08

    좌표 위치 맘대로 바꾸는법 알려주세요

     

  • ?
    LK 2012.01.16 19:36

    감사합니다!


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6153
981 HUD [게이지바]3.0버젼「현재시간, 플레이시간, 걸음수, 윈도우 이동 추가」(HelloCoa2Ver3.0) 63 file 코아 코스튬 2010.10.30 4921
980 메시지 메세지플러스3.1v스크립트(얼굴표시,메세지색상,속도등정하는스크립트) 8 백호 2009.02.21 4878
979 윈도우_게이지 (HP, SP, 경험치<소수점포함>… 12 WMN 2008.04.06 4856
978 메뉴 1인 캐릭터 메뉴 스크립트 27 file - 하늘 - 2009.08.06 4788
977 이동 및 탈것 아하! 그렇구나의 3D 신기술 체험 30 아하!잘봤어요. 2010.02.28 4772
976 전투 사이드뷰 배틀 (2003 형식으 전투)| 12 file 아방스 2007.11.09 4744
975 메시지 메세지 표시 업그레이드 11 file 백호 2009.02.21 4723
974 전투 사이드뷰 방식 스크립트. 8 file 백호 2009.02.21 4637
» HUD 새로운방법의 맵이름 표시 31 file 백호 2009.02.21 4617
972 그래픽 부드럽게 화면이 움직이는 스크립트 입니다. 16 GangSin 2012.09.12 4587
971 전투 ABP 액알 (Action Battle Player) 14 file 백호 2009.02.22 4556
970 HUD HP과 SP 바 19 Man... 2008.11.04 4534
969 이름입력 한글 이름 입력 15 ok하승헌 2010.02.18 4487
968 게이지바 만들기 [헬악이님 제공] 12 file 아방스 2007.11.09 4414
967 메뉴 메뉴에 그림넣기 4 file 백호 2009.02.22 4411
966 퀘스트 퀘스트 다이어리 15 백호 2009.02.21 4406
965 전투 XAS 여러가지버전. 9 §포뇨§ 2010.02.23 4395
964 온라인 온라인 스크립트입니다^^(예제파일) 7 캉쿤 2011.09.24 4390
963 타이틀/게임오버 타이틀 화면 커스터마이즈 (타이틀 메뉴 바꾸는 스크립트) 9 file №1 2012.08.04 4390
962 미니맵 미니맵 만들기~! 14 file 블리치캐릭셋원함 2010.11.24 4348
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