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 6157
1021 메시지 Taylor's Simple Message System 2000 Alkaid 2020.07.05 242
1020 제작도구 [XP/VX/VXA] Doodad's Editor by newold Alkaid 2020.07.12 385
1019 이름입력 한글조합입력기(영어가능) file 조규진1 2019.11.10 499
1018 전투 전투중에 장비들 교체하기 file 레이스89 2017.08.19 595
1017 기타 [All RGSS] FileTest (Unicode) file Cheapmunk 2014.12.29 611
1016 맵/타일 맵연결 스크립트 (데모첨부) file 게임애호가 2018.06.15 689
1015 기타 에어리어 설정 by RPG Advocate 백호 2009.02.22 709
1014 기타 Boat Script 백호 2009.02.21 729
1013 기타 Localization by ForeverZer0, KK20 습작 2013.04.26 738
1012 기타 Materia System file 백호 2009.02.21 749
1011 기타 Real-Time Day Night 3 백호 2009.02.22 751
1010 스킬 SG_Escape Only Skills by sandgolem (SDK호환) 백호 2009.02.22 752
1009 기타 killer님 요청하신 스크립트 두번째입니다. 나뚜루 2009.02.21 759
1008 기타 Letter by Letter Message Window by slipknot@rmxp.org (SDK호환) 1 file 백호 2009.02.22 760
1007 기타 Advanced Gold display by Dubealex 1 백호 2009.02.22 761
1006 스킬 Skill Requirements by SephirothSpawn (SDK호환) file 백호 2009.02.22 763
1005 기타 Sphere Grid System file 백호 2009.02.21 765
1004 기타 AMS-Advanced Message Script Edited by Dubleax 3 file 백호 2009.02.21 765
1003 스킬 SG_Skill Break by sandgolem (SDK호환) 백호 2009.02.22 772
1002 기타 Activation_system file 백호 2009.02.22 775
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