Advertisement
biward

[VX] HUD Actor

Sep 8th, 2013
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 5.96 KB | None | 0 0
  1.     ################## HUD Actor ################
  2.  
  3.     # Auteur : Biward
  4.     # Nom du Script : HUD Actor
  5.     # Version : 2.0
  6.     # Date 19/08/2013 02:22
  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.       end
  33.       def enable_gold; Scene_Map.gold = true; Scene_Map.need_refresh = true; end
  34.       def disable_gold; Scene_Map.gold = nil; Scene_Map.need_refresh = true; end
  35.       def enable_level; Scene_Map.level = true; Scene_Map.need_refresh = true; end
  36.       def disable_level; Scene_Map.level = nil; Scene_Map.need_refresh = true; end
  37.       def enable_equip; Scene_Map.equip = true; Scene_Map.need_refresh = true; end
  38.       def disable_equip; Scene_Map.equip = nil; Scene_Map.need_refresh = true; end
  39.       def enable_state; Scene_Map.state = true; Scene_Map.need_refresh = true; end
  40.       def disable_state; Scene_Map.state = nil; Scene_Map.need_refresh = true; end
  41.       def enable_hud
  42.         Scene_Map.gold = true
  43.         Scene_Map.equip = true
  44.         Scene_Map.level = true
  45.         Scene_Map.state = true
  46.         Scene_Map.need_refresh = true
  47.       end
  48.       def disable_hud
  49.         Scene_Map.gold = false
  50.         Scene_Map.equip = false
  51.         Scene_Map.level = false
  52.         Scene_Map.state = false
  53.         Scene_Map.need_refresh = true
  54.       end
  55.     end
  56.  
  57.     class Scene_Map < Scene_Base
  58.      
  59.       alias add_start start
  60.       alias add_terminate terminate
  61.       alias add_update update
  62.      
  63.       class << self
  64.         attr_accessor :actor_hud, :need_refresh, :gold, :level, :equip, :state
  65.       end
  66.      
  67.       def start
  68.         add_start
  69.         create_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  70.       end # start
  71.  
  72.       def terminate
  73.         add_terminate
  74.         dispose_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  75.       end # terminate
  76.  
  77.       def update
  78.         update_map_window if $game_switches[X3::Int] && Scene_Map.actor_hud
  79.         refresh_window if Scene_Map.need_refresh
  80.         add_update
  81.       end #update
  82.      
  83.       def create_map_window
  84.         @actor = Scene_Map.actor_hud
  85.         if Scene_Map.state && ! @win1
  86.           @win1 = State.new(150, 0, 224, 60, @actor)
  87.           @win1.z = 0
  88.           @win1.opacity = X3::Opacity
  89.         end
  90.  
  91.         if Scene_Map.equip && ! @win2
  92.           @win2 = Equips.new(374, 0, 170, 60, @actor)
  93.           @win2.z = 0
  94.           @win2.opacity = X3::Opacity
  95.         end
  96.      
  97.         if Scene_Map.gold && ! @win3
  98.           @win3 = Gold.new(Graphics.width - 100,  Graphics.height - 60, 100, 60)
  99.           @win3.z = 0
  100.           @win3.opacity = X3::Opacity
  101.         end
  102.      
  103.         if Scene_Map.level && ! @win4
  104.           @win4 = Level.new(0, 0, 150, 60, @actor)
  105.           @win4.z = 0
  106.           @win4.opacity = X3::Opacity
  107.         end
  108.       end
  109.      
  110.       def dispose_map_window
  111.         @win4.dispose if @win4
  112.         @win3.dispose if @win3
  113.         @win2.dispose if @win2
  114.         @win1.dispose if @win1
  115.         @win1 = nil
  116.         @win2 = nil
  117.         @win3 = nil
  118.         @win4 = nil
  119.       end
  120.  
  121.       def update_map_window
  122.           create_map_window
  123.           @win4.refresh if @win4
  124.           @win3.refresh if @win3
  125.           @win2.refresh if @win2
  126.           @win1.refresh if @win1
  127.       end
  128.      
  129.       def refresh_window
  130.         if $game_switches[X3::Int] && Scene_Map.actor_hud
  131.           dispose_map_window
  132.           create_map_window
  133.         end
  134.         Scene_Map.need_refresh = nil
  135.       end
  136.     end #Scene_Map
  137.  
  138.  
  139.     ##################################
  140.     ### WINDOWS
  141.     ##################################
  142.     class State < Window_Base
  143.      
  144.       def initialize(x, y, w, h, actor)
  145.         super(x, y, w, h)
  146.         @actor = $game_actors[actor]
  147.          refresh
  148.       end #initialize
  149.  
  150.       def refresh
  151.         self.contents.clear
  152.         draw_actor_state(@actor, 0, 0)
  153.       end #refresh
  154.     end #state
  155.  
  156.     class Equips < Window_Base
  157.       def initialize(x, y, w, h, actor)
  158.         super(x, y, w, h)
  159.         @actor = actor
  160.         refresh
  161.       end # initialize
  162.  
  163.       def refresh
  164.         self.contents.clear
  165.         @arme = $game_actors[@actor.to_i].weapon_id     #ID de l'arme
  166.         @icon = 0 if @arme == 0
  167.         @name = $data_weapons[@arme.to_i].name  if @arme > 0 # nom de l'arme
  168.         @icon = $data_weapons[@arme.to_i].icon_index if @arme > 0
  169.  
  170.         @text = X3::Noweapon if @arme == 0
  171.         @text = @name.to_s if @arme > 0
  172.  
  173.         self.contents.draw_text(0, -195, 544, 416, @text,0)
  174.         draw_icon(@icon, 115, 0)
  175.       end # refresh
  176.     end #equips
  177.  
  178.     class Gold < Window_Base
  179.      
  180.       def initialize(x, y, w, h)
  181.         super(x, y, w, h)
  182.         @icone = X3::Gold
  183.         refresh
  184.       end #initialize
  185.      
  186.       def refresh
  187.         self.contents.clear
  188.         @gold = $game_party.gold
  189.         @text1 = @gold.to_s
  190.         self.contents.draw_text(24,-195, 544, 416, @text1, 0)
  191.         draw_icon(@icone, 0, 0)
  192.       end
  193.     end
  194.  
  195.     class Level < Window_Base
  196.      
  197.       def initialize(x, y, w, h, actor)
  198.         super(x, y, w, h)
  199.         @actor = actor
  200.       end
  201.      
  202.       def refresh
  203.         self.contents.clear
  204.         name = $game_actors[@actor].name
  205.         level = $game_actors[@actor].level  
  206.         act = "#{name.to_s} : #{level.to_s}"
  207.         draw_actor_graphic($game_actors[@actor], 16, 32)
  208.         self.contents.draw_text(30, -60, 150, 150, act, 0)
  209.       end  
  210.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement