• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Script vita nemici
#1
DESCRIZIONE:
Mostra la vita dei nemici

AUTORE/I:
Sconosciuto.

SCREENSHOTS:
http://imageshack.us/photo/my-images/685...rpgvx.png/

ISTRUZIONI:
Inserire lo script sopra "Main"

SCRIPT:
Codice:
module JCONFIG
  USE_GSWITCH = false    # Setting it to false will use the script
                                                    #   switch $game_system.enemy_hp instead.
                                                       # Setting it to true will use an in-game switch
                                                 #   using the switch ID below.
  ENEMY_WINDOW_SWITCH = 1 # Switch ID that will be used to check
                                            # Enemy Window is only ON, when Switch is ON
  ALWAYS_UPDATE = true     # True = window always updates
                                                 # False = window updates at end of turn
  SPACING_X = 90           # X spacing per enemy info
  SPACING_Y = 44              # Y spacing per enemy info
  COLUMNS = 4                        # By default, Do 4 Columns.
  SHOW_STATES = true          # true will show enemies states
                                                 # false will not show states

end

#======================================================================
# Start Game_System Edit
#======================================================================
class Game_System
  attr_accessor :enemy_hp        # Show enemy HP on battle

  alias jens009_system_initialize_enemy_hp initialize
#=============================================
# Initialize Values
#=============================================
  def initialize
       # Initialize enemy hp window to true
    @enemy_hp = true
        # Call previous methods
jens009_system_initialize_enemy_hp
  end

end # END Game system Edit


class Window_Base
#====================================
# Define Enemy Name                            
#====================================
  def draw_enemy_name(enemy, x, y)
       self.contents.font.color = normal_color
self.contents.draw_text (x, y, 120, 32, enemy.name)
  end

#==========================
# Define Enemy State
#========================
  def draw_enemy_state(enemy, x, y)
    count = 0
       for state in enemy.states
         draw_icon(state.icon_index, x + 24 * count, y)
          count += 1
      break if (24 * count > width - 24)
    end
  end
#--------------------------------------------------------------------------
# * Draw Enemy HP
#    actor : actor
#  x       : draw spot x-coordinate
#       y       : draw spot y-coordinate
#       width : Width
#--------------------------------------------------------------------------
  def draw_enemy_hp(enemy, x, y, width = 120)
  draw_enemy_hp_gauge(enemy, x, y, width)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 30, WLH, Vocab::hp_a)
     last_font_size = self.contents.font.size
        xr = x + width
  if width < 120
    self.contents.draw_text(xr - 44, y, 44, WLH, enemy.hp, 2)
     else
      self.contents.draw_text(xr - 99, y, 44, WLH, enemy.hp, 2)
       self.contents.font.color = normal_color
         self.contents.draw_text(xr - 55, y, 11, WLH, "/", 2)
    self.contents.draw_text(xr - 44, y, 44, WLH, enemy.maxhp, 2)
  end
  end
  #--------------------------------------------------------------------------
  # * Draw HP gauge
  #      actor : actor
  #        x       : draw spot x-coordinate
  #     y       : draw spot y-coordinate
  #     width : Width
  #--------------------------------------------------------------------------
  def draw_enemy_hp_gauge(enemy, x, y, width = 120)
  gw = width * enemy.hp / enemy.maxhp
     gc1 = hp_gauge_color1
   gc2 = hp_gauge_color2
   self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)
     self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)
  end

end #End of Window_Base Class


#=====================================#
# Window_EnemyHP                                     #  
# Class handles window for Enemy's HP #
#=====================================#
class Window_EnemyHP < Window_Selectable
  def initialize
     super ( 0, 0, 545, 300)
self.contents = Bitmap.new(width - 32, height - 32)
     self.opacity = 0
        @column_max = JCONFIG::COLUMNS
  refresh
  end

  def refresh
      self.contents.clear
     for i in 0...$game_troop.members.size
     enemy = $game_troop.members[i]
          x = i % @column_max * (JCONFIG::SPACING_X + @spacing)
if JCONFIG::SHOW_STATES
   y = (i / @column_max * (JCONFIG::SPACING_Y + WLH) )
   else
      y = (i / @column_max * ((JCONFIG::SPACING_Y - 34) + WLH) )
    end

      #========================================
       # If Using Game_Switch
          #=========================================
      if JCONFIG::USE_GSWITCH and $game_switches[JCONFIG::ENEMY_WINDOW_SWITCH]
              draw_enemy_hp(enemy, x, y+20, 90)
               draw_enemy_name(enemy, x, y)
            if JCONFIG::SHOW_STATES
         draw_enemy_state(enemy, x, y +44)
               end
       end
     #==========================================
     # If Using Script Switch
        #==========================================
     if JCONFIG::USE_GSWITCH == false
              if $game_system.enemy_hp == true # Start check if Window Flag is On
               draw_enemy_hp(enemy, x, y+20, 90)
               draw_enemy_name(enemy, x, y)
            if JCONFIG::SHOW_STATES
                 draw_enemy_state(enemy, x, y +44)
               end # END CHECK
               end #End flag check
       end # END game switche check

end
  end #End Refresh

end #End of Window_EnemyHP Class


#====================================#
# Scene_Battle                                       #
# New methods that were aliased:     #
#====================================#
class Scene_Battle

alias jens009_create_info_viewport create_info_viewport
alias jens009_dispose_info_viewport dispose_info_viewport
alias jens009_start_item_selection start_item_selection
alias jens009_start_skill_selection start_skill_selection
alias jens009_end_item_selection end_item_selection
alias jens009_end_skill_selection end_skill_selection
alias jens009_process_victory process_victory

alias jens009_update_info_viewport update_info_viewport

alias jens009_start_party_command_selection start_party_command_selection
alias jens009_execute_action execute_action
alias jens009_turn_end turn_end

# Create Information
def create_info_viewport
   jens009_create_info_viewport
   @enemy_window = Window_EnemyHP.new
end
# Dispose Information
def dispose_info_viewport
   jens009_dispose_info_viewport
   @enemy_window.dispose
end

#=============================================
# Always Update Window
#============================================
def update_info_viewport
  if JCONFIG::ALWAYS_UPDATE == true
  @enemy_window.refresh
   jens009_update_info_viewport
  else
      jens009_update_info_viewport
  end
end

#=============================================
# Update Only When Turn starts and ends
#============================================
def start_party_command_selection
  if JCONFIG::ALWAYS_UPDATE == true
     jens009_start_party_command_selection
   else
    @enemy_window.visible = true
    @enemy_window.refresh
   jens009_start_party_command_selection
  end
end

def execute_action
  if JCONFIG::ALWAYS_UPDATE == true
     jens009_execute_action
  else
    @enemy_window.visible = false
   jens009_execute_action
  end
end

def turn_end
  if JCONFIG::ALWAYS_UPDATE == true
  jens009_turn_end
  else
  @enemy_window.refresh
   jens009_turn_end
  end
end
#============================================
# END OF UPDATE CHECK
#===========================================

#=====================================
# Remove Window During Selection  
def start_item_selection
   @enemy_window.visible = false
   jens009_start_item_selection
end
# Remove Window During Selection
def start_skill_selection
   @enemy_window.visible = false
   jens009_start_skill_selection
end
# True Visibility after slection
def end_item_selection
   jens009_end_item_selection
   @enemy_window.visible = true
end
# True Visibility after selection
def end_skill_selection
   jens009_end_skill_selection
   @enemy_window.visible = true
end
# Refresh When Victorious
def process_victory
   @enemy_window.refresh
   jens009_process_victory
  end

#=====================================#
# End of Scene_Battle Method Edits #
#=====================================#

end

DEMO:
http://www.mediafire.com/?kh9lpiwtcbcykhq

BUG E CONFLITTI NOTI:
Nessuno
 
Rispondi
#2
Segui il template che trovi in rilievo nel forum, e riempi almeno il campo "Descrizione", così da far capire meglio a che serve lo script... Poi se aggiungi altre informazioni è ancora meglio! Wink
 
Rispondi
  


Vai al forum:


Browsing: 1 Ospite(i)