Fashy

Window Karma

May 22nd, 2020
505
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 3.28 KB | None | 0 0
  1. #===============================================================================->
  2. # Rhyan - Karma Script
  3. #
  4. # - Para alterar os sons tocados:
  5. #
  6. # 1°: Và em Sounds,
  7. #
  8. # 2°.A: Para alterar o som que toca quando o karma:
  9. # :add_karma => "Altere pelo sua SE"
  10. # :remove_karma => "Altere pela sua SE"
  11. # :reset_karma => "Altere pela sua SE"
  12. # :set_karma => "Altere pela sua SE"
  13. #
  14. # OBS: A sua SE precisa estar entre aspas!
  15. # OBS_2: Caso não tenbha entendido, poste uma resposta no tópico.
  16. # OBS_3: Leia os termos de uso caso queiram usar.
  17. #
  18. # Termos de Uso:
  19. #
  20. # Credite Rhyan ou Polloyusrhyan (ambos codinomes meus) e me contate, claro.
  21. #===============================================================================->
  22.  
  23. #=============#
  24. # Karma_Script
  25. #=============#
  26.  
  27. module Karma_Script
  28.  
  29.   Sounds = {
  30.     :add_karma => "Bell3", #<- Toca quando o jogador recebe karma.
  31.     :remove_karma => "Buzzer2", #<- Toca quando o jogador perde karma.
  32.     :reset_karma => "Disappointment", #<- Toca quando o karma do jogador é resetado.
  33.     :set_karma => "Chime2"
  34.   }
  35.  
  36.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  37.   # Método de adição de karma.
  38.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  39.  
  40.   def self.add_karma(value)
  41.     play_sound(Sounds[:add_karma])
  42.     $game_player.karma += value
  43.   end
  44.  
  45.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  46.   # Método de subtração de karma.
  47.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  48.  
  49.   def self.remove_karma(value)
  50.     play_sound(Sounds[:remove_karma]) unless $game_player.karma <= 0
  51.     $game_player.karma -= value unless $game_player.karma <= 0
  52.   end
  53.  
  54.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  55.   # Método de resetamento de karma.
  56.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  57.  
  58.   def self.reset_karma
  59.     play_sound(Sounds[:reset_karma]) unless $game_player.karma <= 0
  60.     $game_player.karma = 0 unless $game_player.karma <= 0
  61.   end
  62.  
  63.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  64.   # Método de definir karma.
  65.   #-=--=--=--=--=--=--=--=--=--=--=--=-#
  66.  
  67.   def self.set_karma(value)
  68.     play_sound(Sounds[:set_karma]) unless $game_player.karma == value
  69.     $game_player.karma = value unless $game_player.karma == value
  70.   end
  71.  
  72.   #-=--=--=--=--=--=--=--=--=--=--=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
  73.   # Método de tocar uma SE. (foi mal, não pensei em algo melhor, hehe.
  74.   #-=--=--=--=--=--=--=--=--=--=--=--=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-#
  75.  
  76.   def self.play_sound(sound)
  77.     RPG::SE.new(sound.to_s, 100).play
  78.   end
  79. end
  80.  
  81. #=============#
  82. # Scene_Map
  83. #=============#
  84.  
  85. class Scene_Map < Scene_Base
  86.   alias karma_start start
  87.  
  88.   def start
  89.     karma_start
  90.     @window_karma = Window_Karma.new
  91.   end
  92. end
  93.  
  94. class Game_Player < Game_Character
  95.   alias karma_initialize initialize
  96.  
  97.   attr_accessor   :karma
  98.  
  99.   def initialize
  100.     karma_initialize
  101.     @karma = 0
  102.   end
  103. end
  104.  
  105. #=============#
  106. # Window_Karma
  107. #=============#
  108.  
  109. class Window_Karma < Window_Base
  110.   def initialize
  111.     super(422, 0, 122, 48)
  112.     self.opacity = 200
  113.     refresh #<- Refresh inicial.  
  114.   end
  115.  
  116.   def update
  117.     super
  118.     refresh if @last_karma != $game_player.karma #<- Dar o refresh se o último karma for diferente do karma atual.
  119.   end
  120.  
  121.   def refresh
  122.     @last_karma = $game_player.karma
  123.     contents.clear
  124.     draw_text_ex(0, 0, @last_karma)
  125.   end
  126. end
Advertisement
Add Comment
Please, Sign In to add comment