class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# ● 参数设置 正太君改
#--------------------------------------------------------------------------
# 设置图片文件名.不想要底图就让底图完全透明或设置为 ""
# 图片放在 Graphics/Pictures/ 文件夹下
#--------------我方————————
HPBarFileName = "蓝条"
HPBarBackFileName = "HPBarBack"
HPBarFile1Name = "蓝条"
HPBarBackFile1Name = "HPBarBack"
HPBarFile2Name = "蓝条"
HPBarBackFile2Name = "HPBarBack"
HPBarFile3Name = "蓝条"
HPBarBackFile3Name = "HPBarBack"
HPBarFile4Name = "蓝条"
HPBarBackFile4Name = "HPBarBack"
#--------------敌方--------------
DHPBarFileName = "红条"
DHPBarBackFileName = "HPBarBack"
DHPBarFile1Name = "红条"
DHPBarBackFile1Name = "HPBarBack"
DHPBarFile2Name = "红条"
DHPBarBackFile2Name = "HPBarBack"
DHPBarFile3Name = "红条"
DHPBarBackFile3Name = "HPBarBack"
DHPBarFile4Name = "红条"
DHPBarBackFile4Name = "HPBarBack"
#--------------MP值--------------
MPBarFileName = "MPBar"
MPBarBackFileName = "MPBarBack"
# 设置显示友军血条的开关号
#TeamHPBarSwitchID = 5
# 设置显示敌军血条的开关号
#EnemyHPBarSwitchID = 6
# 设置显示血条的开关号
HPBarSwitchID = 5
#禁止显示血条 开关
HPBarDOESNOTSwitchID = 6
# 被攻击后血条显示多久
HPbarTimeDisplay = 60
#--------------------------------------------------------------------------
# ● 初始化对像
#--------------------------------------------------------------------------
#别名hzhj旧初始化使事件参数栏初始化
alias hzhj_old_init_make_event_param_bar initialize
def initialize(*args)#定义初始化(*参数)
#-----------------------我方hp精灵-----------------------
#队伍1
@team_group1hp_sprite = Sprite.new(args[0])
@team_group1hp_back_sprite = Sprite.new(args[0])
#队伍2
@team_group2hp_sprite = Sprite.new(args[0])
@team_group2hp_back_sprite = Sprite.new(args[0])
#队伍3
@team_group3hp_sprite = Sprite.new(args[0])
@team_group3hp_back_sprite = Sprite.new(args[0])
#队伍4
@team_group4hp_sprite = Sprite.new(args[0])
@team_group4hp_back_sprite = Sprite.new(args[0])
#队伍5
@team_group5hp_sprite = Sprite.new(args[0])
@team_group5hp_back_sprite = Sprite.new(args[0])
#-----------------------敌方hp精灵------------------------
#队伍1
@enermy_group1hp_sprite = Sprite.new(args[0])
@enermy_group1hp_back_sprite = Sprite.new(args[0])
#队伍2
@enermy_group2hp_sprite = Sprite.new(args[0])
@enermy_group2hp_back_sprite = Sprite.new(args[0])
#队伍3
@enermy_group3hp_sprite = Sprite.new(args[0])
@enermy_group3hp_back_sprite = Sprite.new(args[0])
#队伍4
@enermy_group4hp_sprite = Sprite.new(args[0])
@enermy_group4hp_back_sprite = Sprite.new(args[0])
#队伍5
@enermy_group5hp_sprite = Sprite.new(args[0])
@enermy_group5hp_back_sprite = Sprite.new(args[0])
@mp_sprite = Sprite.new(args[0])
@mp_back_sprite = Sprite.new(args[0])
#----------------------- 参数精灵---------------------
@param_sprites = []#@参数精灵=[]
#------------------------我方参数精灵---------------------
#队伍1
@param_sprites << @team_group1hp_sprite#
@param_sprites << @team_group1hp_back_sprite#
#队伍2
@param_sprites << @team_group2hp_sprite#
@param_sprites << @team_group2hp_back_sprite#
#队伍3
@param_sprites << @team_group3hp_sprite#
@param_sprites << @team_group3hp_back_sprite#
#队伍4
@param_sprites << @team_group4hp_sprite#
@param_sprites << @team_group4hp_back_sprite#
#队伍5
@param_sprites << @team_group5hp_sprite#
@param_sprites << @team_group5hp_back_sprite#
#------------------------敌方参数精灵---------------------
#队伍1
@param_sprites << @enermy_group1hp_sprite#
@param_sprites << @enermy_group1hp_back_sprite#
#队伍2
@param_sprites << @enermy_group2hp_sprite#
@param_sprites << @enermy_group2hp_back_sprite#
#队伍3
@param_sprites << @enermy_group3hp_sprite#
@param_sprites << @enermy_group3hp_back_sprite#
#队伍4
@param_sprites << @enermy_group4hp_sprite#
@param_sprites << @enermy_group4hp_back_sprite#
#队伍5
@param_sprites << @enermy_group5hp_sprite#
@param_sprites << @enermy_group5hp_back_sprite#
@param_sprites << @mp_sprite
@param_sprites << @mp_back_sprite
#------------------------我方精灵位图-----------------------
#队伍1
@team_group1hp_sprite.bitmap = RPG::Cache.picture(HPBarFileName)
@team_group1hp_back_sprite.bitmap = RPG::Cache.picture(HPBarBackFileName)#黑色
#队伍2
@team_group2hp_sprite.bitmap = RPG::Cache.picture(HPBarFile1Name)
@team_group2hp_back_sprite.bitmap = RPG::Cache.picture(HPBarBackFile1Name)
#队伍3
@team_group3hp_sprite.bitmap = RPG::Cache.picture(HPBarFile2Name)
@team_group3hp_back_sprite.bitmap = RPG::Cache.picture(HPBarBackFile2Name)
#队伍4
@team_group4hp_sprite.bitmap = RPG::Cache.picture(HPBarFile3Name)
@team_group4hp_back_sprite.bitmap = RPG::Cache.picture(HPBarBackFile3Name)
#队伍5
@team_group5hp_sprite.bitmap = RPG::Cache.picture(HPBarFile4Name)
@team_group5hp_back_sprite.bitmap = RPG::Cache.picture(HPBarBackFile4Name)
#------------------------敌方精灵位图-----------------------
#队伍1
@enermy_group1hp_sprite.bitmap = RPG::Cache.picture(DHPBarFileName)
@enermy_group1hp_back_sprite.bitmap = RPG::Cache.picture(DHPBarBackFileName)#黑色
#队伍2
@enermy_group2hp_sprite.bitmap = RPG::Cache.picture(DHPBarFile1Name)
@enermy_group2hp_back_sprite.bitmap = RPG::Cache.picture(DHPBarBackFile1Name)
#队伍3
@enermy_group3hp_sprite.bitmap = RPG::Cache.picture(DHPBarFile2Name)
@enermy_group3hp_back_sprite.bitmap = RPG::Cache.picture(DHPBarBackFile2Name)
#队伍4
@enermy_group4hp_sprite.bitmap = RPG::Cache.picture(DHPBarFile3Name)
@enermy_group4hp_back_sprite.bitmap = RPG::Cache.picture(DHPBarBackFile3Name)
#队伍5
@enermy_group5hp_sprite.bitmap = RPG::Cache.picture(HPBarFile4Name)
@enermy_group5hp_back_sprite.bitmap = RPG::Cache.picture(DHPBarBackFile4Name)
@mp_sprite.bitmap = RPG::Cache.picture(MPBarFileName)
@mp_back_sprite.bitmap = RPG::Cache.picture(MPBarBackFileName
#别名hzhj旧初始化使事件参数栏(*参数)
hzhj_old_init_make_event_param_bar(*args)#
end
#--------------------------------------------------------------------------
# ● 释放
#--------------------------------------------------------------------------
#别名hzhj旧的布置使事件参数栏布置除非$@
alias hzhj_old_dispose_make_event_param_bar dispose unless $@
def dispose#定义可用
#@参数精灵。每个{|精灵|精灵.释放}
@param_sprites.each{|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite.dispose}
#hzhj旧的布置生成事件参数栏
hzhj_old_dispose_make_event_param_bar
end
#--------------------------------------------------------------------------
# ● 获取事件 HP # 正太君改
#--------------------------------------------------------------------------
def event_hp#定义事件hp
return 0 if @character.nil?#如果@角色,则返回0。无
return @character.hp#返回角色HP
end
#--------------------------------------------------------------------------
# ● 获取事件 MHP # 正太君改
#--------------------------------------------------------------------------
def event_mhp#定义事件MHP
return 0 if @character.nil?#如果@角色,则返回0。无
return @character.hp_max#返回角色HP最大值
end
#--------------------------------------------------------------------------
# ● 获取事件 MP # 正太君改
#--------------------------------------------------------------------------
def event_mp
return 0 if @character.nil?
return @character.sp if @character.is_a?(EFS_Hero)
return @character.ammo
#return @character.get_group.morale
end
#--------------------------------------------------------------------------
# ● 获取事件 MMP # 正太君改
#--------------------------------------------------------------------------
def event_mmp
return 0 if @character.nil?
return @character.sp_max if @character.is_a?(EFS_Hero)
return @character.ammo_max
#return 100
end
#------------------------我方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进攻者队伍1 HP 条
#--------------------------------------------------------------------------
def show_hp_bar1?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
# cp = $scene.enermy_groups[@character.group[0]-1].captain
cp = $scene.team_groups[@character.group[0]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#--------------------------------------------------------------------------
# ● 判断是否显示进攻者队伍2 HP 条
#--------------------------------------------------------------------------
def show_hp_bar2?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
# cp = $scene.enermy_groups[@character.group[0]-1].captain
cp = $scene.team_groups[@character.group[1]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#--------------------------------------------------------------------------
# ● 判断是否显示进攻者队伍3 HP 条
#--------------------------------------------------------------------------
def show_hp_bar3?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
# cp = $scene.enermy_groups[@character.group[0]-1].captain
cp = $scene.team_groups[@character.group[2]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#--------------------------------------------------------------------------
# ● 判断是否显示进攻者队伍4 HP 条
#--------------------------------------------------------------------------
def show_hp_bar4?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
# cp = $scene.enermy_groups[@character.group[0]-1].captain
cp = $scene.team_groups[@character.group[3]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#--------------------------------------------------------------------------
# ● 判断是否显示进攻者队伍5 HP 条
#--------------------------------------------------------------------------
def show_hp_bar5?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
# cp = $scene.enermy_groups[@character.group[0]-1].captain
cp = $scene.team_groups[@character.group[4]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#------------------------敌方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进防守队伍1 HP 条
#--------------------------------------------------------------------------
def show_hp_bar6?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
cp = $scene.enermy_groups[@character.group[0]-1].captain
# cp = $scene.team_groups[@character.group[4]-1].captain
if cp == @character
# p @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#------------------------敌方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进防守队伍2 HP 条
#--------------------------------------------------------------------------
def show_hp_bar7?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
cp = $scene.enermy_groups[@character.group[1]-1].captain
if cp == @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#------------------------敌方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进防守队伍3 HP 条
#--------------------------------------------------------------------------
def show_hp_bar8?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
cp = $scene.enermy_groups[@character.group[2]-1].captain
if cp == @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#------------------------敌方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进防守队伍4 HP 条
#--------------------------------------------------------------------------
def show_hp_bar9?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
cp = $scene.enermy_groups[@character.group[3]-1].captain
if cp == @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#------------------------敌方队伍定位-------------------------
#--------------------------------------------------------------------------
# ● 判断是否显示进防守队伍5 HP 条
#--------------------------------------------------------------------------
def show_hp_bar10?#是否显示hp栏?
#return false if @character.is_a?(EFS_Hero)
# 如果$场景,则返回假的。efs故事模式
return false if $scene.efs_story_mode
#如果事件hp>0&&@角色已删除 &&表示与,意为同时都要满足。&&逻辑运算符,并且是双目运算符
return false if $scene.group_lisenter == nil
#挑选选着=$场景。小组成员。包括?(@角色队组)
selected = $scene.group_lisenter.include?(@character.group)
cp = $scene.enermy_groups[@character.group[4]-1].captain
if cp == @character
#返回$游戏开关[HPBarSwitchID]||@角色.hp计数器>0
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else #否则
return false#返回假的
end
end
#--------------------------------------------------------------------------
# ● 判断是否显示 MP 条
#--------------------------------------------------------------------------
def show_mp_bar?
#return false if @character.is_a?(EFS_Hero)
return false if $scene.efs_story_mode
if event_mmp > 0 && !@character.removed
return $game_switches[HPBarSwitchID] || @character.hp_counter > 0 #) && ! $game_switches[HPBarDOESNOTSwitchID]
else
return false
end
end
#----
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
#别名hzhj旧更新使事件参数栏更新
alias hzhj_old_update_make_event_param_bar update
def update #定义更新
#hzhj旧更新生成事件参数栏
hzhj_old_update_make_event_param_bar
#如果@角色.是_a?(EFS_战斗者)
# @参数精灵。每个{|精灵|精灵.可见=假的}
@param_sprites.each{|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite.dispose = false}
# else
#--------------------------------我方血条刷新-------------------------
# 队伍1
if show_hp_bar1? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@team_group1hp_sprite.visible = @team_group1hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@team_group1hp_sprite.bitmap = RPG::Cache.picture("蓝条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x=115
sprite.x = 0+x #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@team_group1hp_sprite.z += 999#hp_精灵.z = z
@mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@team_group1hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @team_group1hp_sprite.bitmap.width].min, 0].max
hph = @team_group1hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@team_group1hp_sprite.src_rect.set(0, 0, hpw, hph)
# end
# end
#-----------------------------------# 队伍2--------------------------------
if show_hp_bar2? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@team_group2hp_sprite.visible = @team_group2hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@team_group2hp_sprite.bitmap = RPG::Cache.picture("蓝条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x=115
sprite.x = 0+x+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@team_group2hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@team_group2hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @team_group2hp_sprite.bitmap.width].min, 0].max
hph = @team_group2hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@team_group2hp_sprite.src_rect.set(0, 0, hpw, hph)
# end
# end
#----------------------------------- 队伍3-------------------------------
if show_hp_bar3? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@team_group3hp_sprite.visible = @team_group3hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@team_group3hp_sprite.bitmap = RPG::Cache.picture("蓝条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x=115
sprite.x = 0+x+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@team_group3hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@team_group3hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @team_group3hp_sprite.bitmap.width].min, 0].max
hph = @team_group3hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@team_group3hp_sprite.src_rect.set(0, 0, hpw, hph)
# end
# end
#------------------------------ 队伍4---------------------------------
if show_hp_bar4? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@team_group4hp_sprite.visible = @team_group4hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@team_group4hp_sprite.bitmap = RPG::Cache.picture("蓝条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x=115
sprite.x = 0+x+87+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@team_group4hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@team_group4hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @team_group4hp_sprite.bitmap.width].min, 0].max
hph = @team_group4hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@team_group4hp_sprite.src_rect.set(0, 0, hpw, hph)
# end
# end
# ----------------------------------队伍5--------------------------
if show_hp_bar5? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@team_group5hp_sprite.visible = @team_group5hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@team_group5hp_sprite.bitmap = RPG::Cache.picture("蓝条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x=115
sprite.x = 0+x+87+87+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@team_group5hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@team_group5hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @team_group5hp_sprite.bitmap.width].min, 0].max
hph = @team_group5hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@team_group5hp_sprite.src_rect.set(0, 0, hpw, hph)
#------------------------敌方精灵刷新-----------------------------------
# 队伍1
if show_hp_bar6? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@enermy_group1hp_sprite.visible = @enermy_group1hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@enermy_group1hp_sprite.bitmap = RPG::Cache.picture("红条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x1=687
sprite.x = 0+x1 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@enermy_group1hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@enermy_group1hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @enermy_group1hp_sprite.bitmap.width].min, 0].max
hph = @enermy_group1hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@enermy_group1hp_sprite.src_rect.set(0, 0, hpw, hph)
# 队伍2
if show_hp_bar7? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@enermy_group2hp_sprite.visible = @enermy_group2hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@enermy_group2hp_sprite.bitmap = RPG::Cache.picture("红条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x1=687
sprite.x = 0+x1+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@enermy_group2hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@enermy_group2hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @enermy_group2hp_sprite.bitmap.width].min, 0].max
hph = @enermy_group2hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@enermy_group2hp_sprite.src_rect.set(0, 0, hpw, hph)
# 队伍3
if show_hp_bar8? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@enermy_group3hp_sprite.visible = @enermy_group3hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@enermy_group3hp_sprite.bitmap = RPG::Cache.picture("红条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x1=687
sprite.x = 0+x1+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@enermy_group3hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@enermy_group3hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @enermy_group3hp_sprite.bitmap.width].min, 0].max
hph = @enermy_group3hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@enermy_group3hp_sprite.src_rect.set(0, 0, hpw, hph)
# 队伍4
if show_hp_bar9? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@enermy_group4hp_sprite.visible = @enermy_group4hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@enermy_group4hp_sprite.bitmap = RPG::Cache.picture("红条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x1=687
sprite.x = 0+x1+87+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@enermy_group4hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@enermy_group4hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @enermy_group4hp_sprite.bitmap.width].min, 0].max
hph = @enermy_group4hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@enermy_group4hp_sprite.src_rect.set(0, 0, hpw, hph)
# 队伍5
if show_hp_bar10? #如果显示hp栏?
#@hp精灵。可见=@hp后台精灵可见=真
@enermy_group5hp_sprite.visible = @enermy_group5hp_back_sprite.visible = true
# @hp精灵。bitmap=角色扮演::缓存图片(“HPBar-E”)如果@角色。团队!=1.
@enermy_group5hp_sprite.bitmap = RPG::Cache.picture("红条") if @character.team != 1 #wtf you doing
unless $game_switches[HPBarSwitchID]
#如果@角色。hp计数器==hp条形时间显示
if @character.hp_counter == HPbarTimeDisplay
@param_sprites.each do |sprite| #@参数精灵。每个做|精灵|
sprite.opacity = 255 #精灵不透明度=255
end
#els if@字符。hp计数器< HPbarTimeDisplay /3
elsif @character.hp_counter < HPbarTimeDisplay/3
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
##精灵不透明度-=255/(HPbarTimeDisplay/3)
sprite.opacity -= 255/(HPbarTimeDisplay/3)
end
end
#@性格。hp计数器-=1
@character.hp_counter -= 1
else#否则
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.opacity = 255#精灵不透明度=255
end
end
# 刷新坐标
@param_sprites.each do |sprite|#@参数精灵。每个做|精灵|
sprite.ox = sprite.bitmap.width / 2#精灵ox=精灵位图宽度/2
sprite.oy = sprite.bitmap.height#精灵.oy=精灵。位图高度
x1=687
sprite.x = 0+x1+87+87+87+87 #x#+a#[0]
sprite.y =580#精灵.y=y-(盖印图层?82:52)
sprite.z = z#精灵.z = z
end
# @hp_sprite.x += 87
@enermy_group5hp_sprite.z += 999#hp_精灵.z = z
# @mp_sprite.z += 1
# 计算 HP 显示区域
#hp宽=(@hp 精灵.位图.宽*1.0*事件hp/事件mhp)。圆形的
hpw = (@enermy_group5hp_sprite.bitmap.width * 1.0 * event_hp / event_mhp).round
# hp宽=[hp宽,@hp精灵位图宽度].最小值,0].最大值
hpw = [[hpw, @enermy_group4hp_sprite.bitmap.width].min, 0].max
hph = @enermy_group5hp_sprite.bitmap.height#hp高=@hp精灵位图高度
#@hp精灵。src矩形。集合(0,0,hp宽,hp高)
@enermy_group5hp_sprite.src_rect.set(0, 0, hpw, hph)
# end
# 刷新 MP 可见状态
@mp_sprite.visible = @mp_back_sprite.visible = (show_mp_bar? and event_mmp > 0) # 正太君改
if show_mp_bar?
# 修正 HP 坐标
@hp_sprite.y -= (@mp_sprite.oy + 1)
@hp_back_sprite.y = @hp_sprite.y
# 计算 MP 显示区域
if event_mmp > 0 # 正太君改
mpw = (@mp_sprite.bitmap.width * 1.0 * event_mp / event_mmp).round
mpw = [[mpw, @mp_sprite.bitmap.width].min, 0].max
mph = @mp_sprite.bitmap.height
@mp_sprite.src_rect.set(0, 0, mpw, mph)
end#1
end#2
end#3
end#4
end#5
end#6
end#7
end#8
end#9
end#10
end#11
else
@param_sprites.each{|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite|sprite.visible = false}
end#1
end#2
end#3
end#4
end#5
end#6
end#7
end#8
end#9
end#10
end#11
end