Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. ################## HUD Actor ################
  2.  
  3. # Auteur : Biward
  4. # Nom du Script : HUD Actor
  5. # Version : 2.0
  6. # Date 19/08/2013 04:03
  7. # Pour : forum Eclipso
  8.  
  9. # Utilité :
  10. # Permet l'affichage d'un HUD en fonction d'un personnage
  11.  
  12. module X3
  13.   # N° de l'interrupteur qui permet d'afficher le tout !
  14.   Int = 100          
  15.  
  16.   # Icone de l'argent !
  17.   Gold = 205      
  18.  
  19.   # Indiquez ici l'opacité des fenêtres
  20.   Opacity = 100
  21.  
  22.   # Texte si jamais il n'y a pas d'équipement ------> Pas plus de 5 Lettres !!!" è_é
  23.    Noweapon = "Aucune"
  24.  
  25.  end
  26.  
  27.  
  28. class Game_Interpreter
  29.   def actor_hud(number)
  30.     Scene_Map.actor_hud = number
  31.     Scene_Map.need_refresh = true
  32.     print "o"
  33.   end
  34.   def enable_gold; Scene_Map.gold = true; Scene_Map.need_refresh = true; end
  35.   def disable_gold; Scene_Map.gold = nil; Scene_Map.need_refresh = true; end
  36.   def enable_level; Scene_Map.level = true; Scene_Map.need_refresh = true; end
  37.   def disable_level; Scene_Map.level = nil; Scene_Map.need_refresh = true; end
  38.   def enable_equip; Scene_Map.equip = true; Scene_Map.need_refresh = true; end
  39.   def disable_equip; Scene_Map.equip = nil; Scene_Map.need_refresh = true; end
  40.   def enable_state; Scene_Map.state = true; Scene_Map.need_refresh = true; end
  41.   def disable_state; Scene_Map.state = nil; Scene_Map.need_refresh = true; end
  42.   def enable_hud
  43.     Scene_Map.gold = true
  44.     Scene_Map.equip = true
  45.     Scene_Map.level = true
  46.     Scene_Map.state = true
  47.     Scene_Map.need_refresh = true
  48.   end
  49.   def disable_hud
  50.     Scene_Map.gold = false
  51.     Scene_Map.equip = false
  52.     Scene_Map.level = false
  53.     Scene_Map.state = false
  54.     Scene_Map.need_refresh = true
  55.   end
  56. end
  57.  
  58. class Scene_Map
  59.  
  60.   alias add_start start
  61.   alias add_terminate terminate
  62.   alias add_update update
  63.  
  64.   class << self
  65.     attr_accessor :actor_hud, :need_refresh, :gold, :level, :equip, :state
  66.   end
  67.  
  68.   def start
  69.     add_start
  70.     create_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  71.   end # start
  72.  
  73.   def terminate
  74.     add_terminate
  75.     dispose_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  76.   end # terminate
  77.  
  78.   def update
  79.     update_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  80.     refresh_window if Scene_Map.need_refresh
  81.     add_update
  82.   end #update
  83.  
  84.   def create_map_window
  85.     @actor = Scene_Map.actor_hud
  86.     if Scene_Map.state && ! @win1
  87.       @win1 = State.new(150, 0, 224, 55, @actor)
  88.       @win1.z = 0
  89.       @win1.opacity = X3::Opacity
  90.     end
  91.  
  92.     if Scene_Map.equip && ! @win2
  93.       @win2 = Equips.new(374, 0, 170, 55, @actor)
  94.       @win2.z = 0
  95.       @win2.opacity = X3::Opacity
  96.     end
  97.  
  98.     if Scene_Map.gold && ! @win3
  99.       @win3 = Gold.new(Graphics.width - 100,  Graphics.height - 55, 100, 55)
  100.       @win3.z = 0
  101.       @win3.opacity = X3::Opacity
  102.     end
  103.  
  104.     if Scene_Map.level && ! @win4
  105.       @win4 = Level.new(0, 0, 150, 55, @actor)
  106.       @win4.z = 0
  107.       @win4.opacity = X3::Opacity
  108.     end
  109.   end
  110.  
  111.   def dispose_map_window
  112.     @win4.dispose if @win4
  113.     @win3.dispose if @win3
  114.     @win2.dispose if @win2
  115.     @win1.dispose if @win1
  116.     @win1 = nil
  117.     @win2 = nil
  118.     @win3 = nil
  119.     @win4 = nil
  120.   end
  121.  
  122.   def update_map_window
  123.       create_map_window
  124.       @win4.refresh if @win4
  125.       @win3.refresh if @win3
  126.       @win2.refresh if @win2
  127.       @win1.refresh if @win1
  128.   end
  129.  
  130.   def refresh_window
  131.     if $game_switches[X3::Int] && Scene_Map.actor_hud
  132.       dispose_map_window
  133.       create_map_window
  134.     end
  135.     Scene_Map.need_refresh = nil
  136.   end
  137. end #Scene_Map
  138.  
  139.  
  140. ##################################
  141. ### WINDOWS
  142. ##################################
  143. class State < Window_Base
  144.  
  145.   def initialize(x, y, w, h, actor)
  146.     super(x, y, w, h)
  147.     @actor = $game_actors[actor]
  148.      refresh
  149.   end #initialize
  150.  
  151.   def refresh
  152.     self.contents.clear
  153.     draw_actor_icons(@actor, 0, 0)
  154.   end #refresh
  155. end #state
  156.  
  157. class Equips < Window_Base
  158.   def initialize(x, y, w, h, actor)
  159.     super(x, y, w, h)
  160.     @actor = actor
  161.     refresh
  162.   end # initialize
  163.  
  164.   def refresh
  165.     self.contents.clear
  166.     @arme = $game_actors[@actor.to_i].weapons[0].id if $game_actors[@actor.to_i].weapons[0]  #ID de l'arme
  167.     @icon = 0 if @arme == 0
  168.     @name = $data_weapons[@arme.to_i].name  if @arme > 0 # nom de l'arme
  169.     @icon = $data_weapons[@arme.to_i].icon_index if @arme > 0
  170.  
  171.     @text = X3::Noweapon if @arme == 0
  172.     @text = @name.to_s if @arme > 0
  173.  
  174.     self.contents.draw_text(0, -195, 544, 416, @text,0)
  175.     draw_icon(@icon, 115, 0)
  176.   end # refresh
  177. end #equips
  178.  
  179. class Gold < Window_Base
  180.  
  181.   def initialize(x, y, w, h)
  182.     super(x, y, w, h)
  183.     @icone = X3::Gold
  184.     refresh
  185.   end #initialize
  186.  
  187.   def refresh
  188.     self.contents.clear
  189.     @gold = $game_party.gold
  190.     @text1 = @gold.to_s
  191.     self.contents.draw_text(24,-195, 544, 416, @text1, 0)
  192.     draw_icon(@icone, 0, 0)
  193.   end
  194. end
  195.  
  196. class Level < Window_Base
  197.  
  198.   def initialize(x, y, w, h, actor)
  199.     super(x, y, w, h)
  200.     @actor = actor
  201.   end
  202.  
  203.   def refresh
  204.     self.contents.clear
  205.     name = $game_actors[@actor].name
  206.     level = $game_actors[@actor].level  
  207.     act = "#{name.to_s} : #{level.to_s}"
  208.     draw_actor_graphic($game_actors[@actor], 16, 32)
  209.     self.contents.draw_text(30, -60, 150, 150, act, 0)
  210.   end  
  211. end