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 6202
1021 액터 (killer님 요청)자동회복 스크립트 3 나뚜루 2009.02.22 2575
1020 기타 (T-RPG) 데미지 표시 시의 폰트를 설정 백호 2009.02.22 1349
1019 메뉴 1-Scene CMS 1.03 by LegACy@rmxp.org (SDK호환) file 백호 2009.02.22 872
1018 메뉴 1-Scene CMS 1.1 by LegACy@rmxp.org (SDK호환) file 백호 2009.02.22 953
1017 메뉴 1-Scene CMS 1.16 by LegACy (SDK호환) 3 file 백호 2009.02.22 1564
1016 메시지 1문자식 표시랑 따랑소리 나는 스크립트 8 백호 2009.02.22 2306
1015 메뉴 1인 캐릭터 메뉴 스크립트 27 file - 하늘 - 2009.08.06 4790
1014 메뉴 1인용 메뉴 스크립트 6 WMN 2008.03.17 2450
1013 메뉴 3D Menu Script 7 현문 2010.10.06 4079
1012 기타 3d 렌더링스크립트 어렵게 찾음 9 라구나 2011.03.05 3610
1011 이동 및 탈것 3D 캐릭 스크립트 7 백호 2009.02.22 3444
1010 기타 3D스크립트 48 file ok하승헌 2010.02.18 3808
1009 기타 4방향 마우스 스크립트 12 file 아방스 2009.02.28 2666
1008 기타 8방향 마우스 스크립트 10 file 아방스 2009.02.28 4063
1007 이동 및 탈것 8방향 스크립트 12 file 백호 2009.02.21 2412
1006 이동 및 탈것 8방향 이동 & 대쉬 스크립트 5 백호 2009.02.21 1703
1005 이동 및 탈것 8방향움직임과 8방향 캐릭터칩 호환 2 file 백호 2009.02.21 2275
1004 이동 및 탈것 8방향이동 9 캉쿤 2011.09.19 2532
1003 이동 및 탈것 8방향이동, Shift키 누르면 대쉬 63 WinHouse 2010.06.12 4026
1002 전투 A-battle 수정 file 백호 2009.02.21 1155
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