| 赞 | 0  | 
 
| VIP | 157 | 
 
| 好人卡 | 6 | 
 
| 积分 | 1 | 
 
| 经验 | 113829 | 
 
| 最后登录 | 2014-1-16 | 
 
| 在线时间 | 26 小时 | 
 
 
 
 
 
Lv1.梦旅人 B 
	- 梦石
 - 0 
 
        - 星屑
 - 50 
 
        - 在线时间
 - 26 小时
 
        - 注册时间
 - 2007-8-26
 
        - 帖子
 - 3693
 
 
 
 | 
	
怎么感觉那脚本好像被人“做了手脚”似的,actor没有定义~ 
以下是修改了的脚本,请楼主将其原来的脚步覆盖掉~ 
应该能解决楼主的问题-  #============================================================================== 
 
  
- # ■ Window_Base 
 
  
- #============================================================================== 
 
  
- class Window_Base < Window 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● HPメーター の描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  def draw_actor_hp_meter_line(actor, x, y, width = 156, height = 4) 
 
  
-    w = width * actor.hp / [actor.maxhp,1].max 
 
  
-    hp_color_1 = Color.new(255, 0, 0, 192) 
 
  
-    hp_color_2 = Color.new(255, 255, 0, 192) 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).floor 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).ceil 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).ceil 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2) 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● SPメーター の描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  def draw_actor_sp_meter_line(actor, x, y, width = 156, height = 4) 
 
  
-    w = width * actor.sp / [actor.maxsp,1].max 
 
  
-    hp_color_1 = Color.new( 0, 0, 255, 192) 
 
  
-    hp_color_2 = Color.new( 0, 255, 255, 192) 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).floor 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).ceil 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).ceil , Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).ceil , hp_color_2) 
 
  
-    x -= 1 
 
  
-    y += (height/4).ceil 
 
  
-    self.contents.fill_rect(x+8, y+4, width, (height/4).floor, Color.new(0, 0, 0, 128)) 
 
  
-    draw_line(x, y, x + w, y, hp_color_1, (height/4).floor, hp_color_2) 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● 名前の描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  alias xrxs_bp7_draw_actor_name draw_actor_name 
 
  
-  def draw_actor_name(actor, x, y) 
 
  
-    xrxs_bp7_draw_actor_name(actor, x, y) if @draw_ban != true 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● ステートの描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  alias xrxs_bp7_draw_actor_state draw_actor_state 
 
  
-  def draw_actor_state(actor, x, y, width = 120) 
 
  
-    xrxs_bp7_draw_actor_state(actor, x, y, width) if @draw_ban != true 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● HP の描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  alias xrxs_bp7_draw_actor_hp draw_actor_hp 
 
  
-  def draw_actor_hp(actor, x, y, width = 144) 
 
  
-    xrxs_bp7_draw_actor_hp(actor, x, y, width) if @draw_ban != true 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● SP の描画 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  alias xrxs_bp7_draw_actor_sp draw_actor_sp 
 
  
-  def draw_actor_sp(actor, x, y, width = 144) 
 
  
-    xrxs_bp7_draw_actor_sp(actor, x, y, width) if @draw_ban != true 
 
  
-  end 
 
  
- end 
 
  
- #============================================================================== 
 
  
- # ◇ 外部ライブラリ 
 
  
- #============================================================================== 
 
  
- class Window_Base 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● ライン描画 軽量版 by 桜雅 在土 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  def draw_lineght(start_x, start_y, end_x, end_y, start_color) 
 
  
-    # 描写距離の計算。大きめに直角時の長さ。 
 
  
-    distance = (start_x - end_x).abs + (start_y - end_y).abs 
 
  
-    # 描写開始 
 
  
-    for i in 1..distance 
 
  
-      x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i 
 
  
-      y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i 
 
  
-      self.contents.set_pixel(x, y, start_color) 
 
  
-    end 
 
  
-  end 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  # ● ライン描画 by 桜雅 在土 
 
  
-  #-------------------------------------------------------------------------- 
 
  
-  def draw_line(start_x, start_y, end_x, end_y, start_color, width = 1, end_color = start_color) 
 
  
-    # 描写距離の計算。大きめに直角時の長さ。 
 
  
-    distance = (start_x - end_x).abs + (start_y - end_y).abs 
 
  
-    # 描写開始 
 
  
-    if end_color == start_color 
 
  
-      for i in 1..distance 
 
  
-        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i 
 
  
-        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i 
 
  
-        if width == 1 
 
  
-          self.contents.set_pixel(x, y, start_color) 
 
  
-        else 
 
  
-          self.contents.fill_rect(x, y, width, width, start_color) 
 
  
-        end 
 
  
-      end 
 
  
-    else 
 
  
-      for i in 1..distance 
 
  
-        x = (start_x + 1.0 * (end_x - start_x) * i / distance).to_i 
 
  
-        y = (start_y + 1.0 * (end_y - start_y) * i / distance).to_i 
 
  
-        r = start_color.red * (distance-i)/distance + end_color.red * i/distance 
 
  
-        g = start_color.green * (distance-i)/distance + end_color.green * i/distance 
 
  
-        b = start_color.blue * (distance-i)/distance + end_color.blue * i/distance 
 
  
-        a = start_color.alpha * (distance-i)/distance + end_color.alpha * i/distance 
 
  
-        if width == 1 
 
  
-          self.contents.set_pixel(x, y, Color.new(r, g, b, a)) 
 
  
-        else 
 
  
-          self.contents.fill_rect(x, y, width, width, Color.new(r, g, b, a)) 
 
  
-        end 
 
  
-      end 
 
  
-    end 
 
  
-  end 
 
  
- end 
 
  
-  
 
  
-  
 
 - $actor_index = 0
 
 - #==============================================================================
 
  
- # 本脚本来自www.66RPG.com,使用和转载请保留此信息
 
  
- #==============================================================================
 
  
- #==============================================================================
 
  
- # ■ Window_BattleStatus
 
  
- #------------------------------------------------------------------------------
 
  
- #  显示战斗画面同伴状态的窗口。
 
  
- #==============================================================================
 
  
- class Window_BattleStatus < Window_Base
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 初始化对像
 
  
-  #--------------------------------------------------------------------------
 
  
-  def initialize
 
  
-    super(0, 320, 160, 160)
 
  
-    self.contents = Bitmap.new(width - 32, height - 32)
 
  
-    @level_up_flags = [false, false, false, false]
 
  
-    refresh
 
  
-  end
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 刷新
 
  
-  #--------------------------------------------------------------------------
 
  
-  def refresh
 
  
-    self.contents.clear
 
  
-    @item_max = $game_party.actors.size
 
  
-    actor_x = 21
 
  
-    self.contents.font.size = 18
 
 -    
 
 -      actor = $game_party.actors[$actor_index]
 
 -    
 
 -      # 歩行キャラグラフィックの描写 
 
  
-      draw_actor_graphic(actor, actor_x - 9, 116) 
 
  
-      # HP/SPメーターの描写 
 
  
-      draw_actor_hp_meter_line(actor, actor_x, 52, 96, 12) 
 
  
-      draw_actor_sp_meter_line(actor, actor_x, 84, 96, 12) 
 
  
-      # HP数値の描写 
 
  
-      self.contents.font.color = Color.new(0,0,0,192) 
 
  
-      self.contents.draw_text(actor_x, 40, 96, 24, actor.hp.to_s, 2) 
 
  
-      self.contents.font.color = actor.hp == 0 ? knockout_color : 
 
  
-      actor.hp <= actor.maxhp / 4 ? crisis_color : normal_color 
 
  
-      self.contents.draw_text(actor_x-2, 38, 96, 24, actor.hp.to_s, 2) 
 
  
-      # SP数値の描写 
 
  
-      self.contents.font.color = Color.new(0,0,0,192) 
 
  
-      self.contents.draw_text(actor_x, 72, 96, 24, actor.sp.to_s, 2) 
 
  
-      self.contents.font.color = actor.sp == 0 ? knockout_color : 
 
  
-      actor.sp <= actor.maxsp / 4 ? crisis_color : normal_color 
 
  
-      self.contents.draw_text(actor_x-2, 70, 96, 24, actor.sp.to_s, 2) 
 
  
-      # 用語「HP」と用語「SP」の描写 
 
  
-      self.contents.font.size = 18 # 用語「HP/SP」の文字の大きさ 
 
  
-      self.contents.font.color = Color.new(0,0,0,192) 
 
  
-      self.contents.draw_text(actor_x+2, 32, 196, 24, $data_system.words.hp) 
 
  
-      self.contents.draw_text(actor_x+2, 64, 196, 24, $data_system.words.sp) 
 
  
-      self.contents.font.color = system_color # 用語「HP/SP」の文字の色 
 
  
-      self.contents.draw_text(actor_x, 30, 196, 24, $data_system.words.hp) 
 
  
-      self.contents.draw_text(actor_x, 62, 196, 24, $data_system.words.sp) 
 
  
-      # ステートの描写 
 
  
-      draw_actor_state(actor, actor_x, 100) 
 
  
-      # 値を更新 
 
 -      
 
 -    
 
 -  end
 
  
- end
 
  
-  
 
  
- #==============================================================================
 
  
- # ■ Scene_Map
 
  
- #------------------------------------------------------------------------------
 
  
- #  处理地图画面的类。
 
  
- #==============================================================================
 
  
-  
 
  
- class Scene_Map
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 调用战斗
 
  
-  #--------------------------------------------------------------------------
 
  
-  alias call_new call_battle
 
  
-  def call_battle
 
  
-    call_new
 
  
-    $status_window_contents = 0
 
  
-  end
 
  
- end
 
  
-  
 
  
- #==============================================================================
 
  
- # ■ Scene_Battle
 
  
- #------------------------------------------------------------------------------
 
  
- #  处理战斗画面的类。
 
  
- #==============================================================================
 
  
- class Scene_Battle  
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 设置角色指令窗口
 
  
-  #--------------------------------------------------------------------------
 
  
-  alias:phase3_setup_command_window_2:phase3_setup_command_window
 
  
-  def phase3_setup_command_window
 
  
-    phase3_setup_command_window_2
 
  
-    # 设置角色指令窗口的位置
 
  
-    @actor_command_window.x = 400
 
  
-  end   
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 开始同伴命令回合
 
  
-  #--------------------------------------------------------------------------
 
  
-  alias start_phase2_2 start_phase2
 
  
-  def start_phase2
 
  
-    
 
  
-    #---<夏娜改>---
 
  
-    now_actor_index = 0
 
  
-    while $game_party.actors[now_actor_index].dead?
 
  
-      now_actor_index += 1
 
  
-    end
 
  
-    
 
  
-    $status_window_contents = now_actor_index
 
  
-    @status_window.refresh
 
  
-    start_phase2_2
 
  
-  end
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 转到输入下一个角色的命令
 
  
-  #--------------------------------------------------------------------------
 
  
-  def phase3_next_actor
 
  
-  
 
  
-    # 循环
 
  
-    begin
 
  
-      # 角色的明灭效果 OFF
 
  
-      if @active_battler != nil
 
  
-        @active_battler.blink = false
 
  
-      end
 
  
-      # 最后的角色的情况
 
  
-      if @actor_index == $game_party.actors.size - 1
 
  
-        # 开始主回合
 
  
-        start_phase4
 
  
-        return
 
  
-      end
 
  
-      # 推进角色索引
 
  
-      @actor_index += 1 ; $actor_index = @actor_index
 
  
-      @active_battler = $game_party.actors[@actor_index]
 
  
-      @active_battler.blink = true
 
  
-    # 如果角色是在无法接受指令的状态就再试
 
  
-    end until @active_battler.inputable?
 
  
-  
 
  
-    #---<夏娜改>---
 
  
-    $status_window_contents = @active_battler.index
 
  
-    @status_window.refresh
 
  
-    
 
  
-    # 设置角色的命令窗口
 
  
-    phase3_setup_command_window
 
  
-  end
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 转向前一个角色的命令输入
 
  
-  #--------------------------------------------------------------------------
 
  
-  def phase3_prior_actor
 
  
-  
 
  
-    # 循环
 
  
-    begin
 
  
-      # 角色的明灭效果 OFF
 
  
-      if @active_battler != nil
 
  
-        @active_battler.blink = false
 
  
-      end
 
  
-      # 最初的角色的情况下
 
  
-      if @actor_index == 0
 
  
-        # 开始同伴指令回合
 
  
-        start_phase2
 
  
-        return
 
  
-      end
 
  
-      # 返回角色索引
 
  
-      @actor_index -= 1
 
  
-      @active_battler = $game_party.actors[@actor_index]
 
  
-      @active_battler.blink = true
 
  
-    # 如果角色是在无法接受指令的状态就再试
 
  
-    end until @active_battler.inputable?
 
  
-  
 
  
-    #---<夏娜改>---
 
  
-    $status_window_contents = @active_battler.index
 
  
-    @status_window.refresh
 
  
-  
 
  
-    
 
  
-    # 设置角色的命令窗口
 
  
-    phase3_setup_command_window
 
  
-  end
 
  
-  #--------------------------------------------------------------------------
 
  
-  # ● 刷新画面 (主回合步骤 1 : 准备行动)
 
  
-  #--------------------------------------------------------------------------
 
  
-  def update_phase4_step1
 
  
-    # 隐藏帮助窗口
 
  
-    @help_window.visible = false
 
  
-    # 判定胜败
 
  
-    if judge
 
  
-      # 胜利或者失败的情况下 : 过程结束
 
  
-      return
 
  
-    end
 
  
-    # 强制行动的战斗者不存在的情况下
 
  
-    if $game_temp.forcing_battler == nil
 
  
-      # 设置战斗事件
 
  
-      setup_battle_event
 
  
-      # 执行战斗事件中的情况下
 
  
-      if $game_system.battle_interpreter.running?
 
  
-        return
 
  
-      end
 
  
-    end
 
  
-    # 强制行动的战斗者存在的情况下
 
  
-    if $game_temp.forcing_battler != nil
 
  
-      # 在头部添加后移动
 
  
-      @action_battlers.delete($game_temp.forcing_battler)
 
  
-      @action_battlers.unshift($game_temp.forcing_battler)
 
  
-    end
 
  
-    # 未行动的战斗者不存在的情况下 (全员已经行动)
 
  
-    if @action_battlers.size == 0
 
  
-      # 开始同伴命令回合
 
  
-      start_phase2
 
  
-      return
 
  
-    end
 
  
-    # 初始化动画 ID 和公共事件 ID
 
  
-    @animation1_id = 0
 
  
-    @animation2_id = 0
 
  
-    @common_event_id = 0
 
  
-    # 未行动的战斗者移动到序列的头部
 
  
-    @active_battler = @action_battlers.shift
 
  
-    # 如果已经在战斗之外的情况下
 
  
-    if @active_battler.index == nil
 
  
-      return
 
  
-    end
 
  
-    # 连续伤害
 
  
-    if @active_battler.hp > 0 and @active_battler.slip_damage?
 
  
-      @active_battler.slip_damage_effect
 
  
-      @active_battler.damage_pop = true
 
  
-    end
 
  
-    # 自然解除状态
 
  
-    @active_battler.remove_states_auto
 
  
-    
 
  
-    #---<夏娜改>---
 
  
-    if @active_battler.is_a?(Game_Actor) and !@active_battler.dead?
 
  
-      $status_window_contents = $actor_index = @active_battler.index
 
  
-    end
 
  
-    
 
  
-    # 刷新状态窗口
 
  
-    @status_window.refresh
 
  
-    # 移至步骤 2
 
  
-    @phase4_step = 2
 
  
-  end
 
  
- end
 
 
  复制代码 |   
 
 
 
 |