Advertisement
KingGerar

Kingdom Map Name + Módulo

Apr 18th, 2014
282
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 9.74 KB | None | 0 0
  1. #==============================================================================
  2. # Kingdom Map Name
  3. # por King Gerar
  4. #------------------------------------------------------------------------------
  5. # Este script faz alterações na exibição do nome do mapa que é mostrado ao
  6. # entrar em um novo mapa.
  7. # Requere Kingdom Módulo v 1.0 ou mais recente.
  8. #==============================================================================
  9. # Kingdom - Módulo
  10. # por King Gerar
  11. # v 1.0
  12. #------------------------------------------------------------------------------
  13. # Este script serve somente para configurar os demais scripts de nome "Kingdom"
  14. # e feitos pelo mesmo autor (King Gerar). É para simplificar para, no caso de
  15. # se usar dois ou mais scripts meus, não tenha que congigurar mais de uma vez
  16. # a mesma coisa.
  17. # Mas mesmo configurando aqui, sempre olhe o cabaçalho dos outros scripts, pois
  18. # existem configurações específicas para cada script.
  19. # Caso esteja usando somente um script "Kingdom", este módulo pode ser colado
  20. # nele (geramente tem a opção de tudo em só um script, no tópico).
  21. #==============================================================================
  22. module KMain_Config
  23.   # Gráfico da janela a ser utilizado.
  24.   Window_Main = "KWindow"
  25.  
  26.   # Nome da fonte principal.
  27.   Font_Main = "Aerolite"
  28.  
  29.   #Tamanho da fonte.
  30.   Font_Size = 20
  31.  
  32.   # Cor dos textos principais.
  33.   Color_MainText = Color.new(255, 255, 0, 255)
  34.  
  35.   # Cor dos textos normais.
  36.   Color_AltText = Color.new(255, 255, 255, 255)
  37. end
  38. #==============================================================================
  39. # Módulo KConfig_11
  40. #------------------------------------------------------------------------------
  41. # - Este módulo serve para você fazer as configurações específicas e restritas
  42. # à este script.
  43. #==============================================================================
  44. module KConfig_11
  45.   # Largura da janela
  46.   Wdw_Weight = 180
  47.  
  48.   # Usar imagem ao invés da janela?
  49.   # true = sim ou false = não
  50.   # Caso use, escreva o nome da imagem e ela deverá estar na pasta
  51.   # "Graphics/System" e ter o tamanho de 64x180 (Padrão). Caso prefira não
  52.   # usar, defina a opacidade da janela. Para não ver a janela, coloque 0.
  53.   Use_Img = false
  54.   Back_Img = "MapName Layout"
  55.   Wdw_Opacity = 255
  56.  
  57.   # Position pode ter valor 0, 1, 2, 3, 4, 5 ou 6.
  58.   # Define a posição onde aparecerá o nome do mapa, sendo 0 = centro da tela,
  59.   # 1 = superior-esquerda, 2 = superior-centro, 3 = superior=direita,
  60.   # 4 = inferior-esquerda, 5 = inferior-centro e 6 = inferior-direita.
  61.   Position = 0
  62.  
  63.   # Velocidade em que o nome aparece/desaparece. Padrão = 16
  64.   Show_Speed = 16
  65.  
  66.   # Tempo que o nome do mapa fica na tela.
  67.   # Valor em frames. Padrão = 150
  68.   Show_Time = 150
  69.  
  70.   # Cor da linha que fica sob o nome do mapa.
  71.   # Valores de 0 a 255 em (R, G, B, opacidade)
  72.   Line_Color = Color.new(255, 255, 255, 150)
  73. end
  74. #==============================================================================
  75. # Scene_Map
  76. #------------------------------------------------------------------------------
  77. # Esta classe executa o processamento da tela de mapa.
  78. #==============================================================================
  79. class Scene_Map < Scene_Base
  80.   #--------------------------------------------------------------------------
  81.   # Criação da janela de nome do mapa
  82.   #--------------------------------------------------------------------------
  83.   def create_location_window
  84.     @map_name_window = Window_KMapName.new
  85.   end
  86. end
  87. #==============================================================================
  88. class Window_KMapName < Window_Base
  89.   include KConfig_11
  90.   #--------------------------------------------------------------------------
  91.   # * Inicialização do objeto
  92.   #--------------------------------------------------------------------------
  93.   def initialize
  94.     super(0, 0, window_width, window_height)
  95.     self.x = x_begin
  96.     self.y = y_begin
  97.     if Use_Img == true
  98.       @mapname_layout = Sprite.new
  99.         @mapname_layout.bitmap = Cache.system(Back_Img)
  100.       @mapname_layout.x = x_begin
  101.       @mapname_layout.y = y_begin
  102.       @mapname_layout.opacity = 0
  103.     else
  104.       self.windowskin = Cache.system(KMain_Config::Window_Main)
  105.     end
  106.     self.opacity = 0
  107.     self.contents_opacity = 0
  108.     self.change_color(KMain_Config::Color_MainText)
  109.     self.contents.font.name = KMain_Config::Font_Main
  110.       self.contents.font.size = KMain_Config::Font_Size
  111.     @show_count = 0
  112.     refresh
  113.   end
  114.   #--------------------------------------------------------------------------
  115.   # Aquisição da largura da janela
  116.   #--------------------------------------------------------------------------
  117.   def window_width
  118.     return Wdw_Weight
  119.   end
  120.   #--------------------------------------------------------------------------
  121.   # Aquisição da altura da janela
  122.   #--------------------------------------------------------------------------
  123.   def window_height
  124.     return 64
  125.   end
  126.   #--------------------------------------------------------------------------
  127.   # Cálculo da posição x da janela.
  128.   #--------------------------------------------------------------------------
  129.   def x_begin
  130.     case Position
  131.     when 0
  132.       (Graphics.width - window_width) / 2
  133.     when 1
  134.       return 0
  135.     when 2
  136.       (Graphics.width - window_width) / 2
  137.     when 3
  138.       Graphics.width - window_width
  139.     when 4
  140.       return 0
  141.     when 5
  142.       (Graphics.width - window_width) / 2
  143.     when 6
  144.       Graphics.width - window_width
  145.     end
  146.   end
  147.   #--------------------------------------------------------------------------
  148.   # Cálculo da posição y da janela.
  149.   #--------------------------------------------------------------------------
  150.   def y_begin
  151.     case Position
  152.     when 0
  153.       (Graphics.height - window_height) / 2
  154.     when 1
  155.       return 0
  156.     when 2
  157.       return 0
  158.     when 3
  159.       return 0
  160.     when 4
  161.       Graphics.height - window_height
  162.     when 5
  163.       Graphics.height - window_height
  164.     when 6
  165.       Graphics.height - window_height
  166.     end
  167.   end
  168.   #--------------------------------------------------------------------------
  169.   # Cálculo da posição do texto.
  170.   #--------------------------------------------------------------------------
  171.   def mapname_text_y
  172.     if $game_map.note == ""
  173.       return 9
  174.     else
  175.       return -1
  176.     end
  177.   end
  178.   #--------------------------------------------------------------------------
  179.   # * Atualização da tela
  180.   #--------------------------------------------------------------------------
  181.   def update
  182.     super
  183.     if @show_count > 0 && $game_map.name_display
  184.       update_fadein
  185.       @show_count -= 1
  186.     else
  187.       update_fadeout
  188.     end
  189.   end
  190.   #--------------------------------------------------------------------------
  191.   # * Atualização do efeito de fade in
  192.   #--------------------------------------------------------------------------
  193.   def update_fadein
  194.     self.contents_opacity += Show_Speed
  195.     if Use_Img == true
  196.       @mapname_layout.opacity += Show_Speed
  197.     else
  198.       self.opacity += Show_Speed if self.opacity <= Wdw_Opacity
  199.     end
  200.   end
  201.   #--------------------------------------------------------------------------
  202.   # * Atualização do efeito de fade out
  203.   #--------------------------------------------------------------------------
  204.   def update_fadeout
  205.     self.contents_opacity -= Show_Speed
  206.     if Use_Img == true
  207.       @mapname_layout.opacity -= Show_Speed
  208.     else
  209.       self.opacity -= Show_Speed if self.opacity <= Wdw_Opacity
  210.     end
  211.   end
  212.   #--------------------------------------------------------------------------
  213.   # Abertura da janela
  214.   #--------------------------------------------------------------------------
  215.   def open
  216.     refresh
  217.     @show_count = Show_Time
  218.     self.contents_opacity = 0
  219.     self
  220.   end
  221.   #--------------------------------------------------------------------------
  222.   # * Fechamento da janela
  223.   #--------------------------------------------------------------------------
  224.   def close
  225.     @show_count = 0
  226.     self
  227.   end
  228.   #--------------------------------------------------------------------------
  229.   # * Renovação
  230.   #--------------------------------------------------------------------------
  231.   def refresh
  232.     contents.clear
  233.     unless $game_map.display_name.empty?
  234.       self.contents.font.size = KMain_Config::Font_Size
  235.       self.change_color(KMain_Config::Color_MainText)
  236.       draw_text(0, mapname_text_y, window_width - 23, line_height, $game_map.display_name, 1)
  237.       draw_hr(0, mapname_text_y + 21, window_width) if $game_map.note != ""
  238.       self.contents.font.size = KMain_Config::Font_Size - 3
  239.       self.change_color(KMain_Config::Color_AltText)
  240.       draw_text(0, mapname_text_y + 19, window_width - 23, line_height, $game_map.note, 1)
  241.     end
  242.   end
  243.   #--------------------------------------------------------------------------
  244.   # Desenho de uma linha horzontal.
  245.   #--------------------------------------------------------------------------
  246.   def draw_hr(x, y, self_width)
  247.     line_y = y + line_height / 2 - 1
  248.     contents.fill_rect(x, y, self_width, 1, Line_Color)
  249.   end
  250. end
  251. #==============================================================================
  252. # Game_Map
  253. #------------------------------------------------------------------------------
  254. # Esta classe gerencia o mapa. Inclui funções de rolagem e definição de
  255. # passagens. A instância desta classe é referenciada por $game_map.
  256. #==============================================================================
  257. class Game_Map
  258.   #--------------------------------------------------------------------------
  259.   # Nota dos mapas.
  260.   #--------------------------------------------------------------------------
  261.   def note
  262.     @map.note
  263.   end
  264. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement