赞 | 2 |
VIP | 0 |
好人卡 | 0 |
积分 | 5 |
经验 | 270 |
最后登录 | 2020-7-16 |
在线时间 | 33 小时 |
Lv2.观梦者
- 梦石
- 0
- 星屑
- 453
- 在线时间
- 33 小时
- 注册时间
- 2017-10-4
- 帖子
- 38
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 melatin 于 2018-12-28 22:35 编辑
使用脚本如下,之前使用都没有问题,也不知道动了什么一进战斗287行就报错RGSS ERROR disposed bitmap。
但诡异的是这个错只会在新开游戏时报一次,读一个战斗前的存档再打这个战斗就完全正常了……
这场战斗单独拿出来放到其他地方新开游戏打也没任何问题,就是在特定的地方才会报这个错,但是这里与其他地方的区别只有有几句剧情对话而已……
- #==============================================================================
- # +++ MOG - BossHP条 (V1.5) +++
- #==============================================================================
- # By Moghunter
- # https://atelierrgss.wordpress.com/
- #==============================================================================
- # 专门为Boss设置的大型HP条.
- #
- #==============================================================================
- # 使用方法
- #==============================================================================
- # 敌人备注:
- #
- # <Boss HP Meter>
- #
- # 隐藏HP数字的备注.
- #
- # <Boss HP Hide Number>
- #
- #==============================================================================
- # 使用脚本来改变BossHp条的位置
- #
- # boss_hp_position(X,Y)
- #
- #==============================================================================
- # 需要图片
- #
- # Battle_Boss_Meter.png
- # Battle_Boss_Meter_Layout.png
- #==============================================================================
- # 脸图 (可选)
- #==============================================================================
- # 在HP条上显示Boss的脸图,图片放在: Graphics/Faces/
- #
- # 敌人名 + _F.png (Slime_F.png)
- #
- # 或者
- #
- # BF_ + 敌人ID.png (BF_11.png)
- #
- #==============================================================================
- # 显示Boss等级 (可选)
- #==============================================================================
- # 显示Boss等级的备注:
- #
- # <Level = X>
- #
- # X为你需要显示的等级数
- #==============================================================================
- #==============================================================================
- # Histórico
- #==============================================================================
- # v1.5 - Definição do nome da face pelo ID do battler
- # v1.4 - Melhoria de compatibilidade de scripts.
- #==============================================================================
- $imported = {} if $imported.nil?
- $imported[:mog_blitz_commands] = true
- module MOG_BOSS_HP_METER
- #图片位置.
- LAYOUT_POSITION = [65,25]
- #Hp条位置.
- METER_POSITION = [3,3]
- #名称位置.
- NAME_POSITION = [45,8]
- #脸图位置.
- FACE_POSITION = [-80,-55]
- #等级位置.
- LEVEL_POSITION = [150, -24]#[290, 0]
- #Hp数字位置
- HP_NUMBER_POSITION = [230, 15]
- #Hp数字间距
- HP_STRING_SPACE = 36
- #是否显示Hp数字波动效果
- HP_NUMBER_WAVE_EFFECT = false
- #等级的文本
- LEVEL_WORD = "Lv. "
- #Hp条的动画速度
- METER_ANIMATION_SPEED = 0
- #字体大小.
- FONT_SIZE = 18
- #字体是否加粗.
- FONT_BOLD = false
- #字体是否斜体.
- FONT_ITALIC = false
- #字体颜色.
- FONT_COLOR = Color.new(255,255,255)
- #Hp条Z坐标.
- PRIORITY_Z = 70
- end
- #==============================================================================
- # ■ Game System
- #==============================================================================
- class Game_System
-
- attr_accessor :boss_hp_meter
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- alias mog_boss_hp_meter_initialize initialize
- def initialize
- ix = MOG_BOSS_HP_METER::LAYOUT_POSITION[0]
- iy = MOG_BOSS_HP_METER::LAYOUT_POSITION[1]
- @boss_hp_meter = [ix,iy,false,"",0,1,0,nil,0,false]
- mog_boss_hp_meter_initialize
- end
-
- end
- #==============================================================================
- # ■ Game Enemy
- #==============================================================================
- class Game_Enemy < Game_Battler
-
- attr_accessor :boss_hp_meter
- attr_accessor :boss_hp_number
- attr_accessor :level
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- alias mog_boss_hp_meter_initialize initialize
- def initialize(index, enemy_id)
- mog_boss_hp_meter_initialize(index, enemy_id)
- @boss_hp_meter = enemy.note =~ /<Boss HP Meter>/ ? true : false
- @boss_hp_number = enemy.note =~ /<Boss HP Hide Number>/ ? false : true
- @level = enemy.note =~ /<Level = (\d+)>/i ? $1 : nil
- end
- end
- #==============================================================================
- # ■ Game Temp
- #==============================================================================
- class Game_Temp
-
- attr_accessor :battle_end
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- alias mog_boss_hp_meter_initialize initialize
- def initialize
- @battle_end = false
- mog_boss_hp_meter_initialize
- end
- end
- #==============================================================================
- # ■ Game Interpreter
- #==============================================================================
- class Game_Interpreter
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- def boss_hp_position(x = 0,y = 0)
- $game_system.boss_hp_meter[0] = x
- $game_system.boss_hp_meter[1] = y
- end
-
- end
- #==============================================================================
- # ■ Game Temp
- #==============================================================================
- class Game_Temp
- attr_accessor :cache_boss_hp
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- alias mog_boss_hp_initialize initialize
- def initialize
- mog_boss_hp_initialize
- cache_bosshp
- end
-
- #--------------------------------------------------------------------------
- # ● Cache Bosshp
- #--------------------------------------------------------------------------
- def cache_bosshp
- @cache_boss_hp = []
- @cache_boss_hp.push(Cache.system("Battle_Boss_Meter_Layout"))
- @cache_boss_hp.push(Cache.system("Battle_Boss_Meter"))
- @cache_boss_hp.push(Cache.system("Battle_Boss_Number"))
- end
-
- end
- #==============================================================================
- # ■ Boss HP Meter
- #==============================================================================
- class Boss_HP_Meter
- include MOG_BOSS_HP_METER
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- def initialize(viewport = nil)
- clear_enemy_setup
- @hp_vieport = nil
- check_boss_avaliable
- end
-
- #--------------------------------------------------------------------------
- # ● Clear Enemy Setup
- #--------------------------------------------------------------------------
- def clear_enemy_setup
- @name = ""
- @hp = 0
- @hp2 = 0
- @hp3 = 0
- @maxhp = 0
- @hp_old = 0
- @level = nil
- $game_system.boss_hp_meter[2] = false
- $game_system.boss_hp_meter[3] = ""
- $game_system.boss_hp_meter[4] = 0
- $game_system.boss_hp_meter[5] = 1
- $game_system.boss_hp_meter[7] = nil
- $game_system.boss_hp_meter[8] = 0
- $game_system.boss_hp_meter[9] = true
- end
- #--------------------------------------------------------------------------
- # ● Check Boss Avaliable
- #--------------------------------------------------------------------------
- def check_boss_avaliable
- return if $game_troop.all_dead?
- for i in $game_troop.members
- if i.boss_hp_meter and !i.hidden? and i.hp > 0
- create_boss_hp_meter(i)
- break
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● Create Boss HP Meter
- #--------------------------------------------------------------------------
- def create_boss_hp_meter(i)
- $game_system.boss_hp_meter[2] = true
- $game_system.boss_hp_meter[3] = i.name
- $game_system.boss_hp_meter[4] = i.hp
- $game_system.boss_hp_meter[5] = i.mhp
- $game_system.boss_hp_meter[6] = i.hp
- $game_system.boss_hp_meter[7] = i.level rescue nil
- $game_system.boss_hp_meter[8] = 0
- $game_system.boss_hp_meter[9] = i.boss_hp_number
- $game_system.boss_hp_meter[10] = i.enemy_id
- refresh_hp_meter
- create_layout
- create_meter
- create_name
- create_face
- create_level
- create_hp_number
- end
-
- #--------------------------------------------------------------------------
- # ● Create Layout
- #--------------------------------------------------------------------------
- def create_layout
- return if @layout != nil
- @layout = Sprite.new
- @layout.bitmap = $game_temp.cache_boss_hp[0]
- @layout.x = $game_system.boss_hp_meter[0]
- @layout.y = $game_system.boss_hp_meter[1]
- @layout.viewport = @hp_vieport
- @layout.z = PRIORITY_Z
- end
-
- #--------------------------------------------------------------------------
- # ● Create Meter
- #--------------------------------------------------------------------------
- def create_meter
- return if @meter_image != nil
- hp_setup
- @meter_image = $game_temp.cache_boss_hp[1]
- @meter_cw = @meter_image.width / 3
- @meter_ch = @meter_image.height / 2
- @meter = Sprite.new
- @meter.bitmap = Bitmap.new(@meter_cw,@meter_ch)
- @meter.z = @layout.z + 1
- @meter.x = @layout.x + METER_POSITION[0]
- @meter.y = @layout.y + METER_POSITION[1]
- @meter.viewport = @hp_vieport
- @hp_flow = 0
- @hp_flow_max = @meter_cw * 2
- update_hp_meter
- end
- #--------------------------------------------------------------------------
- # ● Create Name
- #--------------------------------------------------------------------------
- def create_name
- @name_sprite = Sprite.new
- @name_sprite.bitmap = Bitmap.new(200,32)
- @name_sprite.z = @layout.z + 2
- @name_sprite.x = @layout.x + NAME_POSITION[0]
- @name_sprite.y = @layout.y + NAME_POSITION[1]
- @name_sprite.bitmap.font.size = FONT_SIZE
- @name_sprite.bitmap.font.bold = FONT_BOLD
- @name_sprite.bitmap.font.italic = FONT_ITALIC
- @name_sprite.bitmap.font.color = FONT_COLOR
- @name_sprite.viewport = @hp_vieport
- refresh_name
- end
-
- #--------------------------------------------------------------------------
- # ● Create Face
- #--------------------------------------------------------------------------
- def create_face
- @face_sprite = Sprite.new
- @face_sprite.x = @layout.x + FACE_POSITION[0]
- @face_sprite.y = @layout.y + FACE_POSITION[1]
- @face_sprite.z = @layout.z + 2
- @face_sprite.viewport = @hp_vieport
- refresh_face
- end
- #--------------------------------------------------------------------------
- # ● Create Level
- #--------------------------------------------------------------------------
- def create_level
- @level_sprite = Sprite.new
- @level_sprite.bitmap = Bitmap.new(120,32)
- @level_sprite.z = @layout.z + 2
- @level_sprite.x = @layout.x + LEVEL_POSITION[0]
- @level_sprite.y = @layout.y + LEVEL_POSITION[1]
- @level_sprite.bitmap.font.size = FONT_SIZE
- @level_sprite.bitmap.font.bold = FONT_BOLD
- @level_sprite.bitmap.font.italic = FONT_ITALIC
- @level_sprite.bitmap.font.color = FONT_COLOR
- @level_sprite.viewport = @hp_vieport
- refresh_level
- end
-
- #--------------------------------------------------------------------------
- # ● Create HP Number
- #--------------------------------------------------------------------------
- def create_hp_number
- @hp2 = $game_system.boss_hp_meter[4]
- @hp3 = @hp2
- @hp_old2 = @hp2
- @hp_ref = @hp_old2
- @hp_refresh = false
- @hp_number_image = $game_temp.cache_boss_hp[2]
- @hp_cw = @hp_number_image.width / 10
- @hp_ch = @hp_number_image.height / 2
- @hp_ch2 = 0
- @hp_ch_range = HP_NUMBER_WAVE_EFFECT == true ? @hp_ch / 3 : 0
- @hp_number_sprite = Sprite.new
- @hp_number_sprite.bitmap = Bitmap.new(@hp_number_image.width, @hp_ch * 2)
- @hp_number_sprite.z = @layout.z + 2
- @hp_number_sprite.x = @layout.x + HP_NUMBER_POSITION[0]
- @hp_number_sprite.y = @layout.y + HP_NUMBER_POSITION[1]
- @hp_number_sprite.viewport = @hp_vieport
- @hp_number_sprite.visible = $game_system.boss_hp_meter[9]
- refresh_hp_number
- end
-
- #--------------------------------------------------------------------------
- # ● update_hp_number
- #--------------------------------------------------------------------------
- def update_hp_number
- return if @hp_number_sprite == nil
- @hp_number_sprite.visible = $game_system.boss_hp_meter[9]
- if @hp_old2 < $game_system.boss_hp_meter[4]
- number_refresh_speed
- @hp2 += @hp_ref
- reset_hp_number if @hp2 >= $game_system.boss_hp_meter[4]
- elsif @hp_old2 > $game_system.boss_hp_meter[4]
- number_refresh_speed
- @hp2 -= @hp_ref
- reset_hp_number if @hp2 <= $game_system.boss_hp_meter[4]
- end
- end
-
- #--------------------------------------------------------------------------
- # ● Number Refresh Speed
- #--------------------------------------------------------------------------
- def number_refresh_speed
- @hp_refresh = true
- @hp_ref = (3 * (@hp_old2 - $game_system.boss_hp_meter[4]).abs / 100) rescue nil
- @hp_ref = 1 if @hp_ref == nil or @hp_ref < 1
- end
-
- #--------------------------------------------------------------------------
- # ● Refresh HP Number
- #--------------------------------------------------------------------------
- def refresh_hp_number
- return if @hp_number_sprite == nil
- @hp_refresh = false
- @hp_number_sprite.bitmap.clear
- number = @hp2.abs.to_s.split(//)
- @hp_ch2 = 0
- for r in 0..number.size - 1
- number_abs = number[r].to_i
- nsrc_rect = Rect.new(@hp_cw * number_abs, 0, @hp_cw, @hp_ch)
- @hp_ch2 = @hp_ch2 == @hp_ch_range ? 0 : @hp_ch_range
- @hp_number_sprite.bitmap.blt(HP_STRING_SPACE + (@hp_cw * r), @hp_ch2, @hp_number_image, nsrc_rect)
- end
- nsrc_rect = Rect.new(0, @hp_ch, @hp_number_image.width, @hp_ch)
- @hp_number_sprite.bitmap.blt(0, 0, @hp_number_image, nsrc_rect)
- end
-
- #--------------------------------------------------------------------------
- # ● Reset HP Number
- #--------------------------------------------------------------------------
- def reset_hp_number
- @hp_refresh = true
- @hp_old2 = $game_system.boss_hp_meter[4]
- @hp2 = $game_system.boss_hp_meter[4]
- @hp_ref = 0
- refresh_hp_number
- end
-
- #--------------------------------------------------------------------------
- # ● Refresh Level
- #--------------------------------------------------------------------------
- def refresh_level
- return if @level_sprite == nil
- @level_sprite.bitmap.clear
- @level = $game_system.boss_hp_meter[7]
- return if @level == nil
- level_text = LEVEL_WORD + @level.to_s
- @level_sprite.bitmap.draw_text(0,0,120,32,level_text.to_s)
- end
-
- #--------------------------------------------------------------------------
- # ● Refresh Face
- #--------------------------------------------------------------------------
- def refresh_face
- return if @face_sprite == nil
- dispose_bitmap_face
- @face_sprite.bitmap = Cache.face(@name + "_f") rescue nil
- @face_sprite.bitmap = Cache.face("BF_" + $game_system.boss_hp_meter[10].to_s) rescue nil if @face_sprite.bitmap == nil
- @face_sprite.bitmap = Cache.face("") if @face_sprite.bitmap == nil
- end
-
- #--------------------------------------------------------------------------
- # ● Refresh Name
- #--------------------------------------------------------------------------
- def refresh_name
- return if @name_sprite == nil
- @name = $game_system.boss_hp_meter[3]
- @name_sprite.bitmap.clear
- @name_sprite.bitmap.draw_text(0,0,190,32,@name.to_s)
- refresh_face
- refresh_level
- reset_hp_number
- @hp_old = @meter_cw * @hp / @maxhp
- end
-
- #--------------------------------------------------------------------------
- # ● HP Setup
- #--------------------------------------------------------------------------
- def hp_setup
- @hp = $game_system.boss_hp_meter[4]
- @maxhp = $game_system.boss_hp_meter[5]
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose
- #--------------------------------------------------------------------------
- def dispose
- dispose_layout
- dispose_meter
- dispose_name
- dispose_face
- dispose_level
- dispose_hp_number
- end
- #--------------------------------------------------------------------------
- # ● Dispose Name
- #--------------------------------------------------------------------------
- def dispose_name
- return if @name_sprite == nil
- @name_sprite.bitmap.dispose
- @name_sprite.dispose
- @name_sprite = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose Layout
- #--------------------------------------------------------------------------
- def dispose_layout
- return if @layout == nil
- @layout.dispose
- @layout = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose Meter
- #--------------------------------------------------------------------------
- def dispose_meter
- return if @meter == nil
- @meter.bitmap.dispose
- @meter.dispose
- @meter = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose Face
- #--------------------------------------------------------------------------
- def dispose_face
- return if @face_sprite == nil
- dispose_bitmap_face
- @face_sprite.dispose
- @face_sprite = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose Bitmap Face
- #--------------------------------------------------------------------------
- def dispose_bitmap_face
- return if @face_sprite == nil
- return if @face_sprite.bitmap == nil
- @face_sprite.bitmap.dispose rescue nil
- @face_sprite.bitmap = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose Level
- #--------------------------------------------------------------------------
- def dispose_level
- return if @level_sprite == nil
- @level_sprite.bitmap.dispose
- @level_sprite.dispose
- @level_sprite = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose HP Number
- #--------------------------------------------------------------------------
- def dispose_hp_number
- return if @hp_number_sprite == nil
- @hp_number_sprite.bitmap.dispose
- @hp_number_sprite.dispose
- end
-
- #--------------------------------------------------------------------------
- # ● Update
- #--------------------------------------------------------------------------
- def update
- refresh_hp_meter
- refresh_hp_number if @hp_refresh
- update_hp_meter
- update_hp_number
- update_fade_end
- update_visible
- end
-
- #--------------------------------------------------------------------------
- # ● Update Visible
- #--------------------------------------------------------------------------
- def update_visible
- return if @meter_image == nil
- vis = bhp_visible?
- @layout.visible = vis
- @meter.visible = vis
- @name_sprite.visible = vis
- @face_sprite.visible = vis
- @level_sprite.visible = vis
- @hp_number_sprite.visible = vis
- end
-
- #--------------------------------------------------------------------------
- # ● Bhp Visible?
- #--------------------------------------------------------------------------
- def bhp_visible?
- return false if $game_message.visible
- return true
- end
-
- #--------------------------------------------------------------------------
- # ● Update Fade End
- #--------------------------------------------------------------------------
- def update_fade_end
- return if !$game_temp.battle_end
- return if @meter_image == nil
- @layout.opacity -= 5
- @meter.opacity -= 5
- @name_sprite.opacity -= 5
- @face_sprite.opacity -= 5
- @level_sprite.opacity -= 5
- @hp_number_sprite.opacity -= 5
- end
-
- #--------------------------------------------------------------------------
- # ● Refresh HP Meter
- #--------------------------------------------------------------------------
- def refresh_hp_meter
- return if !$game_system.boss_hp_meter[2]
- $game_system.boss_hp_meter[2] = false
- hp_setup
- refresh_name if @name != $game_system.boss_hp_meter[3]
- end
-
- #--------------------------------------------------------------------------
- # ● Update HP Meter
- #--------------------------------------------------------------------------
- def update_hp_meter
- return if @meter_image == nil
- @meter.bitmap.clear
- hp_width = @meter_cw * @hp / @maxhp
- execute_damage_flow(hp_width)
- hp_src_rect = Rect.new(@hp_flow, 0,hp_width, @meter_ch)
- @meter.bitmap.blt(0,0, @meter_image, hp_src_rect)
- @hp_flow += METER_ANIMATION_SPEED
- @hp_flow = 0 if @hp_flow >= @hp_flow_max
- end
-
- #--------------------------------------------------------------------------
- # ● Execute Damage Flow
- #--------------------------------------------------------------------------
- def execute_damage_flow(hp_width)
- return if @hp_old == hp_width
- n = (@hp_old - hp_width).abs * 3 / 100
- damage_flow = [[n, 2].min,0.5].max
- @hp_old -= damage_flow
- @hp_old = hp_width if @hp_old <= hp_width
- src_rect_old = Rect.new(0,@meter_ch, @hp_old, @meter_ch)
- @meter.bitmap.blt(0,0, @meter_image, src_rect_old)
- end
-
- end
- #==============================================================================
- # ■ Spriteset Battle
- #==============================================================================
- class Spriteset_Battle
-
- #--------------------------------------------------------------------------
- # ● Initialize
- #--------------------------------------------------------------------------
- alias mog_enemy_bhp_initialize initialize
- def initialize
- mog_enemy_bhp_initialize
- create_boss_hp_meter
- end
-
- #--------------------------------------------------------------------------
- # ● Create Boss HP Meter
- #--------------------------------------------------------------------------
- def create_boss_hp_meter
- @boss_hp_meter = Boss_HP_Meter.new(@viewport1)
- end
-
- #--------------------------------------------------------------------------
- # ● Dispose
- #--------------------------------------------------------------------------
- alias mog_enemy_bhp_dispose dispose
- def dispose
- dispose_boss_hp_meter
- mog_enemy_bhp_dispose
- end
- #--------------------------------------------------------------------------
- # ● Dispose Boss HP Meter
- #--------------------------------------------------------------------------
- def dispose_boss_hp_meter
- return if @boss_hp_meter == nil
- @boss_hp_meter.dispose
- @boss_hp_meter = nil
- end
-
- #--------------------------------------------------------------------------
- # ● Update
- #--------------------------------------------------------------------------
- alias mog_enemy_bhp_update update
- def update
- mog_enemy_bhp_update
- update_boss_hp_meter
- end
-
- #--------------------------------------------------------------------------
- # ● Update Boss HP Meter
- #--------------------------------------------------------------------------
- def update_boss_hp_meter
- return if @boss_hp_meter == nil
- @boss_hp_meter.update
- end
-
- end
- #==============================================================================
- # ■ Game_Battler
- #==============================================================================
- class Game_Battler < Game_BattlerBase
-
- #--------------------------------------------------------------------------
- # ● Item Apply
- #--------------------------------------------------------------------------
- alias mog_boss_hp_item_apply item_apply
- def item_apply(user, item)
- check_boss_hp_before
- mog_boss_hp_item_apply(user, item)
- check_boss_hp_after
- end
-
- #--------------------------------------------------------------------------
- # ● Regenerate HP
- #--------------------------------------------------------------------------
- alias mog_boss_hp_regenerate_hp regenerate_hp
- def regenerate_hp
- check_boss_hp_before
- mog_boss_hp_regenerate_hp
- check_boss_hp_after
- end
-
- #--------------------------------------------------------------------------
- # ● Check Boss HP Before
- #--------------------------------------------------------------------------
- def check_boss_hp_before
- return if self.is_a?(Game_Actor)
- return if !self.boss_hp_meter
- $game_system.boss_hp_meter[6] = self.hp
- end
-
- #--------------------------------------------------------------------------
- # ● Check Boss HP After
- #--------------------------------------------------------------------------
- def check_boss_hp_after
- return if self.is_a?(Game_Actor)
- return if !self.boss_hp_meter
- $game_system.boss_hp_meter[2] = true
- $game_system.boss_hp_meter[3] = self.name
- $game_system.boss_hp_meter[4] = self.hp
- $game_system.boss_hp_meter[5] = self.mhp
- $game_system.boss_hp_meter[7] = self.level rescue nil
- $game_system.boss_hp_meter[9] = self.boss_hp_number
- end
-
- end
- #==============================================================================
- # ■ Game_Interpreter
- #==============================================================================
- class Game_Interpreter
- #--------------------------------------------------------------------------
- # ● Check Boss Meter
- #--------------------------------------------------------------------------
- def check_boss_meter
- return if !SceneManager.scene_is?(Scene_Battle)
- iterate_enemy_index(@params[0]) do |enemy|
- if enemy.boss_hp_meter
- $game_system.boss_hp_meter[2] = true
- $game_system.boss_hp_meter[3] = enemy.name
- $game_system.boss_hp_meter[4] = enemy.hp
- $game_system.boss_hp_meter[5] = enemy.mhp
- $game_system.boss_hp_meter[6] = enemy.hp
- $game_system.boss_hp_meter[7] = enemy.level rescue nil
- $game_system.boss_hp_meter[9] = enemy.boss_hp_number
- end
- end
- end
- #--------------------------------------------------------------------------
- # ● Command 331
- #--------------------------------------------------------------------------
- alias mog_boss_meter_command_331 command_331
- def command_331
- mog_boss_meter_command_331
- check_boss_meter
- end
-
- #--------------------------------------------------------------------------
- # ● Command 334
- #--------------------------------------------------------------------------
- alias mog_boss_meter_command_334 command_334
- def command_334
- mog_boss_meter_command_334
- check_boss_meter
- end
-
- end
- #==============================================================================
- # ■ BattleManager
- #==============================================================================
- class << BattleManager
-
- #--------------------------------------------------------------------------
- # ● Init Members
- #--------------------------------------------------------------------------
- alias mog_boss_meter_init_members init_members
- def init_members
- $game_temp.battle_end = false
- mog_boss_meter_init_members
- end
-
- #--------------------------------------------------------------------------
- # ● Process Victory
- #--------------------------------------------------------------------------
- alias mog_boss_meter_process_victory process_victory
- def process_victory
- $game_temp.battle_end = true
- mog_boss_meter_process_victory
- end
-
- #--------------------------------------------------------------------------
- # ● Process Abort
- #--------------------------------------------------------------------------
- alias mog_boss_meter_process_abort process_abort
- def process_abort
- $game_temp.battle_end = true
- mog_boss_meter_process_abort
- end
- #--------------------------------------------------------------------------
- # ● Process Defeat
- #--------------------------------------------------------------------------
- alias mog_boss_meter_process_defeat process_defeat
- def process_defeat
- $game_temp.battle_end = true
- mog_boss_meter_process_defeat
- end
-
- end
复制代码
|
|