设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1868|回复: 1
打印 上一主题 下一主题

[已经解决] 加快了战斗结束窗口 人物升级变无法显示

[复制链接]

Lv3.寻梦者

梦石
0
星屑
2461
在线时间
472 小时
注册时间
2012-4-10
帖子
242
跳转到指定楼层
1
发表于 2016-1-10 17:18:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本人脚本菜鸟,真不知道怎么改 ,望高手们,求帮忙!!!
这个是加快战斗结束窗口的脚步!!!!!!!!!!!!
class Scene_Battle
  #--------------------------------------------------------------------------
  # ● 画面更新 (结束战斗回合)
  #--------------------------------------------------------------------------
  def update_phase5
    # 显示结果窗口
    @result_window.visible = true
    # 等待计数大于 0 的情况下
    if @phase5_wait_count > 0
      # 减少等待计数
      @phase5_wait_count -= 1
      # 等待计数为 0 的情况下
      if @phase5_wait_count == 0
        # 清除主回合标志
        $game_temp.battle_main_phase = false
        # 刷新状态窗口
        @status_window.refresh
      end
                    # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 战斗结束
      battle_end(0)
      Audio.me_stop
    end

      return
    end
        # 按下 C 键的情况下
    if Input.trigger?(Input::C)
      # 战斗结束
      battle_end(0)
      Audio.me_stop
    end

  end
end      



这个是升级提示脚本!!!!!!!!!!!!!!!!!!!!


#===============================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#===============================================================  
# ———————————————————————————
# ▼▲▼ XRXS_BP10. LEVEL UP!能力上昇表示ウィンドウ plus ▼▲▼
# by 桜雅 在土
#——以下3个如果需要修改,直接输入文件名即可
$data_system_level_up_se = "" #升级时的音效设置
$data_system_level_up_me = "Audio/ME/007-Fanfare01" # 升级时播放的ME
$data_system_skilllearn_se = "Audio/SE/106-Heal02" # 学会特技时播放的声效。
#=============================================================
# ■ Window_LevelUpWindow
#-------------------------------------------------------------------
#  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
#=============================================================
class Window_LevelUpWindow < Window_Base
  #---------------------------------------------------------
  # ● オブジェクト初期化
  #------------------------------------------------------
  def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    super(0, 128, 160, 192)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.visible = false
    self.back_opacity = 160
    refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  end
  #-----------------------------------------------------------
  # ● リフレッシュ
  #---------------------------------------------------------
  def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
    self.contents.clear
    self.contents.font.color = system_color
    self.contents.font.size = 14
    self.contents.draw_text( 0, 0, 160, 24, "LEVEL UP!!")
    self.contents.font.size = 18
    self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
    self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
    self.contents.font.size = 14
    self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
    self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
    self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
    self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
    self.contents.draw_text(92, 0, 128, 24, "→")
    self.contents.draw_text(76, 28, 128, 24, "=")
    self.contents.draw_text(76, 50, 128, 24, "=")
    self.contents.draw_text(76, 72, 128, 24, "=")
    self.contents.draw_text(76, 94, 128, 24, "=")
    self.contents.draw_text(76, 116, 128, 24, "=")
    self.contents.draw_text(76, 138, 128, 24, "=")
    self.contents.font.color = normal_color
    self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
    self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
    self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
    self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
    self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
    self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
    self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
    self.contents.font.size = 20
    self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
    self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
    self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
    self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
    self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
    self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
    self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
  end
end
#===========================================================
# ■ Window_SkillLearning 学习技能窗口
#------------------------------------------------------------------------------
#  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
#=============================================================
class Window_SkillLearning < Window_Base
  #-------------------------------------------------------------
  # ● 公開インスタンス変数
  #-----------------------------------------------------------
  attr_reader :learned # スキルを習得したかどうか
  #----------------------------------------------------------
  # ● オブジェクト初期化
  #----------------------------------------------------------
  def initialize(class_id, last_lv, now_lv)
    super(160, 64, 320, 64)
    self.contents = Bitmap.new(width - 32, height - 28) # わざと▽を表示
    self.visible = false
    self.back_opacity = 160
    @learned = false
    refresh(class_id, last_lv, now_lv)
  end
  #------------------------------------------------------------
  # ● リフレッシュ
  #-------------------------------------------------------
  def refresh(class_id, last_lv, now_lv)
    for i in 0...$data_classes[class_id].learnings.size
      learn_lv = $data_classes[class_id].learnings.level
      # 今回のレベルアップ範囲で習得するスキルの場合
      if learn_lv > last_lv and learn_lv <= now_lv
        @learned = true
        # SEの再生
        if $data_system_skilllearn_se != ""
          Audio.se_play($data_system_skilllearn_se)
        end
        # 各描写
        skill_name = $data_skills[$data_classes[class_id].learnings.skill_id].name
        self.contents.clear
        self.contents.font.color = text_color(0)
        self.contents.draw_text(0,0,448,32, "学会特技:"+skill_name)
        self.contents.font.color = text_color(6)
        self.contents.draw_text(0,0,448,32, "          "+skill_name)
        self.contents.font.color = text_color(0)
        self.visible = true
        # メインループ
        loop do
          # ゲーム画面を更新
          Graphics.update
          # 入力情報を更新
          Input.update
          # フレーム更新
          update
          # 画面が切り替わったらループを中断
          if @learned == false
            break
          end
        end
      # メインループここまで
      end
    end
  end
  #-----------------------------------------------------------
  # ● フレーム更新
  #------------------------------------------------------------
  def update
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      @learned = false
      self.visible = false
    end
  end
end
#==================================================================
# ■ Window_BattleStatus
#==================================================================
class Window_BattleStatus < Window_Base
  #---------------------------------------------------------
  # ● 追加?公開インスタンス変数
  #-------------------------------------------------------
  attr_accessor :level_up_flags # LEVEL UP!表示
end
#===============================================================
# ■ Game_Battler
#===============================================================
class Game_Battler
  #--------------------------------------------------------------
  # ● 追加?公開インスタンス変数
  #----------------------------------------------------------
  attr_accessor :exp_gain_ban # EXP取得一時禁止
  #------------------------------------------------------
  # ● オブジェクト初期化
  #-----------------------------------------------------
  alias xrxs_bp10_initialize initialize
  def initialize
    @exp_gain_ban = false
    xrxs_bp10_initialize
  end
  #-------------------------------------------------------
  # ● ステート [EXP を獲得できない] 判定
  #-----------------------------------------------------
  alias xrxs_bp10_cant_get_exp? cant_get_exp?
  def cant_get_exp?
    if @exp_gain_ban == true
      return true
    else
      return xrxs_bp10_cant_get_exp?
    end
  end
end
#==============================================================
# ■ Scene_Battle
#==============================================================
class Scene_Battle
  #--------------------------------------------------
  # ● アフターバトルフェーズ開始
  #--------------------------------------------------
  alias xrxs_bp10_start_phase5 start_phase5
  def start_phase5
    # EXP 獲得禁止
    for i in 0...$game_party.actors.size
      $game_party.actors.exp_gain_ban = true
    end
    xrxs_bp10_start_phase5
    # EXP 獲得禁止の解除
    for i in 0...$game_party.actors.size
      $game_party.actors.exp_gain_ban = false
    end
    # EXPを初期化
    @exp_gained = 0
    for enemy in $game_troop.enemies
      # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
      @exp_gained += enemy.exp if not enemy.hidden
    end
    # 設定
    @phase5_step = 1
    @exp_gain_actor = -1
    # リザルトウィンドウを表示
    @result_window.visible = true
  end
  #----------------------------------------------------------
  # ● フレーム更新 (アフターバトルフェーズ)
  #--------------------------------------------------------
  #alias xrxs_bp10_update_phase5 update_phase5
  def update_phase5
    case @phase5_step
    when 1
      update_phase5_step1
    else
    # ウェイトカウントが 0 より大きい場合
      if @phase5_wait_count > 0
        # ウェイトカウントを減らす
        @phase5_wait_count -= 1
        # ウェイトカウントが 0 になった場合
        if @phase5_wait_count == 0
          # リザルトウィンドウを表示
          #@result_window.visible = true
          # メインフェーズフラグをクリア
          $game_temp.battle_main_phase = false
          # ステータスウィンドウをリフレッシュ
          @status_window.refresh
        end
      return
      end
      # C ボタンが押された場合
      if Input.trigger?(Input::C)
        # バトル終了
        battle_end(0)
      end
    # レベルアップしている場合は強制バトル終了
    battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
    end
  end
  #-----------------------------------------------------------
  # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
  #-----------------------------------------------------------
  def update_phase5_step1
    # C ボタンが押された場合
    if Input.trigger?(Input::C)
      # ウィンドウを閉じて次のアクターへ
      @levelup_window.visible = false if @levelup_window != nil
      @status_window.level_up_flags[@exp_gain_actor] = false
      phase5_next_levelup
    end
  end
  #---------------------------------------------------------
  # ● 次のアクターのレベルアップ表示へ
  #---------------------------------------------------------
  def phase5_next_levelup
    begin
      # 次のアクターへ
      @exp_gain_actor += 1
      # 最後のアクターの場合
      if @exp_gain_actor >= $game_party.actors.size
        # アフターバトルフェーズ開始
        @phase5_step = 0
        return
      end
      actor = $game_party.actors[@exp_gain_actor]
      if actor.cant_get_exp? == false
        # 現在の能力値を保持
        last_level = actor.level
        last_maxhp = actor.maxhp
        last_maxsp = actor.maxsp
        last_str = actor.str
        last_dex = actor.dex
        last_agi = actor.agi
        last_int = actor.int
        # 経験値取得の決定的瞬間(謎
        actor.exp += @exp_gained
        # 判定
        if actor.level > last_level
          # レベルアップした場合
          @status_window.level_up(@exp_gain_actor)
          # リザルトウィンドウを消す
          @result_window.visible = false
          # SEの再生
          if $data_system_level_up_se != ""
            Audio.se_play($data_system_level_up_se)
          end
          # MEの再生
          if $data_system_level_up_me != ""
            Audio.me_stop
            Audio.me_play($data_system_level_up_me)
          end
          # LEVEL-UPウィンドウの設定
          @levelup_window = Window_LevelUpWindow.new(actor, last_level,
          actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
          actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
          @levelup_window.x = 160 * @exp_gain_actor
          @levelup_window.visible = true
          # ステータスウィンドウをリフレッシュ
          @status_window.refresh
          # スキル習得ウィンドウの設定
          @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
          # ウェイトカウントを設定
          @phase5_wait_count = 40
          @phase5_step = 1
          return
        end
      end
    end until false
  end
end
#=============================================================
# 本脚本来自www.66RPG.com,使用和转载请保留此信息
#=============================================================

Lv3.寻梦者

梦石
0
星屑
2461
在线时间
472 小时
注册时间
2012-4-10
帖子
242
2
 楼主| 发表于 2016-1-11 13:42:51 | 只看该作者
此问题已经自行解决!!!!!!!!!3Q
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-26 05:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表