Advertisement
Skyloftian_Link

Esteem - Achievement Menu

Apr 21st, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 6.03 KB | None | 0 0
  1. #===============================================================================
  2. # Esteem - Achievement Menu
  3. #-------------------------------------------------------------------------------
  4. # Por: Revali
  5. #===============================================================================
  6. # > Versão 1.0
  7. #-------------------------------------------------------------------------------
  8. # > Atualizações:
  9. #   - 21/04/17 (v1.0) : Concluído
  10. #-------------------------------------------------------------------------------
  11. # > Termos de Uso:
  12. #   - Script feito sob o pedido do colega Manec. O uso é único e exclusivo
  13. #   para ele.
  14. #   - Os créditos são obrigatórios, mas sinta-se livre para não creditar-me.
  15. #   - O script não deve ser postado em outro lugar, caso deseje isso, favor me
  16. #   contatar antes.
  17. #   - O script pode ser modificado por sua conta e risco, mas não me responsabi-
  18. #   lizo por quaisquer erros que venham a ocorrer posteriormente.
  19. #===============================================================================
  20. # > Função:
  21. #   - Este script cria uma cena de conquistas que é chamada ao pressionar a
  22. #   tecla P do teclado.
  23. #-------------------------------------------------------------------------------
  24. # > Instruções:
  25. #   - Não há muito o que fazer, apenas configurar os tópicos que são encontrados
  26. #   logo abaixo.
  27. #===============================================================================
  28. # > Dúvidas e afins? Acesse: www.centrorpg.com e me contate
  29. #===============================================================================
  30.  
  31. module Esteem
  32.     module Achievement
  33.     #===========================================================================
  34.     # > Configurações:
  35.     #   - Aqui você encontrará todas as configurações que podem ser realizadas
  36.     #   no script.
  37.     #---------------------------------------------------------------------------
  38.     # > Configurações do fundo da cena:
  39.  
  40.         ACH_TITLE_TEXT = "MENU DE CONQUISTAS" # Título que aparecerá na cena
  41.  
  42.         ACH_TITLE_BACK = "Title_Back"         # Nome da imagem de fundo do
  43.                                               # título da cena
  44.  
  45.         ACH_LIST_BACK  = "List_Back"          # Nome da imagem de fundo da
  46.                                               # lista de conquistas
  47.  
  48.         ACH_SWI        = 05                   # Switch que ativa ou desativa
  49.                                               # a chamada do menu ao
  50.                                               # pressionar P.
  51.  
  52.         ACHIEVEMENT_LIST = { # Don't Touch This
  53.  
  54.                                #:símbolo     => ["Nome", Variável, Valor Máximo, Switch],
  55.                                #:símbolo     =  Qualquer coisa, serve apenas
  56.                                #                para identificar cada opção.
  57.                                #"Nome"       =  Nome da conquista.
  58.                                #Variável     =  Numéro da variável que contará.
  59.                                #Valor Máximo =  Valor máximo que contará.
  60.                                #Switch       =  Switch que ativará a conquista
  61.                                #                e a fará aparecer.
  62.                                #                Deixe 0 para ela aparecer por
  63.                                #                padrão.
  64.  
  65.                                 :first_list  => ["Matar um Snowkku", 1, 1, 0],
  66.                                 :second_list => ["Comer um Snowkku", 1, 1, 2],
  67.                                 :third_list  => ["Encontrar dois M@pples", 2, 2, 0]
  68.  
  69.                            } # Don't Touch This
  70.  
  71.     end # Achievement
  72. end # Esteem
  73. #===============================================================================
  74. # > Fim das Configurações
  75. #   - Aqui termina a área configurável do script e começa o código. Não recomen-
  76. #   do que o altere, isso é, a menos que tenha certeza do que está fazendo.
  77. #===============================================================================
  78.  
  79. #=============================================================
  80. # > Scene_Achievement
  81. #=============================================================
  82. class Scene_Achievement < Scene_Base
  83.     include Esteem::Achievement
  84.  
  85.     def start
  86.         super
  87.         draw_background
  88.         create_window
  89.     end
  90.  
  91.     def draw_background
  92.         @background_sprite = Sprite.new
  93.         @background_sprite.bitmap = SceneManager.background_bitmap
  94.         @background_sprite.color.set(16, 16, 16, 128)
  95.  
  96.         @titleback = Sprite.new
  97.         @titleback.bitmap = Cache.picture("ACH_TITLE_BACK")
  98.  
  99.         @titletext = Sprite.new
  100.         @titletext.bitmap = Bitmap.new(Graphics.width, 25)
  101.         @titletext.bitmap.font.size = 25
  102.         @titletext.bitmap.draw_text(0, 0, Graphics.width, 25, ACH_TITLE_TEXT, 1)
  103.         @titletext.y = (72 / 2) - (25 / 2)
  104.  
  105.         @listback = Sprite.new
  106.         @listback.bitmap = Cache.picture("ACH_LIST_BACK")
  107.         @listback.y = 72
  108.     end    
  109.  
  110.     def create_window
  111.         @ListWindow = Window_AchievementList.new(0, 72)
  112.         @ListWindow.opacity = 0
  113.         @ListWindow.set_handler(:cancel, method(:return_scene))
  114.     end
  115.  
  116.     def terminate
  117.         super
  118.         dispose_sprites
  119.     end
  120.  
  121.     def dispose_sprites
  122.         @background_sprite.dispose
  123.         @titleback.dispose
  124.         @titletext.dispose
  125.         @listback.dispose
  126.     end
  127.    
  128. end # Scene_Achievement
  129.  
  130. #=============================================================
  131. # > Window_AchievementList
  132. #=============================================================
  133. class Window_AchievementList < Window_Command
  134.   include Esteem::Achievement
  135.  
  136.     def initialzie
  137.         super(0,72)
  138.     end
  139.  
  140.     def window_width
  141.         Graphics.width
  142.     end
  143.  
  144.     def window_height
  145.         Graphics.height - 72
  146.     end
  147.  
  148.  
  149.     def ok_enabled?
  150.         return false
  151.     end
  152.  
  153.     def visible_line_number
  154.         item_max
  155.     end
  156.  
  157.     def alignment
  158.         return 1
  159.     end
  160.  
  161.     def make_command_list
  162.         ACHIEVEMENT_LIST.each do |symbol, infos|
  163.             case symbol
  164.             when symbol
  165.                 add_command("#{infos[0]}   #{$game_variables[infos[1]]}/#{infos[2]}", symbol) if $game_switches[infos[3]] || infos[3] == 0
  166.             end
  167.         end
  168.     end
  169.  
  170. end # Window_AchievementList
  171.  
  172. #=============================================================
  173. # > Scene_Map
  174. #=============================================================
  175. class Scene_Map < Scene_Base
  176.     include Esteem::Achievement
  177.  
  178.     alias :press_new_key :update
  179.     def update
  180.         press_new_key
  181.         call_achievement_scene
  182.     end
  183.  
  184.     def call_achievement_scene
  185.         if Input.trigger?(Key::P) && ACH_SWI
  186.             Sound.play_ok
  187.             SceneManager.call(Scene_Achievement)
  188.         end
  189.     end
  190.  
  191. end # Scene_Map
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement