One Actor Menu 1.1.0
by Todd (or DoctorTodd on RMRK)
Introduction
A menu that is modified to work as if you are only using one
actor.
Features
Goes to first actor, no actor selection
Detailed status
Simple
Screenshots
http://desmond.image....jpg&res=medium
How to Use
Paste above main
Select what window skin you want to use
Demo
I don't think it's really necessary.
Script
Spoiler Code:
#=============================================================================== # # DT's One Person Menu # Author: DoctorTodd # Date (02/19/2012) # Type: (Menu) # Version: (1.1.0) # Level: (Simple) # Email: BeaconGames2011@gmail.com # #=============================================================================== # # Description: A menu that is modified to work as if you are only using one # actor. # # Credits: Me (DoctorTodd) # #=============================================================================== # # Instructions # Paste above main. # #=============================================================================== # # Editing begins 30 and ends 32. # #=============================================================================== module DTOPM #Window skin to use, place in system. WINDOW = ('Window') end class Scene_Menu < Scene_Base include DTOPM #-------------------------------------------------------------------------- # * Object Initialization # menu_index : command cursor's initial position #-------------------------------------------------------------------------- def initialize(menu_index = 0) @menu_index = menu_index end #-------------------------------------------------------------------------- # * Start processing #-------------------------------------------------------------------------- def start super create_menu_background create_command_window @status_window = Window_MenuStatus.new (200, 75) @status_window.windowskin = Cache.system(DTOPM::WINDOW) @gold_window = Window_Gold.new(40, 250) @gold_window.windowskin = Cache.system(DTOPM::WINDOW) end #-------------------------------------------------------------------------- # * Termination Processing #-------------------------------------------------------------------------- def terminate super dispose_menu_background @command_window.dispose @gold_window.dispose @status_window.dispose end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update super update_menu_background @command_window.update @gold_window.update @status_window.update if @command_window.active update_command_selection end end #-------------------------------------------------------------------------- # * Create Command Window #-------------------------------------------------------------------------- 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 @command_window.x = 40 @command_window.y = 75 @command_window.windowskin = Cache.system(DTOPM::WINDOW) if $game_party.members.size == 0 # If number of party members is 0 @command_window.draw_item(0, false) # Disable item @command_window.draw_item(1, false) # Disable skill @command_window.draw_item(2, false) # Disable equipment @command_window.draw_item(3, false) # Disable status end if $game_system.save_disabled # If save is forbidden @command_window.draw_item(4, false) # Disable save end end #-------------------------------------------------------------------------- # * Update Command Selection #-------------------------------------------------------------------------- def update_command_selection if Input.trigger?(Input:: 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 # Item $scene = Scene_Item.new when 1 # Skill @actor = $game_party.members[1] $scene = Scene_Skill.new when 2 # Equip @actor = $game_party.members[1] $scene = Scene_Equip.new when 3 # Status @actor = $game_party.members[1] $scene = Scene_Status.new when 4 # Save $scene = Scene_File.new(true, false, false) when 5 # End Game $scene = Scene_End.new end end end #============================================================================== # ** Window_MenuStatus #------------------------------------------------------------------------------ # This window displays the characters status on the menu screen. #============================================================================== class Window_MenuStatus < Window_Base #-------------------------------------------------------------------------- # * Object Initialization # x : window X coordinate # y : window Y coordinate #-------------------------------------------------------------------------- def initialize(x, y) super(x, y, 300, 231) refresh end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh self.contents.clear @actor = $game_party.members[0] draw_actor_face(@actor, 0, 0) draw_actor_name(@actor, 110, 5) draw_actor_level(@actor, 190, 5) draw_actor_hp(@actor, 110 ,40) draw_actor_mp(@actor, 110 , 65) draw_actor_parameter(@actor, 0, 100, 0) draw_actor_parameter(@actor, 0, 124, 1) draw_actor_parameter(@actor, 0, 148, 2) draw_actor_parameter(@actor, 0, 172, 3) draw_actor_graphic(@actor, 220, 160) draw_actor_state(@actor, 190, 180, width = 96) end end end
FAQ
None right now.
Credit and Thanks
- Todd
Author's Notes
Free for non-commercial and commercial games. You
must credit me! If you use this in a commercial game I expect a free copy.
本贴来自国际rpgmaker官方论坛作者:Todd处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:
https://forums.rpgmakerweb.com/threads/one-actor-menu.173/