#======================================================================
# Start Game_System Edit
#======================================================================
class Game_System
attr_accessor :enemy_hp # Show enemy HP on battle
attr_accessor :enemy_mp # 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
@enemy_mp = 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
#--------------------------------------------------------------------------
# * Draw Enemy MP
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_enemy_mp(enemy, x, y, width = 120)
draw_enemy_mp_gauge(enemy, x, y, width)
self.contents.font.color = system_color
self.contents.draw_text(x, y, 30, WLH, Vocab::mp_a)
last_font_size = self.contents.font.size
xr = x + width
if width < 120
self.contents.draw_text(xr - 44, y, 44, WLH, enemy.mp, 2)
else
self.contents.draw_text(xr - 99, y, 44, WLH, enemy.mp, 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.maxmp, 2)
end
end
#--------------------------------------------------------------------------
# * Draw MP gauge
# actor : actor
# x : draw spot x-coordinate
# y : draw spot y-coordinate
# width : Width
#--------------------------------------------------------------------------
def draw_enemy_mp_gauge(enemy, x, y, width = 120)
gw = enemy.maxmp > 0 ? width * enemy.mp / enemy.maxmp : 0
gc1 = mp_gauge_color1
gc2 = mp_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_mp(enemy, x, y+40, 90)
draw_enemy_name(enemy, x, y)
if OZZMA::SHOW_STATES
draw_enemy_state(enemy, x, y +64)
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 #
#=====================================#
Mam takie pytanie.
DodaĹem sobie ten skrypt do projektu i wszystko byĹo dobrze. Jednak gdy później dodaĹem skrypt WiÄkszy Team ( http://www.ultimateam.pl/viewtopic.php?t=3478 ), sprawa zaczÄĹa siÄ komplikowaÄ. Przy rozpoczÄciu walki pojawia mi siÄ okienko http://img818.imageshack.us/img818/2024/skrini.png i nie wiem co mam z tym zrobiÄ. Kompletnie nie znam siÄ na pisaniu skryptĂłw. UsunÄ Ĺem skrypt wiÄkszej druĹźyny, myĹlaĹem, Ĺźe to moĹźe on sprawia kĹopot, ale bĹÄ d i tak wyskakiwaĹ nawet po jego usuniÄciu. Co mam zrobiÄ? MĂłgĹby mi ktoĹ z tym pomĂłc?
NajproĹciej - dodaj znak # przed tÄ linijkÄ . Jak pomoĹźe to ok, jak nie pomoĹźe to poczekaj na profesjonalnÄ pomoc. Ale ja tam zawsze w pierwszej kolejnoĹci stosujÄ ten trik, czasem dziaĹa
Jak to mĂłwi stare powiedzenie programistĂłw: JeĹźli po wywaleniu poĹowy kodu i doprowadzeniu go do nierozczytywalnej postaci skrypt nadal dziaĹa - jest dobrze
________________________
"Na trolla pewne sÄ tylko dwie pewne metody, jedna samopowtarzalna i druga, wymagajÄ ca przeĹadowania rÄcznego."
WiÄc tak. DodaĹem znaczek i podziaĹaĹo... Do czasu gdy nie wyĹwietliĹ siÄ kolejny bĹÄ d, przy wybraniu ataku. Przy tamtej linijce teĹź dodaĹem #, i wyskoczyĹ przy grze kolejny bĹÄ d z kolejnÄ linijkÄ . Nie wiem czy jest sens tak odznaczaÄ, bo to moĹźe siÄ ciÄ gnÄ Ä aĹź do czasu, gdy nie "odznaczÄ" caĹego skryptu. SprĂłbujÄ tak robiÄ dalej, ale nie wiem.
Ale i tak dziÄki za pomoc, przyda mi siÄ ta "pierwsza pomoc" przy problemach :x
O, zauwaĹźyĹem, Ĺźe gdy w caĹkowicie nowym projekcie daĹem najpierw skrypt z paskiem Ĺźycia, a potem z powiÄkszonÄ druĹźynÄ , teĹź wyskakiwaĹ ten sam bĹÄ d :o Ale jak usunÄ Ĺem skrypt z druĹźynÄ , to tam przynajmniej bĹÄ d znikaĹ, a u mnie nie chce. Nie wiem, moĹźe bÄdÄ od nowa caĹÄ grÄ w nowym projekcie robiĹ i dodam znowu skrypty, w sumie praktycznie nic, poza jednÄ maĹÄ mapkÄ , bohaterem, jego ekwipunkiem i dwoma umiejÄtnoĹciami, nie zrobiĹem. Nie wiem, moĹźe jeszcze coĹ z mojÄ zerowÄ wiedzÄ pokombinujÄ :X
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum