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 6203
481 기타 필드에서 체력을 출력합니다. 4 백호 2009.02.22 1740
480 메시지 Universal Message System 1.8.0 by ccoa 번역 4 file PerrS 2013.04.06 1739
479 기타 간단한 Scene_Base #2 2 Alkaid 2012.01.15 1738
478 장비 CSSR5-장비품 중량 시스템 1 file 백호 2009.02.22 1736
477 기타 일본RPGXP게임에서 번역한 스크립트 입니다. 1 백호 2009.02.22 1735
476 기타 CG그림 감상 스크립트 file 백호 2009.02.21 1735
475 기타 창고 스크립트 5 긔염둥이♥ 2012.06.18 1727
474 직업 직업마다 다른 성장 2 백호 2009.02.22 1725
473 전투 KGC_RankConception(대열 개념) file 백호 2009.02.22 1719
472 기타 양손무기, 전신갑옷 스크립트 2 백호 2009.02.22 1716
471 기타 테트리스 ?구현 스크립트 2 file 백호 2009.02.21 1715
470 상점 상점에서 Q.W버튼으로 순서를 바꿈!상점스텟 상세화 업그레이드 1 백호 2009.02.21 1714
469 전투 KGC_SeparationCommand file 백호 2009.02.22 1713
468 스킬 스킬 Learning 스크립트 1 file 백호 2009.02.21 1713
467 기타 레벨, 능력치 무한 스크립트 3 백호 2009.02.22 1712
466 전투 Kingdom Hearts 스타일의 전투 시스템 1 백호 2009.02.21 1709
465 영상 The AVI Player 1.3 by DerVVulfman 3 Alkaid 2010.10.08 1707
464 이동 및 탈것 8방향 이동 & 대쉬 스크립트 5 백호 2009.02.21 1703
463 전투 사이비 CTB 1 file 백호 2009.02.21 1701
462 이동 및 탈것 이벤트의 스크립트로 기동하는 점프 루트 완성 2 file 백호 2009.02.21 1698
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