赞 | 0 |
VIP | 0 |
好人卡 | 3 |
积分 | 1 |
经验 | 1064 |
最后登录 | 2013-5-16 |
在线时间 | 518 小时 |
Lv1.梦旅人
- 梦石
- 0
- 星屑
- 50
- 在线时间
- 518 小时
- 注册时间
- 2010-6-16
- 帖子
- 1073
|
来~血条显示在左边~插入即可~- #======================================================================
- # Jens009's Enemy Hp Window
- # Version 1.2
- # Log: July 29, 2008
- # - Version 1.0: Show Enemy Hp Bars
- # August 5, 2008
- # - Version 1.1: Enable On/Off feature Using a $game_system instance
- # : Enable On/Off feature using an in-game switch
- # August 8, 2008
- # - Version 1.2: Add New Options
- # : Change Default Window Size
- # : Add Enemy States
- # Rant: [Code Geass ftw]
- # C.C. Still loves Pizza <3
- # Be nice to her Lulu.
- # Oh.. I haven't done my summer homework yet. T_T
- #
- # Credits to:
- # Jens009 (Translation and Modification)
- # Puppeto4 (Alias tutorial and for bugging me to create a script)
- # just kidding puppeto =p
- # Author's Note:
- # 9 Methods were aliased. Refer to lines 110-118
- # 4 Were not necessary but was needed so that Enemy Window
- # was not present during item/skill selections.
- #
- #
- # Modification:
- # If you want to modify the bars, look @lines 42-72.You can see that
- # I simply took draw_actor_hp and turned it into draw_enemy_hp
- # This means you can use any bars you desire so long as you define
- # it correctly. =]
- #
- #-----------------------------------------------------------------------------
- # CONFIG:
- #
- # I. Turning the Window On of Off during In-Game:
- #
- # There are two kinds of switches you can use depending
- # upon your liking. I made it so that you either have a
- # game switch or a script switch that handles the enemy window flag.
- #
- # If you want to use a script switch
- # -set USE_GSWITCH to false
- # -Use a call script, $game_system.enemy_window = true/false
- # True = Window Shows up, False = No Enemy Window
- #
- # If you want to use a game switch
- # -Set USE_GSWITCH to true
- # -Decide what Game Switch ID you want to use
- # in ENEMY_WINDOW_SWITCH
- # -Use that game switch to check for showing the Enemy Hp Window
- # True = Window Shows up, False = No enemy window.
- #
- #
- # BY DEFAULT, USE_GSWITCH is false.
- # So you are using a Script Switch
- #
- # II. ALWAYS_UPDATE
- # can either be set to true or false.
- # if true, the enemy window always update for every action
- # but the battle system will have more lag.
- # if false, the enemy window only updates at the end of each turn
- # and everytime the battle selection begins.
- # Setting it to false will lower compatibility but should still work
- # for most systems regardless.
- #
- # III. Spacing X and Y change
- # SPACING_X = Changing this number will change the X spacing of the windows
- # SPACING_Y = Changing this number will change the Y spacing of the windows
- # IV. COLUMNS
- # COLUMNS = Draw enemy information by creating 4 columns.
- # V. SHOW_STATES
- # if set to true, enemies state will be shown.
- #======================================================================
- 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
复制代码 |
评分
-
查看全部评分
|