RPGXP 스크립트

현재위치&임무 표시

by posted Oct 01, 2013
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#_/  ◆현재지&임무 표시 - KGC_PlaceMission◆
#_/----------------------------------------------------------------------------
#_/ 현재지나 임무 내용의 표시 기능을 추가합니다.
#_/  (메뉴 화면에 표시하는 경우는[MenuAlter]참조)
#_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/


#번역 - Falcon(gunz21)
#개조 - Falcon(gunz21)
# 네이버 검색창에 알공카를 검색해주세요.


# 개조내용 - 실시간으로 업데이트되도록 하였습니다.


$imported = {} if $imported == nil
$imported["PlaceMission"] = true

#==============================================================================
# ■ Game_System
#==============================================================================

class Game_System
  #--------------------------------------------------------------------------
  # ● 공개 인스턴스 변수
  #--------------------------------------------------------------------------
  attr_accessor :place                    # 현재지
  attr_accessor :mission                  # 현재 수행중의 임무
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  alias initialize_KGC_PlaceMission initialize
  def initialize
    # 원래의 처리를 실행
    initialize_KGC_PlaceMission

    @place, @mission = "", ""
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Game_Map
#==============================================================================

class Game_Map
  #--------------------------------------------------------------------------
  # ● 맵 나토리 이득
  #--------------------------------------------------------------------------
  def map_name
    # MapInfo.rxdata (을)를 로드
    @mapinfo = load_data("Data/MapInfos.rxdata") if @mapinfo == nil
    # 맵명을 돌려준다
    return @mapinfo[@map_id].name
  end
end

#★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

#==============================================================================
# ■ Window_Information
#------------------------------------------------------------------------------
#  메뉴 화면에서 정보를 표시하는 윈도우입니다.
#==============================================================================

class Window_Information < Window_Base
  #--------------------------------------------------------------------------
  # ● 오브젝트 초기화
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 480, 96)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
 
  def update
   super
   refresh
 end
 
  #--------------------------------------------------------------------------
  # ● 리프레쉬
  #--------------------------------------------------------------------------
  def refresh
    self.opacity = 150
    self.contents.clear
    self.contents.font.color = system_color
    cx = self.contents.text_size("현재지").width + 8
    self.contents.draw_text(4, 0, cx, 32, "현재지")
    self.contents.font.color = normal_color
    # 맵 나토리 이득(지정되어 있지 않은 경우는 맵 설정으로부터 취득)
    text = $game_system.place == nil || $game_system.place == "" ?
      $game_map.map_name : $game_system.place
    self.contents.draw_text(4 + cx, 0, 444 - cx, 32, text)
    self.contents.font.color = system_color
    cx = self.contents.text_size("현재의 임무").width + 8
    self.contents.draw_text(4, 32, cx, 32, "현재의 임무")
    self.contents.font.color = normal_color
    self.contents.draw_text(4 + cx, 32, 444 - cx, 32, $game_system.mission)
  end
end


class Scene_Map < Scene_Map #씬맵클래스를 정의하고 씬맵을 슈퍼클래스로 갖는다.

  def main
   
    $Window_Information = Window_Information.new
    super
    $Window_Information.dispose# 비트맵삭제
    $Window_Information = nil# 스프라이트삭제
   
  end
  
  def update
  
    super #씬맵의 update함수의 값을 가져옴.
    if $Window_Information != nil # $Rr 업데이트.
      $Window_Information.update
    end
   
  end

end