XP 스크립트

[사용법]
이벤트ID의 지정 방법이나 테일 화상의 형식은,메세지 분출해 표시와 같습니다.
(다만 「$mes_id=-1(그 이벤트 자신)」는 비대응이 되고 있습니다)

XMS.스크립트 쉘프모양의 「메세지 표시 풀 그레이드 업」은, 확장CO-X을 사용하는 것으로
제어 문자p[]의 설정을 자동적으로$mes_id에 적용할 수 있습니다.
즉, 캐릭터 팝으로부터 이벤트 커멘드를 고쳐 쓰는 필요없음에 도입이 가능합니다.


[스크립트]
#==============================================================================
# +++ 콜라보레이션 「+분출해 표시」 ver.1.13 +++
# Script by
#    파라개  http://para.j-mx.com/
#      ×
#    앵아 재흙 http://xms.fc2web.com/
#
#------------------------------------------------------------------------------
#  거의 어떤 메세지 윈도우에 대해서도 부록 가능한 「분출해 표시」입니다.
#  또, 테일 부분만의 자동 추적 기능을 가집니다.
#==============================================================================
# 분출해 표시를 하려면 ,
# 테일용 화상 「(스킨명)-top」 「(스킨명)-under」을
# 「Graphics/Windowskins」폴더에 임포트 해 둘 필요가 있습니다.
#------------------------------------------------------------------------------
#
# [분출해 표시의 사용법]
# 이벤트 커멘드 「스크립트」로 「$mes_id」에 이벤트ID를 대입하는 것으로
# 그 이벤트나무이고가 팝 하게 됩니다.
# (기술예: $mes_id=4 )
# ID에0를 대입하면 플레이어, nil대입하면, 통상의 메세지 표시로 돌아옵니다.
# 표시 위치는 이벤트 「문장 옵션」으로 변경할 수 있습니다.
# 표시 위치에 「중앙」을 지정하면, 이벤트의 위치에 관계없이
# 화면 중앙에 표시됩니다.
#
#==============================================================================

#==============================================================================
# □ 커스터마이즈 포인트
#==============================================================================
class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # 분출해 모드시의 스킨 설정
  #--------------------------------------------------------------------------
  # 스킨명(원의 윈도우 스킨과 같은 것을 사용할 때는 「""」)
  FUKI_SKIN_NAME = "001-Blue01"
  # 윈도우 배경의 불투명도(디폴트는160)
  FUKI_OPACITY = 255
end

#==============================================================================
# ■ Window_Message
#==============================================================================
class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 메세지 종료 처리
  #--------------------------------------------------------------------------
  alias parashelf_terminate_message terminate_message
  def terminate_message
    # 귀환시키는
    parashelf_terminate_message
    # 나무이고의 소거
    del_tail
  end
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  alias parashelf_refresh refresh
  def refresh
    # 귀환시키는
    parashelf_refresh
    # 나무이고의 재설정
    del_tail
    set_tail
  end
  #--------------------------------------------------------------------------
  # ● 윈도우의 위치와 불투명도의 설정
  #--------------------------------------------------------------------------
  alias parashelf_reset_window reset_window
  def reset_window
    # 귀환시키는
    parashelf_reset_window
    # 테일의 위치를 변경
    if $mes_id != nil and @tail != nil
      tale_pos = get_tale_pos
      @tail.x = tale_pos[0]
      @tail.y = tale_pos[1]
    end
  end
  #--------------------------------------------------------------------------
  # ● 프레임 갱신
  #--------------------------------------------------------------------------
  alias parashelf_update update
  def update
    # 귀환시키는
    parashelf_update
    # 분출해 테일의 갱신
    update_tail
    # 메세지 표시중의 경우
    if @contents_showing
      # 테일이 있는 경우는 포즈 싸인을 비표시
      if @tail != nil
        self.pause = false
      end
    end
    # 멧지 종료시에 스킨 설정이 돌아오지 않은 경우
    if $game_temp.message_window_showing == false and @def_skin_name != nil
      # 스킨을 되돌리는
      reset_fuki_skin
    end
  end
  #--------------------------------------------------------------------------
  # ○ 프레임 갱신 (분출해 테일)
  #--------------------------------------------------------------------------
  def update_tail
    # 분출해 모드에서는 이벤트의 움직임에 추종
    if $mes_id != nil and @tail != nil
      tale_pos = get_tale_pos
      @tail.x = tale_pos[0]
      @tail.y = tale_pos[1]
      skin = $game_system.windowskin_name
      case @message_position
      when 0  # 상
        @tail.bitmap = RPG::Cache.windowskin(skin + "-top")
      when 2  # 하
        @tail.bitmap = RPG::Cache.windowskin(skin + "-under")
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ 분출해 테일을 표시
  #--------------------------------------------------------------------------
  def set_tail
    # $mes_id 가 하늘 때와 전투중나무이고를 표시하지 않는
    if $mes_id == nil or $game_temp.in_battle
      del_tail
      # 스킨을 되돌리는
      reset_fuki_skin
    else
      # 스킨을 세트
      set_fuki_skin
      # 나무이고의 테일을 묘화
      skin = $game_system.windowskin_name
      if $game_system.message_frame == 0
        # 위치를 취득
        tale_pos = get_tale_pos
        @tail = Sprite.new
        case $game_system.message_position
        when 0  # 상
          @tail.bitmap = RPG::Cache.windowskin(skin + "-top")
          @tail.x = tale_pos[0]
          @tail.y = tale_pos[1]
          @tail.z = self.z + 1
        when 1  # 안
          @tail.dispose
          @tail = nil
        when 2  # 하
          @tail.bitmap = RPG::Cache.windowskin(skin + "-under")
          @tail.x = tale_pos[0]
          @tail.y = tale_pos[1]
          @tail.z = self.z + 1
        end
        # 엑스트라 스프라이트에 등록
        @extra_sprites = [] if @extra_sprites.nil?
        @extra_sprites.push(@tail) if @tail != nil
      end
    end
  end
  #--------------------------------------------------------------------------
  # ○ 테일의 위치를 계산
  #--------------------------------------------------------------------------
  def get_tale_pos
    character = get_character($mes_id)
    x = [[character.screen_x - 16, self.x].max, self.x + self.width - 32].min
    case $game_system.message_position
    when 0
      y = self.y + self.height - 16
    else
      y = self.y - 16
    end
    return [x, y]
  end
  #--------------------------------------------------------------------------
  # ○ 캐릭터의 취득
  #    parameter : 파라미터
  #--------------------------------------------------------------------------
  def get_character(parameter)
    # 파라미터로 분기
    case parameter
    when 0  # 플레이어
      return $game_player
    else  # 특정의 이벤트
      events = $game_map.events
      return events == nil ? nil : events[parameter]
    end
  end
  #--------------------------------------------------------------------------
  # ○ 나무이고를 파기
  #--------------------------------------------------------------------------
  def del_tail
    if @tail != nil
      @tail.dispose
      @tail = nil
    end
  end
  #--------------------------------------------------------------------------
  # ○ 스킨의 설정
  #--------------------------------------------------------------------------
  def set_fuki_skin
    # 윈도우 스킨을 변경
    if FUKI_SKIN_NAME != "" and FUKI_SKIN_NAME != $game_system.windowskin_name
      @def_skin_name = $game_system.windowskin_name
      $game_system.windowskin_name = FUKI_SKIN_NAME
      self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
    end
    # 불투명도를 변경
    if self.back_opacity != FUKI_OPACITY
      @def_back_opacity = self.back_opacity
      self.back_opacity = FUKI_OPACITY
    end
  end
  #--------------------------------------------------------------------------
  # ○ 스킨을 되돌리는
  #--------------------------------------------------------------------------
  def reset_fuki_skin
    # 윈도우 스킨을 되돌리는
    if @def_skin_name != nil
      $game_system.windowskin_name = @def_skin_name
      self.windowskin = RPG::Cache.windowskin($game_system.windowskin_name)
      @def_skin_name = nil
    end
    # 불투명도를 되돌리는
    if @def_back_opacity != nil
      self.back_opacity = @def_back_opacity
      @def_back_opacity = nil
    end
  end
end

[출처]
http://para.j-mx.com/rgss/script/fuki_plus.html

Who's 백호

?

이상혁입니다.

http://elab.kr


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 스크립트 자료 게시물 작성시 주의사항 습작 2012.12.24 6312
481 기타 일본RPGXP게임에서 번역한 스크립트 입니다. 1 백호 2009.02.22 1735
480 상태/속성 Custom stat growing system 1.0 by Blizzard@rmxp.org file 백호 2009.02.22 1101
479 저장 Advanced Save System Edit (현재 맵을 보여주지 않음) file 백호 2009.02.22 1567
478 메뉴 스테이터스 화면 from Harts Horn 2 백호 2009.02.22 1577
477 기타 대화창 글자 한글자씩뜨는 스크립트 7 백호 2009.02.22 2186
476 기타 치트키 시스템 3 백호 2009.02.22 1595
475 기타 Crafting/Recipe system script by Axe Man Deke 백호 2009.02.22 829
474 기타 (T-RPG) 데미지 표시 시의 폰트를 설정 백호 2009.02.22 1351
473 기타 스테이터스 표시 플러스 1.00ver 백호 2009.02.22 1143
472 전투 전투의 커맨드에 따라 능력치를 상승 백호 2009.02.22 904
» 기타 메세지를 분출해 표시 백호 2009.02.22 1169
470 스킬 Trickster's Bag of Skill Effects file 백호 2009.02.22 1077
469 기타 레벨업시 전회복 by ccoa 8 백호 2009.02.22 2516
468 기타 Book Event v2 by Bruth 5 백호 2009.02.22 1696
467 전투 SBABS v3 6 file 백호 2009.02.22 2046
466 이름입력 영어 이름 입력기 2 백호 2009.02.22 1335
465 기타 레벨, 능력치 무한 스크립트 3 백호 2009.02.22 1712
464 기타 광물캐기 스크립트 1 file 백호 2009.02.22 1852
463 저장 [KCG] 2 Pane Save Scene 번역본 백호 2009.02.22 1122
462 저장 [KCG] 2 Pane Save Scene file 백호 2009.02.22 1129
Board Pagination Prev 1 ... 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 ... 52 Next
/ 52