Project1

标题: 经验平分显示怎么改? [打印本页]

作者: jhhuang    时间: 2007-8-25 02:14
标题: 经验平分显示怎么改?
下面是升级提示脚本,我改了
        # 経験値取得の決定的瞬間(謎
        actor.exp += @exp_gained / $game_party.actors.size
人数决定经验,但是显示不变,怎么办?



  1. #===============================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #===============================================================


  4. # ———————————————————————————

  5. # ▼▲▼ XRXS_BP10. LEVEL UP!能力上昇表示ウィンドウ plus ▼▲▼
  6. # by 桜雅 在土

  7. #——以下3个如果需要修改,直接输入文件名即可

  8. #=============================================================
  9. # ■ Window_LevelUpWindow
  10. #-------------------------------------------------------------------
  11. #  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
  12. #=============================================================
  13. class Window_LevelUpWindow < Window_Base
  14.   #---------------------------------------------------------
  15.   # ● オブジェクト初期化
  16.   #------------------------------------------------------
  17.   def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  18.     super(0, 128, 160, 192)
  19.     self.contents = Bitmap.new(width - 32, height - 32)
  20.     self.visible = false
  21.     self.back_opacity = 160
  22.     refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  23.   end
  24.   #-----------------------------------------------------------
  25.   # ● リフレッシュ
  26.   #---------------------------------------------------------
  27.   def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  28.     self.contents.clear
  29.     self.contents.font.color = system_color
  30.     self.contents.font.size = 14
  31.     self.contents.draw_text( 0, 0, 160, 24, "等级 UP!!")
  32.     self.contents.font.size = 18
  33.     self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
  34.     self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
  35.     self.contents.font.size = 14
  36.     self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
  37.     self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
  38.     self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
  39.     self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
  40.     self.contents.draw_text(92, 0, 128, 24, "→")
  41.     self.contents.draw_text(76, 28, 128, 24, "=")
  42.     self.contents.draw_text(76, 50, 128, 24, "=")
  43.     self.contents.draw_text(76, 72, 128, 24, "=")
  44.     self.contents.draw_text(76, 94, 128, 24, "=")
  45.     self.contents.draw_text(76, 116, 128, 24, "=")
  46.     self.contents.draw_text(76, 138, 128, 24, "=")
  47.     self.contents.font.color = normal_color
  48.     self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
  49.     self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
  50.     self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
  51.     self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
  52.     self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
  53.     self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
  54.     self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
  55.     self.contents.font.size = 20
  56.     self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
  57.     self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
  58.     self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
  59.     self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
  60.     self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
  61.     self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
  62.     self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
  63.   end
  64. end
  65. #===========================================================
  66. # ■ Window_SkillLearning
  67. #------------------------------------------------------------------------------
  68. #  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
  69. #=============================================================
  70. class Window_SkillLearning < Window_Base
  71.   #-------------------------------------------------------------
  72.   # ● 公開インスタンス変数
  73.   #-----------------------------------------------------------
  74.   attr_reader :learned # スキルを習得したかどうか
  75.   #----------------------------------------------------------
  76.   # ● オブジェクト初期化
  77.   #----------------------------------------------------------
  78.   def initialize(class_id, last_lv, now_lv)
  79.     super(160, 64, 320, 64)
  80.     self.contents = Bitmap.new(width - 32, height - 28) # わざと▽を表示
  81.     self.visible = false
  82.     self.back_opacity = 160
  83.     @learned = false
  84.     refresh(class_id, last_lv, now_lv)
  85.   end
  86.   #------------------------------------------------------------
  87.   # ● リフレッシュ
  88.   #-------------------------------------------------------
  89.   def refresh(class_id, last_lv, now_lv)
  90.     for i in 0...$data_classes[class_id].learnings.size
  91.       learn_lv = $data_classes[class_id].learnings[i].level
  92.       # 今回のレベルアップ範囲で習得するスキルの場合
  93.       if learn_lv > last_lv and learn_lv <= now_lv
  94.         @learned = true
  95.         # 各描写
  96.         skill_name = $data_skills[$data_classes[class_id].learnings[i].skill_id].name
  97.         self.contents.clear
  98.         self.contents.font.color = text_color(0)
  99.         self.contents.draw_text(0,0,448,32, "学会特技:"+skill_name)
  100.         self.contents.font.color = text_color(6)
  101.         self.contents.draw_text(0,0,448,32, "          "+skill_name)
  102.         self.contents.font.color = text_color(0)
  103.         self.visible = true
  104.         # メインループ
  105.         loop do
  106.           # ゲーム画面を更新
  107.           Graphics.update
  108.           # 入力情報を更新
  109.           Input.update
  110.           # フレーム更新
  111.           update
  112.           # 画面が切り替わったらループを中断
  113.           if @learned == false
  114.             break
  115.           end
  116.         end
  117.       # メインループここまで
  118.       end
  119.     end
  120.   end
  121.   #-----------------------------------------------------------
  122.   # ● フレーム更新
  123.   #------------------------------------------------------------
  124.   def update
  125.     # C ボタンが押された場合
  126.     if Input.trigger?(Input::C)
  127.       @learned = false
  128.       self.visible = false
  129.     end
  130.   end
  131. end
  132. #==================================================================
  133. # ■ Window_BattleStatus
  134. #==================================================================
  135. class Window_BattleStatus < Window_Base
  136.   #---------------------------------------------------------
  137.   # ● 追加?公開インスタンス変数
  138.   #-------------------------------------------------------
  139.   attr_accessor :level_up_flags # LEVEL UP!表示
  140. end
  141. #===============================================================
  142. # ■ Game_Battler
  143. #===============================================================
  144. class Game_Battler
  145.   #--------------------------------------------------------------
  146.   # ● 追加?公開インスタンス変数
  147.   #----------------------------------------------------------
  148.   attr_accessor :exp_gain_ban # EXP取得一時禁止
  149.   #------------------------------------------------------
  150.   # ● オブジェクト初期化
  151.   #-----------------------------------------------------
  152.   alias xrxs_bp10_initialize initialize
  153.   def initialize
  154.     @exp_gain_ban = false
  155.     xrxs_bp10_initialize
  156.   end
  157.   #-------------------------------------------------------
  158.   # ● ステート [EXP を獲得できない] 判定
  159.   #-----------------------------------------------------
  160.   alias xrxs_bp10_cant_get_exp? cant_get_exp?
  161.   def cant_get_exp?
  162.     if @exp_gain_ban == true
  163.       return true
  164.     else
  165.       return xrxs_bp10_cant_get_exp?
  166.     end
  167.   end
  168. end
  169. #==============================================================
  170. # ■ Scene_Battle
  171. #==============================================================
  172. class Scene_Battle
  173.   #--------------------------------------------------
  174.   # ● アフターバトルフェーズ開始
  175.   #--------------------------------------------------
  176.   alias xrxs_bp10_start_phase5 start_phase5
  177.   def start_phase5
  178.     # EXP 獲得禁止
  179.     for i in 0...$game_party.actors.size
  180.       $game_party.actors[i].exp_gain_ban = true
  181.     end
  182.     xrxs_bp10_start_phase5
  183.     # EXP 獲得禁止の解除
  184.     for i in 0...$game_party.actors.size
  185.       $game_party.actors[i].exp_gain_ban = false
  186.     end
  187.     # EXPを初期化
  188.     @exp_gained = 0
  189.     for enemy in $game_troop.enemies
  190.       # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
  191.       @exp_gained += enemy.exp if not enemy.hidden
  192.     end
  193.     # 設定
  194.     @phase5_step = 1
  195.     @exp_gain_actor = -1
  196.     # リザルトウィンドウを表示
  197.     @result_window.visible = true
  198.   end
  199.   #----------------------------------------------------------
  200.   # ● フレーム更新 (アフターバトルフェーズ)
  201.   #--------------------------------------------------------
  202.   #alias xrxs_bp10_update_phase5 update_phase5
  203.   def update_phase5
  204.     case @phase5_step
  205.     when 1
  206.       update_phase5_step1
  207.     else
  208.     # ウェイトカウントが 0 より大きい場合
  209.       if @phase5_wait_count > 0
  210.         # ウェイトカウントを減らす
  211.         @phase5_wait_count -= 1
  212.         # ウェイトカウントが 0 になった場合
  213.         if @phase5_wait_count == 0
  214.           # リザルトウィンドウを表示
  215.           #@result_window.visible = true
  216.           # メインフェーズフラグをクリア
  217.           $game_temp.battle_main_phase = false
  218.           # ステータスウィンドウをリフレッシュ
  219.           @status_window.refresh
  220.         ##########################################################################
  221.         common_event = $data_common_events[409]
  222.         $game_system.battle_interpreter.setup(common_event.list, 0)
  223.         ##########################################################################
  224.         end
  225.       return
  226.       end
  227.       # C ボタンが押された場合
  228.       if Input.trigger?(Input::C)
  229.         # バトル終了
  230.         battle_end(0)
  231.       end
  232.     # レベルアップしている場合は強制バトル終了
  233.     battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
  234.     end
  235.   end
  236.   #-----------------------------------------------------------
  237.   # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
  238.   #-----------------------------------------------------------
  239.   def update_phase5_step1
  240.     # C ボタンが押された場合
  241.     if Input.trigger?(Input::C)
  242.       # ウィンドウを閉じて次のアクターへ
  243.       @levelup_window.visible = false if @levelup_window != nil
  244.       @status_window.level_up_flags[@exp_gain_actor] = false
  245.       phase5_next_levelup
  246.     end
  247.   end
  248.   #---------------------------------------------------------
  249.   # ● 次のアクターのレベルアップ表示へ
  250.   #---------------------------------------------------------
  251.   def phase5_next_levelup
  252.     begin
  253.       # 次のアクターへ
  254.       @exp_gain_actor += 1
  255.       # 最後のアクターの場合
  256.       if @exp_gain_actor >= $game_party.actors.size
  257.         # アフターバトルフェーズ開始
  258.         @phase5_step = 0
  259.         return
  260.       end
  261.       actor = $game_party.actors[@exp_gain_actor]
  262.       if actor.cant_get_exp? == false
  263.         # 現在の能力値を保持
  264.         last_level = actor.level
  265.         last_maxhp = actor.maxhp
  266.         last_maxsp = actor.maxsp
  267.         last_str = actor.str
  268.         last_dex = actor.dex
  269.         last_agi = actor.agi
  270.         last_int = actor.int
  271.         # 経験値取得の決定的瞬間(謎
  272.         actor.exp += @exp_gained / $game_party.actors.size
  273.         # 判定
  274.         if actor.level > last_level
  275.           actor.hp = actor.maxhp;         
  276.           actor.sp = actor.maxsp
  277.           # レベルアップした場合
  278.           @status_window.level_up(@exp_gain_actor)
  279.           # リザルトウィンドウを消す
  280.           @result_window.visible = false
  281.           # LEVEL-UPウィンドウの設定
  282.           @levelup_window = Window_LevelUpWindow.new(actor, last_level,
  283.           actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
  284.           actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
  285.           @levelup_window.x = 160 * @exp_gain_actor
  286.           @levelup_window.visible = true
  287.           # ステータスウィンドウをリフレッシュ
  288.           @status_window.refresh
  289.           # スキル習得ウィンドウの設定
  290.           @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
  291.           # ウェイトカウントを設定
  292.           @phase5_wait_count = 40
  293.           @phase5_step = 1
  294.           return
  295.         end
  296.       end
  297.     end until false
  298.   end
  299. end


  300. #=============================================================
  301. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  302. #=============================================================
复制代码
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: jhhuang    时间: 2007-8-25 02:14
标题: 经验平分显示怎么改?
下面是升级提示脚本,我改了
        # 経験値取得の決定的瞬間(謎
        actor.exp += @exp_gained / $game_party.actors.size
人数决定经验,但是显示不变,怎么办?



  1. #===============================================================
  2. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  3. #===============================================================


  4. # ———————————————————————————

  5. # ▼▲▼ XRXS_BP10. LEVEL UP!能力上昇表示ウィンドウ plus ▼▲▼
  6. # by 桜雅 在土

  7. #——以下3个如果需要修改,直接输入文件名即可

  8. #=============================================================
  9. # ■ Window_LevelUpWindow
  10. #-------------------------------------------------------------------
  11. #  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
  12. #=============================================================
  13. class Window_LevelUpWindow < Window_Base
  14.   #---------------------------------------------------------
  15.   # ● オブジェクト初期化
  16.   #------------------------------------------------------
  17.   def initialize(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  18.     super(0, 128, 160, 192)
  19.     self.contents = Bitmap.new(width - 32, height - 32)
  20.     self.visible = false
  21.     self.back_opacity = 160
  22.     refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  23.   end
  24.   #-----------------------------------------------------------
  25.   # ● リフレッシュ
  26.   #---------------------------------------------------------
  27.   def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  28.     self.contents.clear
  29.     self.contents.font.color = system_color
  30.     self.contents.font.size = 14
  31.     self.contents.draw_text( 0, 0, 160, 24, "等级 UP!!")
  32.     self.contents.font.size = 18
  33.     self.contents.draw_text( 0, 28, 160, 24, $data_system.words.hp)
  34.     self.contents.draw_text( 0, 50, 160, 24, $data_system.words.sp)
  35.     self.contents.font.size = 14
  36.     self.contents.draw_text( 0, 72, 80, 24, $data_system.words.str)
  37.     self.contents.draw_text( 0, 94, 80, 24, $data_system.words.dex)
  38.     self.contents.draw_text( 0, 116, 80, 24, $data_system.words.agi)
  39.     self.contents.draw_text( 0, 138, 80, 24, $data_system.words.int)
  40.     self.contents.draw_text(92, 0, 128, 24, "→")
  41.     self.contents.draw_text(76, 28, 128, 24, "=")
  42.     self.contents.draw_text(76, 50, 128, 24, "=")
  43.     self.contents.draw_text(76, 72, 128, 24, "=")
  44.     self.contents.draw_text(76, 94, 128, 24, "=")
  45.     self.contents.draw_text(76, 116, 128, 24, "=")
  46.     self.contents.draw_text(76, 138, 128, 24, "=")
  47.     self.contents.font.color = normal_color
  48.     self.contents.draw_text( 0, 0, 88, 24, last_lv.to_s, 2)
  49.     self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
  50.     self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
  51.     self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
  52.     self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
  53.     self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
  54.     self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
  55.     self.contents.font.size = 20
  56.     self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
  57.     self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
  58.     self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
  59.     self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
  60.     self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
  61.     self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
  62.     self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
  63.   end
  64. end
  65. #===========================================================
  66. # ■ Window_SkillLearning
  67. #------------------------------------------------------------------------------
  68. #  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
  69. #=============================================================
  70. class Window_SkillLearning < Window_Base
  71.   #-------------------------------------------------------------
  72.   # ● 公開インスタンス変数
  73.   #-----------------------------------------------------------
  74.   attr_reader :learned # スキルを習得したかどうか
  75.   #----------------------------------------------------------
  76.   # ● オブジェクト初期化
  77.   #----------------------------------------------------------
  78.   def initialize(class_id, last_lv, now_lv)
  79.     super(160, 64, 320, 64)
  80.     self.contents = Bitmap.new(width - 32, height - 28) # わざと▽を表示
  81.     self.visible = false
  82.     self.back_opacity = 160
  83.     @learned = false
  84.     refresh(class_id, last_lv, now_lv)
  85.   end
  86.   #------------------------------------------------------------
  87.   # ● リフレッシュ
  88.   #-------------------------------------------------------
  89.   def refresh(class_id, last_lv, now_lv)
  90.     for i in 0...$data_classes[class_id].learnings.size
  91.       learn_lv = $data_classes[class_id].learnings[i].level
  92.       # 今回のレベルアップ範囲で習得するスキルの場合
  93.       if learn_lv > last_lv and learn_lv <= now_lv
  94.         @learned = true
  95.         # 各描写
  96.         skill_name = $data_skills[$data_classes[class_id].learnings[i].skill_id].name
  97.         self.contents.clear
  98.         self.contents.font.color = text_color(0)
  99.         self.contents.draw_text(0,0,448,32, "学会特技:"+skill_name)
  100.         self.contents.font.color = text_color(6)
  101.         self.contents.draw_text(0,0,448,32, "          "+skill_name)
  102.         self.contents.font.color = text_color(0)
  103.         self.visible = true
  104.         # メインループ
  105.         loop do
  106.           # ゲーム画面を更新
  107.           Graphics.update
  108.           # 入力情報を更新
  109.           Input.update
  110.           # フレーム更新
  111.           update
  112.           # 画面が切り替わったらループを中断
  113.           if @learned == false
  114.             break
  115.           end
  116.         end
  117.       # メインループここまで
  118.       end
  119.     end
  120.   end
  121.   #-----------------------------------------------------------
  122.   # ● フレーム更新
  123.   #------------------------------------------------------------
  124.   def update
  125.     # C ボタンが押された場合
  126.     if Input.trigger?(Input::C)
  127.       @learned = false
  128.       self.visible = false
  129.     end
  130.   end
  131. end
  132. #==================================================================
  133. # ■ Window_BattleStatus
  134. #==================================================================
  135. class Window_BattleStatus < Window_Base
  136.   #---------------------------------------------------------
  137.   # ● 追加?公開インスタンス変数
  138.   #-------------------------------------------------------
  139.   attr_accessor :level_up_flags # LEVEL UP!表示
  140. end
  141. #===============================================================
  142. # ■ Game_Battler
  143. #===============================================================
  144. class Game_Battler
  145.   #--------------------------------------------------------------
  146.   # ● 追加?公開インスタンス変数
  147.   #----------------------------------------------------------
  148.   attr_accessor :exp_gain_ban # EXP取得一時禁止
  149.   #------------------------------------------------------
  150.   # ● オブジェクト初期化
  151.   #-----------------------------------------------------
  152.   alias xrxs_bp10_initialize initialize
  153.   def initialize
  154.     @exp_gain_ban = false
  155.     xrxs_bp10_initialize
  156.   end
  157.   #-------------------------------------------------------
  158.   # ● ステート [EXP を獲得できない] 判定
  159.   #-----------------------------------------------------
  160.   alias xrxs_bp10_cant_get_exp? cant_get_exp?
  161.   def cant_get_exp?
  162.     if @exp_gain_ban == true
  163.       return true
  164.     else
  165.       return xrxs_bp10_cant_get_exp?
  166.     end
  167.   end
  168. end
  169. #==============================================================
  170. # ■ Scene_Battle
  171. #==============================================================
  172. class Scene_Battle
  173.   #--------------------------------------------------
  174.   # ● アフターバトルフェーズ開始
  175.   #--------------------------------------------------
  176.   alias xrxs_bp10_start_phase5 start_phase5
  177.   def start_phase5
  178.     # EXP 獲得禁止
  179.     for i in 0...$game_party.actors.size
  180.       $game_party.actors[i].exp_gain_ban = true
  181.     end
  182.     xrxs_bp10_start_phase5
  183.     # EXP 獲得禁止の解除
  184.     for i in 0...$game_party.actors.size
  185.       $game_party.actors[i].exp_gain_ban = false
  186.     end
  187.     # EXPを初期化
  188.     @exp_gained = 0
  189.     for enemy in $game_troop.enemies
  190.       # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
  191.       @exp_gained += enemy.exp if not enemy.hidden
  192.     end
  193.     # 設定
  194.     @phase5_step = 1
  195.     @exp_gain_actor = -1
  196.     # リザルトウィンドウを表示
  197.     @result_window.visible = true
  198.   end
  199.   #----------------------------------------------------------
  200.   # ● フレーム更新 (アフターバトルフェーズ)
  201.   #--------------------------------------------------------
  202.   #alias xrxs_bp10_update_phase5 update_phase5
  203.   def update_phase5
  204.     case @phase5_step
  205.     when 1
  206.       update_phase5_step1
  207.     else
  208.     # ウェイトカウントが 0 より大きい場合
  209.       if @phase5_wait_count > 0
  210.         # ウェイトカウントを減らす
  211.         @phase5_wait_count -= 1
  212.         # ウェイトカウントが 0 になった場合
  213.         if @phase5_wait_count == 0
  214.           # リザルトウィンドウを表示
  215.           #@result_window.visible = true
  216.           # メインフェーズフラグをクリア
  217.           $game_temp.battle_main_phase = false
  218.           # ステータスウィンドウをリフレッシュ
  219.           @status_window.refresh
  220.         ##########################################################################
  221.         common_event = $data_common_events[409]
  222.         $game_system.battle_interpreter.setup(common_event.list, 0)
  223.         ##########################################################################
  224.         end
  225.       return
  226.       end
  227.       # C ボタンが押された場合
  228.       if Input.trigger?(Input::C)
  229.         # バトル終了
  230.         battle_end(0)
  231.       end
  232.     # レベルアップしている場合は強制バトル終了
  233.     battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
  234.     end
  235.   end
  236.   #-----------------------------------------------------------
  237.   # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
  238.   #-----------------------------------------------------------
  239.   def update_phase5_step1
  240.     # C ボタンが押された場合
  241.     if Input.trigger?(Input::C)
  242.       # ウィンドウを閉じて次のアクターへ
  243.       @levelup_window.visible = false if @levelup_window != nil
  244.       @status_window.level_up_flags[@exp_gain_actor] = false
  245.       phase5_next_levelup
  246.     end
  247.   end
  248.   #---------------------------------------------------------
  249.   # ● 次のアクターのレベルアップ表示へ
  250.   #---------------------------------------------------------
  251.   def phase5_next_levelup
  252.     begin
  253.       # 次のアクターへ
  254.       @exp_gain_actor += 1
  255.       # 最後のアクターの場合
  256.       if @exp_gain_actor >= $game_party.actors.size
  257.         # アフターバトルフェーズ開始
  258.         @phase5_step = 0
  259.         return
  260.       end
  261.       actor = $game_party.actors[@exp_gain_actor]
  262.       if actor.cant_get_exp? == false
  263.         # 現在の能力値を保持
  264.         last_level = actor.level
  265.         last_maxhp = actor.maxhp
  266.         last_maxsp = actor.maxsp
  267.         last_str = actor.str
  268.         last_dex = actor.dex
  269.         last_agi = actor.agi
  270.         last_int = actor.int
  271.         # 経験値取得の決定的瞬間(謎
  272.         actor.exp += @exp_gained / $game_party.actors.size
  273.         # 判定
  274.         if actor.level > last_level
  275.           actor.hp = actor.maxhp;         
  276.           actor.sp = actor.maxsp
  277.           # レベルアップした場合
  278.           @status_window.level_up(@exp_gain_actor)
  279.           # リザルトウィンドウを消す
  280.           @result_window.visible = false
  281.           # LEVEL-UPウィンドウの設定
  282.           @levelup_window = Window_LevelUpWindow.new(actor, last_level,
  283.           actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
  284.           actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
  285.           @levelup_window.x = 160 * @exp_gain_actor
  286.           @levelup_window.visible = true
  287.           # ステータスウィンドウをリフレッシュ
  288.           @status_window.refresh
  289.           # スキル習得ウィンドウの設定
  290.           @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
  291.           # ウェイトカウントを設定
  292.           @phase5_wait_count = 40
  293.           @phase5_step = 1
  294.           return
  295.         end
  296.       end
  297.     end until false
  298.   end
  299. end


  300. #=============================================================
  301. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  302. #=============================================================
复制代码
[LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: rubygomax    时间: 2007-8-25 03:04
{/gg}要平分经验值改这里...Scene_Battle 2里找到

# 限制宝物数为 6 个
    treasures = treasures[0..5]
......
...
    # 获得 EXP
       exp=(exp/$game_party.actors.size).to_i
        # 平分后避免有点数出现,要使用.to_i
        for i in 0...$game_party.actors.size
        actor = $game_party.actors
        if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
        @status_window.level_up(i)
        end
        end
        end

看参战人数来做平分... [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1