| 赞 | 0  | 
 
| VIP | 0 | 
 
| 好人卡 | 0 | 
 
| 积分 | 1 | 
 
| 经验 | 1980 | 
 
| 最后登录 | 2025-8-4 | 
 
| 在线时间 | 36 小时 | 
 
 
 
 
 
Lv1.梦旅人 
	- 梦石
 - 0 
 
        - 星屑
 - 129 
 
        - 在线时间
 - 36 小时
 
        - 注册时间
 - 2010-6-21
 
        - 帖子
 - 9
 
 
 
 | 
	
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员  
 
x
 
 本帖最后由 spencerlm 于 2016-1-13 00:45 编辑  
 
使用的脸图代码是这个- $脸图战斗 = true
 
 - $imported = {} if $imported.nil?
 
 - module YEA
 
 -   module BATTLE
 
 -     SKIP_PARTY_COMMAND = true
 
 -     BATTLESTATUS_NAME_FONT_SIZE = 20
 
 -     BATTLESTATUS_TEXT_FONT_SIZE = 16
 
 -     BATTLESTATUS_NO_ACTION_ICON = 4086
 
 -     BATTLESTATUS_HPGAUGE_Y_PLUS = 11
 
 -     BATTLESTATUS_CENTER_FACES   = false
 
 -     HELP_TEXT_ALL_FOES        = "全体敌人"
 
 -     HELP_TEXT_ONE_RANDOM_FOE  = "单个敌人"
 
 -     HELP_TEXT_MANY_RANDOM_FOE = "%d个随机敌人"
 
 -     HELP_TEXT_ALL_ALLIES      = "全体队友"
 
 -     HELP_TEXT_ALL_DEAD_ALLIES = "全体死亡队友"
 
 -     HELP_TEXT_ONE_RANDOM_ALLY = "单个随机队友"
 
 -     HELP_TEXT_RANDOM_ALLIES   = "%d个随机队友"
 
 -   end
 
 - end
 
 - class Game_Battler
 
 -   def can_collapse?
 
 -     return false unless dead?
 
 -     unless actor?
 
 -       return false unless sprite.battler_visible
 
 -       array = [:collapse, :boss_collapse, :instant_collapse]
 
 -       return false if array.include?(sprite.effect_type)
 
 -     end
 
 -     return true
 
 -   end
 
 -   def draw_mp?
 
 -     return true
 
 -   end
 
 -   def draw_tp?
 
 -     return $data_system.opt_display_tp
 
 -   end
 
 - end
 
 - module Icon
 
 -   def self.no_action; return YEA::BATTLE::BATTLESTATUS_NO_ACTION_ICON; end
 
 - end
 
 - class Game_Temp
 
 -   attr_accessor :battle_aid
 
 -   attr_accessor :evaluating
 
 - end
 
 - class Game_Action
 
 -   alias evaluate_item_with_target_abe evaluate_item_with_target
 
 -   def evaluate_item_with_target(target)
 
 -     $game_temp.evaluating = true
 
 -     result = evaluate_item_with_target_abe(target)
 
 -     $game_temp.evaluating = false
 
 -     return result
 
 -   end
 
 - end
 
 - class Game_Actor < Game_Battler
 
 -   def draw_mp?
 
 -     return true unless draw_tp?
 
 -     for skill in skills
 
 -       next unless added_skill_types.include?(skill.stype_id)
 
 -       return true if skill.mp_cost > 0
 
 -     end
 
 -     return false
 
 -   end
 
 -   def draw_tp?
 
 -     return false unless $data_system.opt_display_tp
 
 -     for skill in skills
 
 -       next unless added_skill_types.include?(skill.stype_id)
 
 -       return true if skill.tp_cost > 0
 
 -     end
 
 -     return false
 
 -   end
 
 - end
 
 - class Window_BattleStatus < Window_Selectable
 
 -   def initialize
 
 -     super(0, 0, window_width, window_height)
 
 -     self.openness = 0
 
 -     @party = $game_party.battle_members.clone
 
 -   end
 
 -   def col_max; return $game_party.max_battle_members; end
 
 -   def battle_members; return $game_party.battle_members; end
 
 -   def actor; return battle_members[@index]; end
 
 -   def update
 
 -     super
 
 -     return if @party == $game_party.battle_members
 
 -     @party = $game_party.battle_members.clone
 
 -     refresh
 
 -   end
 
 -   def draw_item(index)
 
 -     return if index.nil?
 
 -     clear_item(index)
 
 -     actor = battle_members[index]
 
 -     rect = item_rect(index)
 
 -     return if actor.nil?
 
 -     draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
 
 -     draw_actor_name(actor, rect.x, rect.y, rect.width-8)
 
 -     draw_actor_action(actor, rect.x, rect.y)
 
 -     draw_actor_icons(actor, rect.x, line_height*1, rect.width)
 
 -     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
 
 -     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
 
 -     draw_actor_hp(actor, rect.x+2, line_height*2+gx, rect.width-4)
 
 -     if draw_tp?(actor) && draw_mp?(actor)
 
 -       dw = rect.width/2-2
 
 -       dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
 
 -       draw_actor_tp(actor, rect.x+2, line_height*3, dw)
 
 -       dw = rect.width - rect.width/2 - 2
 
 -       draw_actor_mp(actor, rect.x+rect.width/2, line_height*3, dw)
 
 -     elsif draw_tp?(actor) && !draw_mp?(actor)
 
 -       draw_actor_tp(actor, rect.x+2, line_height*3, rect.width-4)
 
 -     else
 
 -       draw_actor_mp(actor, rect.x+2, line_height*3, rect.width-4)
 
 -     end
 
 -   end
 
 -   def item_rect(index)
 
 -     rect = Rect.new
 
 -     rect.width = contents.width / $game_party.max_battle_members
 
 -     rect.height = contents.height
 
 -     rect.x = index * rect.width
 
 -     if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
 
 -       rect.x += (contents.width - $game_party.members.size * rect.width) / 2
 
 -     end
 
 -     rect.y = 0
 
 -     return rect
 
 -   end
 
 -   def draw_face(face_name, face_index, dx, dy, enabled = true)
 
 -     bitmap = Cache.face(face_name)
 
 -     fx = [(96 - item_rect(0).width + 1) / 2, 0].max
 
 -     fy = face_index / 4 * 96 + 2
 
 -     fw = [item_rect(0).width - 4, 92].min
 
 -     rect = Rect.new(fx, fy, fw, 92)
 
 -     rect = Rect.new(face_index % 4 * 96 + fx, fy, fw, 92)
 
 -     contents.blt(dx, dy, bitmap, rect, enabled ? 255 : translucent_alpha)
 
 -     bitmap.dispose
 
 -   end
 
 -   def draw_actor_name(actor, dx, dy, dw = 112)
 
 -     reset_font_settings
 
 -     contents.font.size = YEA::BATTLE::BATTLESTATUS_NAME_FONT_SIZE
 
 -     change_color(hp_color(actor))
 
 -     draw_text(dx+24, dy, dw-24, line_height, actor.name)
 
 -   end
 
 -   def draw_actor_action(actor, dx, dy)
 
 -     draw_icon(action_icon(actor), dx, dy)
 
 -   end
 
 -   def action_icon(actor)
 
 -     return Icon.no_action if actor.current_action.nil?
 
 -     return Icon.no_action if actor.current_action.item.nil?
 
 -     return actor.current_action.item.icon_index
 
 -   end
 
 -   def draw_tp?(actor)
 
 -     return actor.draw_tp?
 
 -   end
 
 -   def draw_mp?(actor)
 
 -     return actor.draw_mp?
 
 -   end
 
 -   def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
 
 -     change_color(color1)
 
 -     draw_text(dx, dy, dw, line_height, current.to_s, 2)
 
 -   end
 
 -   def draw_actor_hp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
 
 -     draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
 
 -       hp_color(actor), normal_color)
 
 -     end
 
 -   def draw_actor_mp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
 
 -     draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
 
 -       mp_color(actor), normal_color)
 
 -     end
 
 -   def draw_actor_tp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
 
 -     change_color(tp_color(actor))
 
 -     draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
 
 -   end
 
 - end
 
 - class Window_BattleActor < Window_BattleStatus
 
 -   def show
 
 -     create_flags
 
 -     super
 
 -   end
 
 -   def create_flags
 
 -     set_select_flag(:any)
 
 -     select(0)
 
 -     return if $game_temp.battle_aid.nil?
 
 -     if $game_temp.battle_aid.need_selection?
 
 -       select(0)
 
 -       set_select_flag(:dead) if $game_temp.battle_aid.for_dead_friend?
 
 -     elsif $game_temp.battle_aid.for_user?
 
 -       battler = BattleManager.actor
 
 -       id = battler.nil? ? 0 : $game_party.battle_members.index(battler)
 
 -       select(id)
 
 -       set_select_flag(:user)
 
 -     elsif $game_temp.battle_aid.for_all?
 
 -       select(0)
 
 -       set_select_flag(:all)
 
 -       set_select_flag(:all_dead) if $game_temp.battle_aid.for_dead_friend?
 
 -     elsif $game_temp.battle_aid.for_random?
 
 -       select(0)
 
 -       set_select_flag(:random) if $game_temp.battle_aid.for_random?
 
 -     end
 
 -   end
 
 -   def set_select_flag(flag)
 
 -     @select_flag = flag
 
 -     case @select_flag
 
 -     when :all, :all_dead, :random
 
 -       @cursor_all = true
 
 -     else
 
 -       @cursor_all = false
 
 -     end
 
 -   end
 
 -   def update_cursor
 
 -     if @cursor_all
 
 -       cursor_rect.set(0, 0, contents.width, contents.height)
 
 -       self.top_row = 0
 
 -     elsif @index < 0
 
 -       cursor_rect.empty
 
 -     else
 
 -       ensure_cursor_visible
 
 -       cursor_rect.set(item_rect(@index))
 
 -     end
 
 -   end
 
 -   def cursor_movable?
 
 -     return false if @select_flag == :user
 
 -     return super
 
 -   end
 
 -   def current_item_enabled?
 
 -     return true if $game_temp.battle_aid.nil?
 
 -     if $game_temp.battle_aid.need_selection?
 
 -       member = $game_party.battle_members[@index]
 
 -       return member.dead? if $game_temp.battle_aid.for_dead_friend?
 
 -     elsif $game_temp.battle_aid.for_dead_friend?
 
 -       for member in $game_party.battle_members
 
 -         return true if member.dead?
 
 -       end
 
 -       return false
 
 -     end
 
 -     return true
 
 -   end
 
 - end
 
 - class Window_BattleStatusAid < Window_BattleStatus
 
 -   attr_accessor :status_window
 
 -   def initialize
 
 -     super
 
 -     self.visible = false
 
 -     self.openness = 255
 
 -   end
 
 -   def window_width; return 128; end
 
 -   def show
 
 -     super
 
 -     refresh
 
 -   end
 
 -   def refresh
 
 -     contents.clear
 
 -     return if @status_window.nil?
 
 -     draw_item(@status_window.index)
 
 -   end
 
 -   def item_rect(index)
 
 -     return Rect.new(0, 0, contents.width, contents.height)
 
 -   end
 
 - end
 
 - class Window_BattleEnemy < Window_Selectable
 
 -   def initialize(info_viewport)
 
 -     super(0, Graphics.height, window_width, fitting_height(1))
 
 -     refresh
 
 -     self.visible = false
 
 -     @info_viewport = info_viewport
 
 -   end
 
 -   def col_max; return item_max; end
 
 -   def show
 
 -     create_flags
 
 -     super
 
 -   end
 
 -   def create_flags
 
 -     set_select_flag(:any)
 
 -     select(0)
 
 -     return if $game_temp.battle_aid.nil?
 
 -     if $game_temp.battle_aid.need_selection?
 
 -       select(0)
 
 -     elsif $game_temp.battle_aid.for_all?
 
 -       select(0)
 
 -       set_select_flag(:all)
 
 -     elsif $game_temp.battle_aid.for_random?
 
 -       select(0)
 
 -       set_select_flag(:random)
 
 -     end
 
 -   end
 
 -   def set_select_flag(flag)
 
 -     @select_flag = flag
 
 -     case @select_flag
 
 -     when :all, :random
 
 -       @cursor_all = true
 
 -     else
 
 -       @cursor_all = false
 
 -     end
 
 -   end
 
 -   def select_all?
 
 -     return true if @select_flag == :all
 
 -     return true if @select_flag == :random
 
 -     return false
 
 -   end
 
 -   def update_cursor
 
 -     if @cursor_all
 
 -       cursor_rect.set(0, 0, contents.width, contents.height)
 
 -       self.top_row = 0
 
 -     elsif @index < 0
 
 -       cursor_rect.empty
 
 -     else
 
 -       ensure_cursor_visible
 
 -       cursor_rect.set(item_rect(@index))
 
 -     end
 
 -   end
 
 -   def cursor_movable?
 
 -     return false if @select_flag == :user
 
 -     return super
 
 -   end
 
 -   def current_item_enabled?
 
 -     return true if $game_temp.battle_aid.nil?
 
 -     if $game_temp.battle_aid.need_selection?
 
 -       member = $game_party.battle_members[@index]
 
 -       return member.dead? if $game_temp.battle_aid.for_dead_friend?
 
 -     elsif $game_temp.battle_aid.for_dead_friend?
 
 -       for member in $game_party.battle_members
 
 -         return true if member.dead?
 
 -       end
 
 -       return false
 
 -     end
 
 -     return true
 
 -   end
 
 -   def enemy; @data[index]; end
 
 -   def refresh
 
 -     make_item_list
 
 -     create_contents
 
 -     draw_all_items
 
 -   end
 
 -   def make_item_list
 
 -     @data = $game_troop.alive_members
 
 -     @data.sort! { |a,b| a.screen_x <=> b.screen_x }
 
 -   end
 
 -   def draw_item(index); return; end
 
 -   def update
 
 -     super
 
 -     return unless active
 
 -     enemy.sprite_effect_type = :whiten
 
 -     return unless select_all?
 
 -     for enemy in $game_troop.alive_members
 
 -       enemy.sprite_effect_type = :whiten
 
 -     end
 
 -   end
 
 - end
 
 - class Window_BattleHelp < Window_Help
 
 -   attr_accessor :actor_window
 
 -   attr_accessor :enemy_window
 
 -   def update
 
 -     super
 
 -     if !self.visible and @text != ""
 
 -       @text = ""
 
 -       return refresh
 
 -     end
 
 -     update_battler_name
 
 -   end
 
 -   def update_battler_name
 
 -     return unless @actor_window.active || @enemy_window.active
 
 -     if @actor_window.active
 
 -       battler = $game_party.battle_members[@actor_window.index]
 
 -     elsif @enemy_window.active
 
 -       battler = @enemy_window.enemy
 
 -     end
 
 -     if special_display?
 
 -       refresh_special_case(battler)
 
 -     else
 
 -       refresh_battler_name(battler) if battler_name(battler) != @text
 
 -     end
 
 -   end
 
 -   def battler_name(battler)
 
 -     text = battler.name.clone
 
 -     return text
 
 -   end
 
 -   def refresh_battler_name(battler)
 
 -     contents.clear
 
 -     reset_font_settings
 
 -     change_color(normal_color)
 
 -     @text = battler_name(battler)
 
 -     icons = battler.state_icons + battler.buff_icons
 
 -     dy = icons.size <= 0 ? line_height / 2 : 0
 
 -     draw_text(0, dy, contents.width, line_height, @text, 1)
 
 -     dx = (contents.width - (icons.size * 24)) / 2
 
 -     draw_actor_icons(battler, dx, line_height, contents.width)
 
 -   end
 
 -   def special_display?
 
 -     return false if $game_temp.battle_aid.nil?
 
 -     return false if $game_temp.battle_aid.for_user?
 
 -     return !$game_temp.battle_aid.need_selection?
 
 -   end
 
 -   def refresh_special_case(battler)
 
 -     if $game_temp.battle_aid.for_opponent?
 
 -       if $game_temp.battle_aid.for_all?
 
 -         text = YEA::BATTLE::HELP_TEXT_ALL_FOES
 
 -       else
 
 -         case $game_temp.battle_aid.number_of_targets
 
 -         when 1
 
 -           text = YEA::BATTLE::HELP_TEXT_ONE_RANDOM_FOE
 
 -         else
 
 -           number = $game_temp.battle_aid.number_of_targets
 
 -           text = sprintf(YEA::BATTLE::HELP_TEXT_MANY_RANDOM_FOE, number)
 
 -         end
 
 -       end
 
 -     else
 
 -       if $game_temp.battle_aid.for_dead_friend?
 
 -         text = YEA::BATTLE::HELP_TEXT_ALL_DEAD_ALLIES
 
 -       elsif $game_temp.battle_aid.for_random?
 
 -         case $game_temp.battle_aid.number_of_targets
 
 -         when 1
 
 -           text = YEA::BATTLE::HELP_TEXT_ONE_RANDOM_ALLY
 
 -         else
 
 -           number = $game_temp.battle_aid.number_of_targets
 
 -           text = sprintf(YEA::BATTLE::HELP_TEXT_RANDOM_ALLIES, number)
 
 -         end
 
 -       else
 
 -         text = YEA::BATTLE::HELP_TEXT_ALL_ALLIES
 
 -       end
 
 -     end
 
 -     return if text == @text
 
 -     @text = text
 
 -     contents.clear
 
 -     reset_font_settings
 
 -     draw_text(0, 0, contents.width, line_height*2, @text, 1)
 
 -   end
 
 - end
 
 - class Window_SkillList < Window_Selectable
 
 -   def spacing
 
 -     return 8 if $game_party.in_battle
 
 -     return super
 
 -   end
 
 - end
 
 - class Window_ItemList < Window_Selectable
 
 -   def spacing
 
 -     return 8 if $game_party.in_battle
 
 -     return super
 
 -   end
 
 - end
 
 - class Scene_Battle < Scene_Base
 
 -   attr_accessor :enemy_window
 
 -   attr_accessor :info_viewport
 
 -   attr_accessor :spriteset
 
 -   attr_accessor :status_window
 
 -   attr_accessor :status_aid_window
 
 -   attr_accessor :subject
 
 -   alias scene_battle_create_all_windows_abe create_all_windows
 
 -   def create_all_windows
 
 -     scene_battle_create_all_windows_abe
 
 -     create_battle_status_aid_window
 
 -     set_help_window
 
 -   end
 
 -   alias scene_battle_create_info_viewport_abe create_info_viewport
 
 -   def create_info_viewport
 
 -     scene_battle_create_info_viewport_abe
 
 -     @status_window.refresh
 
 -   end
 
 -   def create_battle_status_aid_window
 
 -     @status_aid_window = Window_BattleStatusAid.new
 
 -     @status_aid_window.status_window = @status_window
 
 -     @status_aid_window.x = Graphics.width - @status_aid_window.width
 
 -     @status_aid_window.y = Graphics.height - @status_aid_window.height
 
 -   end
 
 -   def create_help_window
 
 -     @help_window = Window_BattleHelp.new
 
 -     @help_window.hide
 
 -   end
 
 -   def set_help_window
 
 -     @help_window.actor_window = @actor_window
 
 -     @help_window.enemy_window = @enemy_window
 
 -   end
 
 -   alias scene_battle_create_skill_window_abe create_skill_window
 
 -   def create_skill_window
 
 -     scene_battle_create_skill_window_abe
 
 -     @skill_window.height = @info_viewport.rect.height
 
 -     @skill_window.width = Graphics.width - @actor_command_window.width
 
 -     @skill_window.y = Graphics.height - @skill_window.height
 
 -   end
 
 -   alias scene_battle_create_item_window_abe create_item_window
 
 -   def create_item_window
 
 -     scene_battle_create_item_window_abe
 
 -     @item_window.height = @skill_window.height
 
 -     @item_window.width = @skill_window.width
 
 -     @item_window.y = Graphics.height - @item_window.height
 
 -   end
 
 -   alias scene_battle_next_command_abe next_command
 
 -   def next_command
 
 -     @status_window.show
 
 -     redraw_current_status
 
 -     @actor_command_window.show
 
 -     @status_aid_window.hide
 
 -     scene_battle_next_command_abe
 
 -   end
 
 -   alias scene_battle_prior_command_abe prior_command
 
 -   def prior_command
 
 -     redraw_current_status
 
 -     scene_battle_prior_command_abe
 
 -   end
 
 -   def redraw_current_status
 
 -     return if @status_window.index < 0
 
 -     @status_window.draw_item(@status_window.index)
 
 -   end
 
 -   alias scene_battle_command_attack_abe command_attack
 
 -   def command_attack
 
 -     $game_temp.battle_aid = $data_skills[BattleManager.actor.attack_skill_id]
 
 -     scene_battle_command_attack_abe
 
 -   end
 
 -   alias scene_battle_command_skill_abe command_skill
 
 -   def command_skill
 
 -     scene_battle_command_skill_abe
 
 -     @status_window.hide
 
 -     @actor_command_window.hide
 
 -     @status_aid_window.show
 
 -   end
 
 -   alias scene_battle_command_item_abe command_item
 
 -   def command_item
 
 -     scene_battle_command_item_abe
 
 -     @status_window.hide
 
 -     @actor_command_window.hide
 
 -     @status_aid_window.show
 
 -   end
 
 -   def on_skill_ok
 
 -     @skill = @skill_window.item
 
 -     $game_temp.battle_aid = @skill
 
 -     BattleManager.actor.input.set_skill(@skill.id)
 
 -     BattleManager.actor.last_skill.object = @skill
 
 -     if @skill.for_opponent?
 
 -       select_enemy_selection
 
 -     elsif @skill.for_friend?
 
 -       select_actor_selection
 
 -     else
 
 -       @skill_window.hide
 
 -       next_command
 
 -       $game_temp.battle_aid = nil
 
 -     end
 
 -   end
 
 -   alias scene_battle_on_skill_cancel_abe on_skill_cancel
 
 -   def on_skill_cancel
 
 -     scene_battle_on_skill_cancel_abe
 
 -     @status_window.show
 
 -     @actor_command_window.show
 
 -     @status_aid_window.hide
 
 -   end
 
 -   def on_item_ok
 
 -     @item = @item_window.item
 
 -     $game_temp.battle_aid = @item
 
 -     BattleManager.actor.input.set_item(@item.id)
 
 -     if @item.for_opponent?
 
 -       select_enemy_selection
 
 -     elsif @item.for_friend?
 
 -       select_actor_selection
 
 -     else
 
 -       @item_window.hide
 
 -       next_command
 
 -       $game_temp.battle_aid = nil
 
 -     end
 
 -     $game_party.last_item.object = @item
 
 -   end
 
 -   alias scene_battle_on_item_cancel_abe on_item_cancel
 
 -   def on_item_cancel
 
 -     scene_battle_on_item_cancel_abe
 
 -     @status_window.show
 
 -     @actor_command_window.show
 
 -     @status_aid_window.hide
 
 -   end
 
 -   alias scene_battle_select_actor_selection_abe select_actor_selection
 
 -   def select_actor_selection
 
 -     @status_aid_window.refresh
 
 -     scene_battle_select_actor_selection_abe
 
 -     @status_window.hide
 
 -     @skill_window.hide
 
 -     @item_window.hide
 
 -     @help_window.show
 
 -   end
 
 -   alias scene_battle_on_actor_ok_abe on_actor_ok
 
 -   def on_actor_ok
 
 -     $game_temp.battle_aid = nil
 
 -     scene_battle_on_actor_ok_abe
 
 -     @status_window.show
 
 -     if $imported["YEA-BattleCommandList"] && !@confirm_command_window.nil?
 
 -       @actor_command_window.visible = !@confirm_command_window.visible
 
 -     else
 
 -       @actor_command_window.show
 
 -     end
 
 -     @status_aid_window.hide
 
 -   end
 
 -   alias scene_battle_on_actor_cancel_abe on_actor_cancel
 
 -   def on_actor_cancel
 
 -     BattleManager.actor.input.clear
 
 -     @status_aid_window.refresh
 
 -     $game_temp.battle_aid = nil
 
 -     scene_battle_on_actor_cancel_abe
 
 -     case @actor_command_window.current_symbol
 
 -     when :skill
 
 -       @skill_window.show
 
 -     when :item
 
 -       @item_window.show
 
 -     end
 
 -   end
 
 -   alias scene_battle_select_enemy_selection_abe select_enemy_selection
 
 -   def select_enemy_selection
 
 -     @status_aid_window.refresh
 
 -     scene_battle_select_enemy_selection_abe
 
 -     @help_window.show
 
 -   end
 
 -   alias scene_battle_on_enemy_ok_abe on_enemy_ok
 
 -   def on_enemy_ok
 
 -     $game_temp.battle_aid = nil
 
 -     scene_battle_on_enemy_ok_abe
 
 -   end
 
 -   alias scene_battle_on_enemy_cancel_abe on_enemy_cancel
 
 -   def on_enemy_cancel
 
 -     BattleManager.actor.input.clear
 
 -     @status_aid_window.refresh
 
 -     $game_temp.battle_aid = nil
 
 -     scene_battle_on_enemy_cancel_abe
 
 -     if @skill_window.visible || @item_window.visible
 
 -       @help_window.show
 
 -     else
 
 -       @help_window.hide
 
 -     end
 
 -   end
 
 -   def end_battle_conditions?
 
 -     return true if $game_party.members.empty?
 
 -     return true if $game_party.all_dead?
 
 -     return true if $game_troop.all_dead?
 
 -     return true if BattleManager.aborting?
 
 -     return false
 
 -   end
 
 -   def refresh_status
 
 -     #如果你是程序员,请顺手帮忙优化下这里,谢谢。
 
 -     @status_window.refresh
 
 -     for i in $game_party.battle_members
 
 -       @status_window.draw_item($game_party.battle_members.index(i))
 
 -     end
 
 -   end
 
 - end
 
 
  复制代码 
 
 
正常的战斗模式是这样的 
 
当把Game_Party的出战人数改成6个后, 
 
 
如图,纵向发生了压缩 
 
初步判断应该修改71-180行的绘图部分,也就是如下部分- class Window_BattleStatus < Window_Selectable
 
 -   def initialize
 
 -     super(0, 0, window_width, window_height)
 
 -     self.openness = 0
 
 -     @party = $game_party.battle_members.clone
 
 -   end
 
 -   def col_max; return $game_party.max_battle_members; end
 
 -   def battle_members; return $game_party.battle_members; end
 
 -   def actor; return battle_members[@index]; end
 
 -   def update
 
 -     super
 
 -     return if @party == $game_party.battle_members
 
 -     @party = $game_party.battle_members.clone
 
 -     refresh
 
 -   end
 
 -   def draw_item(index)
 
 -     return if index.nil?
 
 -     clear_item(index)
 
 -     actor = battle_members[index]
 
 -     rect = item_rect(index)
 
 -     return if actor.nil?
 
 -     draw_actor_face(actor, rect.x+2, rect.y+2, actor.alive?)
 
 -     draw_actor_name(actor, rect.x, rect.y, rect.width-8)
 
 -     draw_actor_action(actor, rect.x, rect.y)
 
 -     draw_actor_icons(actor, rect.x, line_height*1, rect.width)
 
 -     gx = YEA::BATTLE::BATTLESTATUS_HPGAUGE_Y_PLUS
 
 -     contents.font.size = YEA::BATTLE::BATTLESTATUS_TEXT_FONT_SIZE
 
 -     draw_actor_hp(actor, rect.x+2, line_height*2+gx, rect.width-4)
 
 -     if draw_tp?(actor) && draw_mp?(actor)
 
 -       dw = rect.width/2-2
 
 -       dw += 1 if $imported["YEA-CoreEngine"] && YEA::CORE::GAUGE_OUTLINE
 
 -       draw_actor_tp(actor, rect.x+2, line_height*3, dw)
 
 -       dw = rect.width - rect.width/2 - 2
 
 -       draw_actor_mp(actor, rect.x+rect.width/2, line_height*3, dw)
 
 -     elsif draw_tp?(actor) && !draw_mp?(actor)
 
 -       draw_actor_tp(actor, rect.x+2, line_height*3, rect.width-4)
 
 -     else
 
 -       draw_actor_mp(actor, rect.x+2, line_height*3, rect.width-4)
 
 -     end
 
 -   end
 
 -   def item_rect(index)
 
 -     rect = Rect.new
 
 -     rect.width = contents.width / $game_party.max_battle_members
 
 -     rect.height = contents.height
 
 -     rect.x = index * rect.width
 
 -     if YEA::BATTLE::BATTLESTATUS_CENTER_FACES
 
 -       rect.x += (contents.width - $game_party.members.size * rect.width) / 2
 
 -     end
 
 -     rect.y = 0
 
 -     return rect
 
 -   end
 
 -   def draw_face(face_name, face_index, dx, dy, enabled = true)
 
 -     bitmap = Cache.face(face_name)
 
 -     fx = [(96 - item_rect(0).width + 1) / 2, 0].max
 
 -     fy = face_index / 4 * 96 + 2
 
 -     fw = [item_rect(0).width - 4, 92].min
 
 -     rect = Rect.new(fx, fy, fw, 92)
 
 -     rect = Rect.new(face_index % 4 * 96 + fx, fy, fw, 92)
 
 -     contents.blt(dx, dy, bitmap, rect, enabled ? 255 : translucent_alpha)
 
 -     bitmap.dispose
 
 -   end
 
 -   def draw_actor_name(actor, dx, dy, dw = 112)
 
 -     reset_font_settings
 
 -     contents.font.size = YEA::BATTLE::BATTLESTATUS_NAME_FONT_SIZE
 
 -     change_color(hp_color(actor))
 
 -     draw_text(dx+24, dy, dw-24, line_height, actor.name)
 
 -   end
 
 -   def draw_actor_action(actor, dx, dy)
 
 -     draw_icon(action_icon(actor), dx, dy)
 
 -   end
 
 -   def action_icon(actor)
 
 -     return Icon.no_action if actor.current_action.nil?
 
 -     return Icon.no_action if actor.current_action.item.nil?
 
 -     return actor.current_action.item.icon_index
 
 -   end
 
 -   def draw_tp?(actor)
 
 -     return actor.draw_tp?
 
 -   end
 
 -   def draw_mp?(actor)
 
 -     return actor.draw_mp?
 
 -   end
 
 -   def draw_current_and_max_values(dx, dy, dw, current, max, color1, color2)
 
 -     change_color(color1)
 
 -     draw_text(dx, dy, dw, line_height, current.to_s, 2)
 
 -   end
 
 -   def draw_actor_hp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.hp_rate, hp_gauge_color1, hp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::hp_a)
 
 -     draw_current_and_max_values(dx, dy+cy, width, actor.hp, actor.mhp,
 
 -       hp_color(actor), normal_color)
 
 -     end
 
 -   def draw_actor_mp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.mp_rate, mp_gauge_color1, mp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::mp_a)
 
 -     draw_current_and_max_values(dx, dy+cy, width, actor.mp, actor.mmp,
 
 -       mp_color(actor), normal_color)
 
 -     end
 
 -   def draw_actor_tp(actor, dx, dy, width = 124)
 
 -     draw_gauge(dx, dy, width, actor.tp_rate, tp_gauge_color1, tp_gauge_color2)
 
 -     change_color(system_color)
 
 -     cy = (Font.default_size - contents.font.size) / 2 + 1
 
 -     draw_text(dx+2, dy+cy, 30, line_height, Vocab::tp_a)
 
 -     change_color(tp_color(actor))
 
 -     draw_text(dx + width - 42, dy+cy, 42, line_height, actor.tp.to_i, 2)
 
 -   end
 
 - end
 
  复制代码 另外,角色的TP值居然木有显示。。。本来想自己改的,但是对脚本绘图苦手。。。拜托大神解释一下或者推荐个教程     |   
 
 
 
 |