じ☆ve冰风 发表于 6 天前

One Actor Menu

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, )         @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                $scene = Scene_Skill.new           when 2          # Equip                @actor = $game_party.members                $scene = Scene_Equip.new           when 3          # Status                @actor = $game_party.members                $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           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/
页: [1]
查看完整版本: One Actor Menu