RPGVX에서 명성치 시스템을 도입합니다.변수를 명성치로 사용하고,명성치를 메뉴에 표시합니다.단순한 변수 출력기능으로도 사용 가능합니다.아래 2개의 스크립트를 추가하세요. #============================================================================== # ■ Window_Fame #------------------------------------------------------------------------------ # 메뉴 화면에서 명성치를 표시하는 윈도우입니다. #============================================================================== #http://rainsy.tistory.com class Window_Fame < Window_Base #----------------------------------------------------------------------------- # ● 오브젝트 초기화 #----------------------------------------------------------------------------- def initialize(x, y) #------------------------------------------------------------------------------ # ● 커스터마이즈 #------------------------------------------------------------------------------ @ms = "명성치" # 입력된 문자가 표시됩니다. @var = 1 # 입력된 숫자가 명성치로 사용됩니다. #------------------------------------------------------------------------------ super(x, y, 160, WLH + 32) self.contents = Bitmap.new(width - 32, height - 32) refresh end #-------------------------------------------------------------------------- # ● 리프레쉬 #-------------------------------------------------------------------------- def refresh self.contents.clear self.contents.font.color = system_color self.contents.draw_text(0, -4, 120, 32, @ms) self.contents.font.color = normal_color self.contents.draw_text(0, -4, 120, 32, sprintf("%d", $game_variables[@var]), 2) end end #============================================================================== # ■ Scene_Menu #------------------------------------------------------------------------------ # 메뉴 화면의 처리를 실시하는 클래스입니다. #============================================================================== class Scene_Menu < Scene_Base #-------------------------------------------------------------------------- # ● 오브젝트 초기화 # menu_index : 커멘드의 커서 초기 위치 #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # ● 개시 처리 #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @gold_window = Window_Gold.new(0, 360) @status_window = Window_MenuStatus.new(160, 0) @fame_window = Window_Fame.new(0, 304) end #-------------------------------------------------------------------------- # ● 종료 처리 #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose @fame_window.dispose end #-------------------------------------------------------------------------- # ● 프레임 갱신 #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @status_window.update if @command_window.active update_command_selection elsif @status_window.active update_actor_selection end end #-------------------------------------------------------------------------- # ● 커멘드 윈도우의 작성 #-------------------------------------------------------------------------- def create_command_window s1 = Vocab::item s2 = Vocab::skill s3 = Vocab::equip s4 = Vocab::status s5 = Vocab::save s6 = Vocab::game_end @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index if $game_party.members.size == 0 # 파티 인원수가 0 명의 경우 @command_window.draw_item(0, false) # 아이템을 무효화 @command_window.draw_item(1, false) # 스킬을 무효화 @command_window.draw_item(2, false) # 장비를 무효화 @command_window.draw_item(3, false) # 스테이터스를 무효화 end if $game_system.save_disabled # 세이브 금지의 경우 @command_window.draw_item(4, false) # 세이브를 무효화 end end #-------------------------------------------------------------------------- # ● 커멘드 선택의 갱신 #-------------------------------------------------------------------------- def update_command_selection if Input.trigger?(Input::B) Sound.play_cancel $scene = Scene_Map.new elsif Input.trigger?(Input::C) if $game_party.members.size == 0 and @command_window.index < 4 Sound.play_buzzer return elsif $game_system.save_disabled and @command_window.index == 4 Sound.play_buzzer return end Sound.play_decision case @command_window.index when 0 # 아이템 $scene = Scene_Item.new when 1,2,3 # 스킬, 장비, 스테이터스 start_actor_selection when 4 # 세이브 $scene = Scene_File.new(true, false, false) when 5 # 게임 종료 $scene = Scene_End.new end end end #-------------------------------------------------------------------------- # ● 액터 선택의 개시 #-------------------------------------------------------------------------- def start_actor_selection @command_window.active = false @status_window.active = true if $game_party.last_actor_index < @status_window.item_max @status_window.index = $game_party.last_actor_index else @status_window.index = 0 end end #-------------------------------------------------------------------------- # ● 액터 선택의 종료 #-------------------------------------------------------------------------- def end_actor_selection @command_window.active = true @status_window.active = false @status_window.index = -1 end #-------------------------------------------------------------------------- # ● 액터 선택의 갱신 #-------------------------------------------------------------------------- def update_actor_selection if Input.trigger?(Input::B) Sound.play_cancel end_actor_selection elsif Input.trigger?(Input::C) $game_party.last_actor_index = @status_window.index Sound.play_decision case @command_window.index when 1 # 스킬 $scene = Scene_Skill.new(@status_window.index) when 2 # 장비 $scene = Scene_Equip.new(@status_window.index) when 3 # 스테이터스 $scene = Scene_Status.new(@status_window.index) end end end end