Dodatkowo, ukryci przeciwnicy też mają taki pasek niezależnie od tego czy już się pojawili, czy nie.
Zna ktoś może inny skrypt? Najlepiej taki, który pokazywałby HP tylko w chwili wybierania celu. :>
A jeżeli nie, to mógłby ktoś pomniejszyć te paski mniej więcej o połowę, łącznie z napisami? Zwyczajnie szkoda mi tego całego miejsca i dosyć brzydko to wygląda.
Dodam, że dużo już szukałem po internecie, ale niczego nie znalazłem.
Kod: Zaznacz cały
# HP/MP PRZECIWNIKÓW POPRAWIONE PRZEZ OZZMA
#======================================================================
module OZZMA
ALWAYS_UPDATE = true # BIEŻĄCA AKTUALIZACJA KONDYCJI PRZECIWNIKA
SPACING_X = 80 # WOLNA PRZESTRZEŃ MIĘDZY BARAMI (POZIOM)
SPACING_Y = 40 # WOLNA PRZESTRZEŃ MIĘDZY BARAMI (PION)
COLUMNS = 4 # LICZBA KOLUMN Z HP PRZECIWNIKA
SHOW_STATES = true # POKAZUJE STATUSY PRZECIWNIKA
end
#======================================================================
# Start Game_System Edit
#======================================================================
class Game_System
attr_accessor :enemy_hp # Show enemy HP on battle
alias flower_system_initialize_enemy_hp initialize
#=============================================
# Initialize Values
#=============================================
def initialize
# Initialize enemy hp window to true
@enemy_hp = true
# Call previous methods
flower_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 = OZZMA::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 * (OZZMA::SPACING_X + @spacing)
if OZZMA::SHOW_STATES
y = (i / @column_max * (OZZMA::SPACING_Y + WLH) )
else
y = (i / @column_max * ((OZZMA::SPACING_Y - 34) + WLH) )
end
#========================================
# If Using Game_Switch
#=========================================
if OZZMA::SHOW_STATES
draw_enemy_state(enemy, x, y +44)
end
#==========================================
# If Using Script Switch
#==========================================
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 OZZMA::SHOW_STATES
draw_enemy_state(enemy, x, y +44)
end # END CHECK
end #End flag check
end
end #End Refresh
end #End of Window_EnemyHP Class
#====================================#
# Scene_Battle #
# New methods that were aliased: #
#====================================#
class Scene_Battle
alias flower_create_info_viewport create_info_viewport
alias flower_dispose_info_viewport dispose_info_viewport
alias flower_start_item_selection start_item_selection
alias flower_start_skill_selection start_skill_selection
alias flower_end_item_selection end_item_selection
alias flower_end_skill_selection end_skill_selection
alias flower_process_victory process_victory
alias flower_update_info_viewport update_info_viewport
alias flower_start_party_command_selection start_party_command_selection
alias flower_execute_action execute_action
alias flower_turn_end turn_end
# Create Information
def create_info_viewport
flower_create_info_viewport
@enemy_window = Window_EnemyHP.new
end
# Dispose Information
def dispose_info_viewport
flower_dispose_info_viewport
@enemy_window.dispose
end
#=============================================
# Always Update Window
#============================================
def update_info_viewport
if OZZMA::ALWAYS_UPDATE == true
@enemy_window.refresh
flower_update_info_viewport
else
flower_update_info_viewport
end
end
#=============================================
# Update Only When Turn starts and ends
#============================================
def start_party_command_selection
if OZZMA::ALWAYS_UPDATE == true
flower_start_party_command_selection
else
@enemy_window.visible = true
@enemy_window.refresh
flower_start_party_command_selection
end
end
def execute_action
if OZZMA::ALWAYS_UPDATE == true
flower_execute_action
else
@enemy_window.visible = false
flower_execute_action
end
end
def turn_end
if OZZMA::ALWAYS_UPDATE == true
flower_turn_end
else
@enemy_window.refresh
flower_turn_end
end
end
#============================================
# END OF UPDATE CHECK
#===========================================
#=====================================
# Remove Window During Selection
def start_item_selection
@enemy_window.visible = false
flower_start_item_selection
end
# Remove Window During Selection
def start_skill_selection
@enemy_window.visible = false
flower_start_skill_selection
end
# True Visibility after slection
def end_item_selection
flower_end_item_selection
@enemy_window.visible = true
end
# True Visibility after selection
def end_skill_selection
flower_end_skill_selection
@enemy_window.visible = true
end
# Refresh When Victorious
def process_victory
@enemy_window.refresh
flower_process_victory
end
#=====================================#
# End of Scene_Battle Method Edits #
#=====================================#
end
# HP/MP PRZECIWNIKÓW POPRAWIONE PRZEZ OZZMA