Guest User

Extra Map Window by Rikifive

a guest
Aug 10th, 2015
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.52 KB | None | 0 0
  1. #==============================================================================#
  2. # ■■■■■■■■■■■■■■■■■■■■■■■■■■■■ EXTRA MAP WINDOW ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ #
  3. #                          ---=== Version: 1.2 ===---                          #
  4. #==============================================================================#
  5. #                         Script written by: Rikifive                          #
  6. #==============================================================================#
  7. #                              ▼ INTRODUCTION ▼                                #
  8. #==============================================================================#
  9. # This script creates a simple window with variable on map.                    #
  10. #==============================================================================#
  11. #                              ▼ COMPATIBILITY ▼                               #
  12. #==============================================================================#
  13. # this script is written in the most simplest possible way, I don't think      #
  14. # there can be any incompatibilities, but who knows.                           #
  15. #==============================================================================#
  16. #                              ▼ TERMS OF USE ▼                                #
  17. #==============================================================================#
  18. #       ---=== For both COMMERCIAL and NON-COMMERCIAL projects. ===---         #
  19. #         Crediting me (Rikifive) in your game would be appreciated.           #
  20. #==============================================================================#
  21. #                             ▼ VERSION HISTORY ▼                              #
  22. #==============================================================================#
  23. # Version 1.2: - Fixed setting visibility of the window (Thanks to Evgenij)    #
  24. #              - Changed refresh method (Thanks to Evgenij)                    #
  25. # Version 1.1.1: - Changed the way of hiding window.                           #
  26. # Version 1.1: - You can use switch to hide/show window                        #
  27. #              - Added a possibility to draw a text next to variable           #
  28. # Version 1.0: Initial Release                                                 #
  29. #==============================================================================#
  30. #                              ▼ INSTRUCTIONS ▼                                #
  31. #==============================================================================#
  32. # You can set everything in settings.                                          #
  33. #==============================================================================#
  34.  
  35. #-------------------------------------------------------------------------------
  36. # ► Settings (Setup your window and stuff)
  37. #-------------------------------------------------------------------------------
  38. # ● Set the switch to show/hide window.
  39. EXTRA_MAP_WINDOW_MAIN_SWITCH = 15 # Switch ID, that needs to be ON to show wind.
  40.  
  41. # ● Set the window position.
  42. EXTRA_MAP_WINDOW_POSITION_X = 0
  43. EXTRA_MAP_WINDOW_POSITION_Y = 0
  44.  
  45. # ● Set the size of the window.
  46. EXTRA_MAP_WINDOW_WIDTH = 200 # Changes the width of the window.
  47. EXTRA_MAP_WINDOW_HEIGHT = 48 # Changes the height of the window.
  48.                              # NOTE: height below 48 may cut text inside off.
  49.  
  50. # ● Font settings
  51. EXTRA_MAP_WINDOW_BOLD = false # enable / disable font BOLD.
  52. EXTRA_MAP_WINDOW_SIZE = 20 # Set the font SIZE.
  53. EXTRA_MAP_WINDOW_OUTLINE = true # enable / disable font OUTLINE.
  54. EXTRA_MAP_WINDOW_SHADOW = false # enable / disable font SHADOW.
  55.  
  56. # ● Set the text displayed.
  57. EXTRA_MAP_WINDOW_TEXT = "" # set text displayed; leave "" to disable.
  58. EXTRA_MAP_WINDOW_TEXT_AFTER_VARIABLE = "  Something"
  59.                            # set text after variable; leave "" to disable.
  60. EXTRA_MAP_WINDOW_TEXT_ALIGN = 0 # 0 - left; 1 - center; 2 - right
  61. EXTRA_MAP_WINDOW_TEXT_RED = 150 # Set text color - RGB (use values: 0-255)
  62. EXTRA_MAP_WINDOW_TEXT_GREEN = 175 # ~
  63. EXTRA_MAP_WINDOW_TEXT_BLUE = 255 # ~
  64.  
  65. # ● Set the variable displayed.
  66. EXTRA_MAP_WINDOW_VARIABLE = 10 # ID of the variable displayed
  67. EXTRA_MAP_WINDOW_VARIABLE_ALIGN = 0 # 0 - left; 1 - center; 2 - right
  68. EXTRA_MAP_WINDOW_VARIABLE_RED = 255 # Set number color - RGB (use values: 0-255)
  69. EXTRA_MAP_WINDOW_VARIABLE_GREEN = 255 # ~
  70. EXTRA_MAP_WINDOW_VARIABLE_BLUE = 255 # ~
  71.  
  72. # ● Set the icon displayed.
  73. EXTRA_MAP_WINDOW_ICON = 1 # ID of icon displayed, put blank (0) icon to disable.
  74. EXTRA_MAP_WINDOW_ICON_POSITION = 0 # 0 - left; 1 - right
  75. EXTRA_MAP_WINDOW_CENTER = false  # Center text/value? (use when icon is not used)
  76.  
  77. #■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■#
  78. #■ END OF CUSTOMIZATION, Do not edit anything below, unless you know          ■#
  79. #■ what you're doing!                                                         ■#
  80. #■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■#
  81. #-------------------------------------------------------------------------------
  82. # ► Initialize
  83. #-------------------------------------------------------------------------------
  84. class Window_ExtraMapWindow < Window_Base
  85.   def initialize(x, y)
  86.   super(x, y, EXTRA_MAP_WINDOW_WIDTH, EXTRA_MAP_WINDOW_HEIGHT)
  87.   self.contents.font.bold = EXTRA_MAP_WINDOW_BOLD
  88.   self.contents.font.size = EXTRA_MAP_WINDOW_SIZE
  89.   self.contents.font.outline = EXTRA_MAP_WINDOW_OUTLINE
  90.   self.contents.font.shadow = EXTRA_MAP_WINDOW_SHADOW
  91.   self.contents.font.color = normal_color
  92.   self.visible = $game_switches[EXTRA_MAP_WINDOW_MAIN_SWITCH]
  93.   @extra_map_window_variable_1 = 0
  94.   refresh
  95. end
  96.  
  97.   #-----------------------------------------------------------------------------
  98.   # ► Setup
  99.   #-----------------------------------------------------------------------------
  100.   def refresh
  101.   self.contents.clear
  102.   # ● Width & Height
  103.   wid = contents.width - 24
  104.   hei = 72
  105.   #-----------------------------------------------------------------------------
  106.   # ► Draw Stuff
  107.   #-----------------------------------------------------------------------------
  108.   text = EXTRA_MAP_WINDOW_TEXT
  109.   txt_aft_var = EXTRA_MAP_WINDOW_TEXT_AFTER_VARIABLE
  110.   t_align = EXTRA_MAP_WINDOW_TEXT_ALIGN
  111.   t_red = EXTRA_MAP_WINDOW_TEXT_RED
  112.   t_grn = EXTRA_MAP_WINDOW_TEXT_GREEN
  113.   t_blu = EXTRA_MAP_WINDOW_TEXT_BLUE
  114.   value =  $game_variables[EXTRA_MAP_WINDOW_VARIABLE]
  115.   v_align = EXTRA_MAP_WINDOW_VARIABLE_ALIGN
  116.   v_red = EXTRA_MAP_WINDOW_VARIABLE_RED
  117.   v_grn = EXTRA_MAP_WINDOW_VARIABLE_GREEN
  118.   v_blu = EXTRA_MAP_WINDOW_VARIABLE_BLUE
  119.   icon = EXTRA_MAP_WINDOW_ICON
  120.   iconpos = EXTRA_MAP_WINDOW_ICON_POSITION
  121.   center = EXTRA_MAP_WINDOW_CENTER
  122.  
  123.   ##############################################################################
  124.   string_rect = self.contents.text_size(value)
  125.   self.contents.font.color = Color.new(t_red,t_grn,t_blu)
  126.   if center
  127.   self.contents.draw_text(0, -24, wid + 24, hei, text, t_align)
  128.   else # normal
  129.   self.contents.draw_text(24 - 24 * iconpos, -24, wid, hei, text, t_align)
  130.   end # if CENTER_TEXT
  131.  
  132.   if center
  133.   self.contents.draw_text(0 + string_rect.width, -24, wid + 24 - string_rect.width, hei, txt_aft_var, t_align)
  134.   else # normal
  135.   self.contents.draw_text(24 - 24 * iconpos + string_rect.width, -24, wid - string_rect.width, hei, txt_aft_var, t_align)
  136.   end #if CENTER_TEXT
  137.  
  138.   self.contents.font.color = Color.new(v_red,v_grn,v_blu)
  139.   if center
  140.   self.contents.draw_text(0, -24, wid + 24, hei, " #{value}", v_align)
  141.   else # normal
  142.   self.contents.draw_text(24 - 24 * iconpos, -24, wid, hei, " #{value}", v_align)
  143.   end #if CENTER_TEXT
  144.   self.contents.font.color = normal_color
  145.   draw_icon(icon, (0 + 112 * iconpos) + ((EXTRA_MAP_WINDOW_WIDTH - 160) * iconpos), 0)
  146.  
  147.   ##############################################################################
  148.  
  149.     @extra_map_window_variable_1 = $game_variables[EXTRA_MAP_WINDOW_VARIABLE]
  150.   end # Refresh
  151.  
  152.   #-----------------------------------------------------------------------------
  153.   # ► Update
  154.   #-----------------------------------------------------------------------------
  155.   def update
  156.     super
  157.     refresh if $game_variables[EXTRA_MAP_WINDOW_VARIABLE] != @extra_map_window_variable_1
  158.     self.visible = $game_switches[EXTRA_MAP_WINDOW_MAIN_SWITCH]
  159.   end
  160. end
  161.  
  162. #-------------------------------------------------------------------------------
  163. # ► Create Window
  164. #-------------------------------------------------------------------------------
  165. class Scene_Map < Scene_Base
  166.  
  167.   #-----------------------------------------------------------------------------
  168.   # ► Start
  169.   #-----------------------------------------------------------------------------
  170.   alias extramapwindow_start start
  171.   def start
  172.   extramapwindow_start
  173.   create_extramapwindow_window
  174.   end
  175.  
  176.   #-----------------------------------------------------------------------------
  177.   # ► create Extra Menu Window
  178.   #-----------------------------------------------------------------------------
  179.   def create_extramapwindow_window
  180.     @extramapwindow_window = Window_ExtraMapWindow.new(EXTRA_MAP_WINDOW_POSITION_X, EXTRA_MAP_WINDOW_POSITION_Y)
  181.   end
  182. end
Advertisement
Add Comment
Please, Sign In to add comment