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
1021 아이템 흠..몬스터도감말고 아이템도감~ 9 백호 2009.02.21 2028
1020 전투 흠.. 아직도 이 스크립트가 없군요 ㅋㅋ(제가올림..) 1 file 백호 2009.02.21 3335
1019 전투 횡스크롤형식의 스크립트 7 백호 2009.02.21 2973
1018 기타 횡스크롤 스크립트 한국말 번역. 15 file 백호 2009.02.21 3311
1017 기타 회복으로 데미지를 받는 좀비 스크립트 7 백호 2009.02.22 2004
1016 메뉴 화살표 모양 셀렉트 커서 사용 2 백호 2009.02.22 2118
1015 그래픽 화면을 부드럽게 해주는스크립트[ 아주 유용] 56 file - 하늘 - 2009.08.05 6561
1014 미니맵 화면에 축소된 미니맵을 표시하는 스크립트 - 한글 번역 - 6 file 백호 2009.02.21 2560
1013 화면에 축소된 맵을 표시하는 스크립트 7 file 백호 2009.02.21 2394
1012 기타 홈페이지 띄우기 (VX 상관없음.) 6 KNAVE 2009.08.25 2137
1011 메뉴 혹시있나해서-_-.. 대화창에 테두리치기 스크립트 7 백호 2009.02.22 2592
1010 기타 현재시간표시 33 file 코아 코스튬 2010.10.09 2528
1009 기타 현재 맵BGM을 그대로 전투 BGM으로 연결 from phylomortis.com 백호 2009.02.22 1180
1008 이름입력 한글조합입력기(영어가능) file 조규진1 2019.11.10 497
1007 메시지 한글자씩 뜨는 스크립트 6 백호 2009.02.21 3001
1006 키입력 한글입력스크립트 16 file 아방스 2007.11.09 11823
1005 키입력 한글입력기(자음, 모음 분리. 아마 중복일 듯...) 11 캉쿤 2011.09.13 3225
1004 키입력 한글입력기 6 백호 2009.02.22 4299
1003 이름입력 한글이름 입력기 스크립트 14 백호 2009.02.22 4205
1002 메시지 한글 채팅 스크립트 32 file こなた 2009.01.22 4947
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