Advertisement
Navest

Navest - Simple One Person Menu v2.0

Sep 21st, 2013
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.14 KB | None | 0 0
  1. #===============================================================================
  2. # NAVEST - SIMPLE ONE PERSON MENU v2.0
  3. # By Navest    : http://navestrpg.blogspot.com
  4. # Contact me   : evanandasatria@gmail.com
  5. #  ---||---  at: http://rmvxpace.forumm.biz
  6. #===============================================================================
  7. # Perintah:
  8. # Taruh Script ini dibawah Material namun diatas Main
  9. #===============================================================================
  10. # Perkenalan:
  11. # Script ini sangat cocok untuk Game yang hanya membutuhkan 1
  12. # Actor saja.
  13. #===============================================================================
  14. # Konfigurasi:
  15. # Kamu dapat Mengganti Window pada Menu ini, dengan cara
  16. # mengcopy paste window lain ke Folder Graphics/System
  17. # dengan Nama MenuWindow(defaultnya)
  18. # dan kamu bisa mengganti nama window tsb.
  19. # dengan mengganti konfig dibawah.
  20. #===============================================================================
  21. # What's New:
  22. # Menambahkan Status Screen pada menu.
  23. #===============================================================================
  24.  
  25. #===============================================================================
  26. # Mulai Konfigurasi
  27. #===============================================================================
  28.  
  29. module NAVESTOPM
  30.  
  31.   WINDOW = "MenuWindow" #nama window pada menu
  32.  
  33.   CWX    = 0 #Command Window X (semakin besar, semakin ke kanan)
  34.  
  35.   CWY    = 20 #Command Window Y (Semakin besar, semakin ke bawah)
  36.  
  37.   GWX    = 0 #Gold Window X
  38.  
  39.   GWY    = 323 #Gold Window Y
  40.  
  41. end
  42. #===============================================================================
  43. #  Akhir Konfigurasi
  44. #===============================================================================
  45. class Window_MenuCommand < Window_Command
  46.  
  47.   def self.init_command_position
  48.         @@last_command_symbol = nil
  49.   end
  50.  
  51.   def initialize
  52.         super(0, 0)
  53.         select_last
  54.   end
  55.  
  56.   def window_width
  57.         return 150
  58.   end
  59.  
  60.   def visible_line_number
  61.         item_max
  62.   end
  63.  
  64.   def make_command_list
  65.         add_main_commands
  66.         add_original_commands
  67.         add_save_command
  68.         add_game_end_command
  69.   end
  70.  
  71.   def add_main_commands
  72.         add_command(Vocab::item,   :item,   main_commands_enabled)
  73.         add_command(Vocab::skill,  :skill,  main_commands_enabled)
  74.         add_command(Vocab::equip,  :equip,  main_commands_enabled)
  75.   end
  76.  
  77.   def add_original_commands
  78.   end
  79.  
  80.   def add_save_command
  81.         add_command(Vocab::save, :save, save_enabled)
  82.   end
  83.  
  84.   def add_game_end_command
  85.         add_command(Vocab::game_end, :game_end)
  86.   end
  87.  
  88.   def main_commands_enabled
  89.         $game_party.exists
  90.   end
  91.  
  92.   def formation_enabled
  93.         $game_party.members.size >= 2 && !$game_system.formation_disabled
  94.   end
  95.  
  96.   def save_enabled
  97.         !$game_system.save_disabled
  98.   end
  99.  
  100.   def process_ok
  101.         @@last_command_symbol = current_symbol
  102.         super
  103.   end
  104.  
  105.   def select_last
  106.         select_symbol(@@last_command_symbol)
  107.   end
  108. end
  109.  
  110. class Window_MenuInfo < Window_Base
  111.  
  112.   def initialize(x, y)
  113.         super(x, y, 395, 351)
  114.         refresh
  115.   end
  116.  
  117.   def refresh
  118.         self.contents.clear
  119.          @actor = $game_party.members[0]
  120.           draw_actor_face(@actor, 0, 0)
  121.           draw_actor_name(@actor, 110, 5)
  122.           draw_actor_level(@actor, 265, 5)
  123.           draw_actor_hp(@actor, 110 , 50, width = 244)
  124.           draw_actor_mp(@actor, 110 , 75, width = 244)
  125.           draw_actor_tp(@actor, 110 , 100, width = 244)
  126.           draw_actor_param(@actor, 0, 140, 0)
  127.           draw_actor_param(@actor, 0, 164, 1)
  128.           draw_actor_param(@actor, 0, 188, 2)
  129.           draw_actor_param(@actor, 0, 212, 3)
  130.           draw_actor_param(@actor, 0, 232, 4)
  131.           draw_actor_param(@actor, 0, 252, 5)
  132.           draw_actor_param(@actor, 0, 272, 6)
  133.           draw_actor_param(@actor, 0, 292, 7)
  134.           draw_actor_icons(@actor, 100, 110, width = 96)
  135.           draw_actor_class(@actor, 5, 110, width = 112)
  136.         end
  137.   end
  138.  
  139. include NAVESTOPM
  140. class Scene_Menu < Scene_MenuBase
  141.  
  142.   def start
  143.         super
  144.         create_command_window
  145.         create_gold_window
  146.         create_status_window
  147.   end
  148.  
  149.   def create_command_window
  150.         @command_window =  Window_MenuCommand.new
  151.         @command_window.set_handler(:item,        method(:command_item))
  152.         @command_window.set_handler(:skill,       method(:command_skill))
  153.         @command_window.set_handler(:equip,       method(:command_equip))
  154.         @command_window.set_handler(:save,        method(:command_save))
  155.         @command_window.set_handler(:game_end,    method(:command_game_end))
  156.         @command_window.set_handler(:cancel,      method(:return_scene))
  157.         @command_window.y = (NAVESTOPM::CWY)
  158.         @command_window.x = (NAVESTOPM::CWX)
  159.         @command_window.windowskin = Cache.system(NAVESTOPM::WINDOW)
  160.   end
  161.  
  162.   def create_gold_window
  163.         @gold_window = Window_Gold.new
  164.         @gold_window.x = (NAVESTOPM::GWX)
  165.         @gold_window.y = (NAVESTOPM::GWY)
  166.         @gold_window.windowskin = Cache.system(NAVESTOPM::WINDOW)
  167.   end
  168.  
  169.   def create_status_window
  170.         @status_window = Window_MenuInfo.new(149, 20)
  171.         @status_window.windowskin = Cache.system(NAVESTOPM::WINDOW)
  172.   end
  173.  
  174.   def command_item
  175.         SceneManager.call(Scene_Item)
  176.   end
  177.  
  178.   def command_equip
  179.         @actor = $game_party.members[0]
  180.         SceneManager.call(Scene_Equip)
  181.   end
  182.  
  183.   def command_save
  184.         SceneManager.call(Scene_Save)
  185.   end
  186.  
  187.   def command_game_end
  188.         SceneManager.call(Scene_End)
  189.   end
  190.  
  191.   def command_skill
  192.         @actor = $game_party.members[0]
  193.           SceneManager.call(Scene_Skill)
  194.   end
  195.  
  196. end
  197.  
  198.  
  199. class Window_Gold < Window_Base
  200.  
  201.   def initialize
  202.         super(0, 0, window_width, fitting_height(1))
  203.         refresh
  204.   end
  205.  
  206.   def window_width
  207.         return 150
  208.   end
  209.  
  210.   def refresh
  211.         contents.clear
  212.         draw_currency_value(value, currency_unit, 4, 0, contents.width - 8)
  213.   end
  214.  
  215.   def value
  216.         $game_party.gold
  217.   end
  218.  
  219.   def currency_unit
  220.         Vocab::currency_unit
  221.   end
  222.  
  223.   def open
  224.         refresh
  225.         super
  226.   end
  227. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement