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

Project1

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

500分~求 改升级提示脚本!(不用要求打字效果了)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2007-6-8
帖子
505
跳转到指定楼层
1
发表于 2008-8-1 21:44:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
最近比较忙,没有时间弄这些东西,还请大家帮个忙!


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


  5. # ———————————————————————————

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

  8. #——以下3个如果需要修改,直接输入文件名即可
  9. $data_system_level_up_se = "" #升级时的音效设置
  10. $data_system_level_up_me = "Audio/ME/007-Fanfare01" # 升级时播放的ME
  11. $data_system_skilllearn_se = "Audio/SE/106-Heal02" # 学会特技时播放的声效。

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


  318. #=============================================================
  319. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  320. #=============================================================
复制代码
请大家帮我改一下,要求改成的效果是
先显示 :XXX等级提升了!
然后 分别一行行的写出  
力量提高了(等待X帧)X点
敏捷提高了(等待X帧)X点
.........
学会了(等待X帧)X技能。
over~~
谢谢各位了

此贴于 2008-8-9 1:43:00 被版主darkten提醒,请楼主看到后对本贴做出回应。
版务信息:本贴由楼主自主结贴~
囧...总算是有图片菜单了, 我不是X党!!!强烈抗议!

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3452
在线时间
3630 小时
注册时间
2006-9-6
帖子
37402

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

2
发表于 2008-8-1 21:45:24 | 只看该作者
字一个一个打出?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2007-6-8
帖子
505
3
 楼主| 发表于 2008-8-1 21:47:31 | 只看该作者
恩是的~~!就像对话加强脚本的那样的效果!
以下引用越前リョーマ于2008-8-1 13:45:24的发言:

字一个一个打出?

囧...总算是有图片菜单了, 我不是X党!!!强烈抗议!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
198
在线时间
21 小时
注册时间
2008-7-4
帖子
69
4
发表于 2008-8-2 17:06:25 | 只看该作者
真难
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2008-5-18
帖子
251
5
发表于 2008-8-2 17:24:06 | 只看该作者
以下引用神秘飞天猪于2008-8-2 9:06:25的发言:

真难

的确
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2007-6-8
帖子
505
6
 楼主| 发表于 2008-8-2 23:16:03 | 只看该作者
不用打字效果了 应该简单很多了吧 大家加油吧 嘿嘿~
囧...总算是有图片菜单了, 我不是X党!!!强烈抗议!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
7 小时
注册时间
2008-7-30
帖子
33
7
发表于 2008-8-8 01:48:34 | 只看该作者
纯苦力活。。。不过看在有点兴趣的份上帮楼主做了。。。。看看符不符合要求。。。


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


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

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

  7. #——以下3个如果需要修改,直接输入文件名即可
  8. $data_system_level_up_se = "" #升级时的音效设置
  9. $data_system_level_up_me = "Audio/ME/007-Fanfare01" # 升级时播放的ME
  10. $data_system_skilllearn_se = "Audio/SE/106-Heal02" # 学会特技时播放的声效。
  11. WAIT_COUNT = 100 #打字速度,数字越大越慢
  12. #=============================================================
  13. # ■ Window_LevelUpWindow
  14. #-------------------------------------------------------------------
  15. #  バトル終了時、レベルアップした場合にステータスを表示するウィンドウです。
  16. #=============================================================
  17. class Window_LevelUpWindow < Window_Base
  18.   #---------------------------------------------------------
  19.   # ● オブジェクト初期化
  20.   #------------------------------------------------------
  21.   def initialize
  22.     super(0, 128, 160, 192)
  23.     self.contents = Bitmap.new(width - 32, height - 32)
  24.     self.visible = false
  25.     self.back_opacity = 160
  26.    
  27.    
  28.   end
  29.   #-----------------------------------------------------------
  30.   # ● リフレッシュ
  31.   #---------------------------------------------------------
  32.   def refresh(actor, last_lv, up_hp, up_sp, up_str, up_dex, up_agi, up_int)
  33.     self.contents.clear
  34.     word = []
  35.     word[0] = "LEVEL UP!!"
  36.     word[1] = "Max" + $data_system.words.hp
  37.     word[2] = "Max" + $data_system.words.sp
  38.     word[3] = ""+$data_system.words.str
  39.     word[4] = ""+$data_system.words.dex
  40.     word[5] = ""+$data_system.words.agi
  41.     word[6] = ""+$data_system.words.int
  42.     x = y = 0
  43.     for i in  0..word.size - 1
  44.        if i == 0
  45.            self.contents.font.color.set(0, 253, 48)
  46.            self.contents.font.size = 14
  47.        elsif i == 1 or i == 2
  48.           self.contents.font.size = 16
  49.           self.contents.font.color.set(255, 155, 0)
  50.        else
  51.           self.contents.font.size = 14
  52.           self.contents.font.color = system_color
  53.        end
  54.        x = 0
  55.       
  56.       while ((c = word[i].slice!(/./m)) != nil)
  57.         self.contents.draw_text(4 + x, y, 160, 24, c)
  58.         Graphics.update
  59.         wait_for  
  60.         x += self.contents.text_size(c).width
  61.       end  
  62.       self.contents.font.color = normal_color
  63.       case i
  64.        when 0
  65.          self.contents.draw_text(92, y, 128, 24, "→")
  66.         
  67.          self.contents.draw_text( 0, y, 88, 24, last_lv.to_s, 2)
  68.          self.contents.font.size = 20
  69.          self.contents.draw_text( 0, 0, 128, 24, actor.level.to_s, 2)
  70.         y = 28
  71.         
  72.         when 1
  73.         
  74.         self.contents.draw_text( 0, 28, 72, 24, "+" + up_hp.to_s, 2)
  75.         self.contents.font.size = 20
  76.        self.contents.draw_text( 0, 26, 128, 24, actor.maxhp.to_s, 2)
  77.        when 2
  78.         
  79.         self.contents.draw_text( 0, 50, 72, 24, "+" + up_sp.to_s, 2)
  80.         self.contents.font.size = 20
  81.         self.contents.draw_text( 0, 48, 128, 24, actor.maxsp.to_s, 2)
  82.        when 3
  83.          
  84.          self.contents.draw_text( 0, 72, 72, 24, "+" + up_str.to_s, 2)
  85.          self.contents.font.size = 20
  86.          self.contents.draw_text( 0, 70, 128, 24, actor.str.to_s, 2)
  87.        when 4
  88.         
  89.          self.contents.draw_text( 0, 94, 72, 24, "+" + up_dex.to_s, 2)
  90.          self.contents.font.size = 20
  91.          self.contents.draw_text( 0, 92, 128, 24, actor.dex.to_s, 2)
  92.        when 5
  93.         
  94.          self.contents.draw_text( 0, 116, 72, 24, "+" + up_agi.to_s, 2)
  95.          self.contents.font.size = 20
  96.          self.contents.draw_text( 0, 114, 128, 24, actor.agi.to_s, 2)
  97.        when 6
  98.          self.contents.draw_text( 0, 138, 72, 24, "+" + up_int.to_s, 2)
  99.          self.contents.font.size = 20
  100.          self.contents.draw_text( 0, 136, 128, 24, actor.int.to_s, 2)
  101.        end  
  102.       self.contents.font.size = 14
  103.       self.contents.draw_text(76, y, 128, 24, "=") if i != 0
  104.       y += 22 if i != 0
  105.     end   
  106.   end
  107.   def wait_for
  108.     wait_count = WAIT_COUNT
  109.     while wait_count > 0
  110.       wait_count -= 0.001
  111.     end
  112.   
  113.   end
  114. end
  115. #===========================================================
  116. # ■ Window_SkillLearning
  117. #------------------------------------------------------------------------------
  118. #  レベルアップ時などにスキルを習得した場合にそれを表示するウィンドウです。
  119. #=============================================================
  120. class Window_SkillLearning < Window_Base
  121.   #-------------------------------------------------------------
  122.   # ● 公開インスタンス変数
  123.   #-----------------------------------------------------------
  124.   attr_reader :learned # スキルを習得したかどうか
  125.   #----------------------------------------------------------
  126.   # ● オブジェクト初期化
  127.   #----------------------------------------------------------
  128.   def initialize(class_id, last_lv, now_lv)
  129.     super(160, 64, 320, 64)
  130.     self.contents = Bitmap.new(width - 32, height - 28) # わざと▽を表示
  131.     self.visible = false
  132.     self.back_opacity = 160
  133.     @learned = false
  134.     refresh(class_id, last_lv, now_lv)
  135.   end
  136.   #------------------------------------------------------------
  137.   # ● リフレッシュ
  138.   #-------------------------------------------------------
  139.   def refresh(class_id, last_lv, now_lv)
  140.     for i in 0...$data_classes[class_id].learnings.size
  141.       learn_lv = $data_classes[class_id].learnings[i].level
  142.       # 今回のレベルアップ範囲で習得するスキルの場合
  143.       if learn_lv > last_lv and learn_lv <= now_lv
  144.         @learned = true
  145.         # SEの再生
  146.         if $data_system_skilllearn_se != ""
  147.           Audio.se_play($data_system_skilllearn_se)
  148.         end
  149.         # 各描写
  150.         skill_name = $data_skills[$data_classes[class_id].learnings[i].skill_id].name
  151.         self.contents.clear
  152.         self.contents.font.color = text_color(0)
  153.         self.contents.draw_text(0,0,448,32, "学会特技:")
  154.         x = self.contents.text_size("学会特技:").width
  155.         self.visible = true
  156.         while ((c = skill_name.slice!(/./m)) != nil)
  157.           self.contents.font.color = text_color(0)
  158.           self.contents.draw_text(x, 0, 448, 32, c)
  159.           self.contents.font.color = text_color(6)
  160.           self.contents.draw_text(x + 1, 0, 448, 32,c)
  161.           Graphics.update
  162.           wait_for  
  163.           x += self.contents.text_size(c).width
  164.         end  
  165.         self.contents.font.color = text_color(0)
  166.         
  167.         
  168.         # メインループ
  169.         loop do
  170.           # ゲーム画面を更新
  171.           Graphics.update
  172.           # 入力情報を更新
  173.           Input.update
  174.           # フレーム更新
  175.           update
  176.           # 画面が切り替わったらループを中断
  177.           if @learned == false
  178.             break
  179.           end
  180.         end
  181.       # メインループここまで
  182.       end
  183.     end
  184.   end
  185.   #-----------------------------------------------------------
  186.   # ● フレーム更新
  187.   #------------------------------------------------------------
  188.   def update
  189.     # C ボタンが押された場合
  190.     if Input.trigger?(Input::C)
  191.       @learned = false
  192.       self.visible = false
  193.     end
  194.   end
  195.   #==========================================
  196.   #等待
  197.   #==========================================
  198.   def wait_for
  199.     wait_count = WAIT_COUNT
  200.     while wait_count > 0
  201.       wait_count -= 0.001
  202.     end
  203.   
  204.   end
  205. end
  206. #==================================================================
  207. # ■ Window_BattleStatus
  208. #==================================================================
  209. class Window_BattleStatus < Window_Base
  210.   #---------------------------------------------------------
  211.   # ● 追加?公開インスタンス変数
  212.   #-------------------------------------------------------
  213.   attr_accessor :level_up_flags # LEVEL UP!表示
  214. end
  215. #===============================================================
  216. # ■ Game_Battler
  217. #===============================================================
  218. class Game_Battler
  219.   #--------------------------------------------------------------
  220.   # ● 追加?公開インスタンス変数
  221.   #----------------------------------------------------------
  222.   attr_accessor :exp_gain_ban # EXP取得一時禁止
  223.   #------------------------------------------------------
  224.   # ● オブジェクト初期化
  225.   #-----------------------------------------------------
  226.   alias xrxs_bp10_initialize initialize
  227.   def initialize
  228.     @exp_gain_ban = false
  229.     xrxs_bp10_initialize
  230.   end
  231.   #-------------------------------------------------------
  232.   # ● ステート [EXP を獲得できない] 判定
  233.   #-----------------------------------------------------
  234.   alias xrxs_bp10_cant_get_exp? cant_get_exp?
  235.   def cant_get_exp?
  236.     if @exp_gain_ban == true
  237.       return true
  238.     else
  239.       return xrxs_bp10_cant_get_exp?
  240.     end
  241.   end
  242. end
  243. #==============================================================
  244. # ■ Scene_Battle
  245. #==============================================================
  246. class Scene_Battle
  247.   #--------------------------------------------------
  248.   # ● アフターバトルフェーズ開始
  249.   #--------------------------------------------------
  250.   alias xrxs_bp10_start_phase5 start_phase5
  251.   def start_phase5
  252.     # EXP 獲得禁止
  253.     for i in 0...$game_party.actors.size
  254.       $game_party.actors[i].exp_gain_ban = true
  255.     end
  256.     xrxs_bp10_start_phase5
  257.     # EXP 獲得禁止の解除
  258.     for i in 0...$game_party.actors.size
  259.       $game_party.actors[i].exp_gain_ban = false
  260.     end
  261.     # EXPを初期化
  262.     @exp_gained = 0
  263.     for enemy in $game_troop.enemies
  264.       # 獲得 EXPを追加 # エネミーが隠れ状態でない場合
  265.       @exp_gained += enemy.exp if not enemy.hidden
  266.     end
  267.     # 設定
  268.     @phase5_step = 1
  269.     @exp_gain_actor = -1
  270.     # リザルトウィンドウを表示
  271.     @result_window.visible = true
  272.   end
  273.   #----------------------------------------------------------
  274.   # ● フレーム更新 (アフターバトルフェーズ)
  275.   #--------------------------------------------------------
  276.   #alias xrxs_bp10_update_phase5 update_phase5
  277.   def update_phase5
  278.     case @phase5_step
  279.     when 1
  280.       update_phase5_step1
  281.     else
  282.     # ウェイトカウントが 0 より大きい場合
  283.       if @phase5_wait_count > 0
  284.         # ウェイトカウントを減らす
  285.         @phase5_wait_count -= 1
  286.         # ウェイトカウントが 0 になった場合
  287.         if @phase5_wait_count == 0
  288.           # リザルトウィンドウを表示
  289.           #@result_window.visible = true
  290.           # メインフェーズフラグをクリア
  291.           $game_temp.battle_main_phase = false
  292.           # ステータスウィンドウをリフレッシュ
  293.           @status_window.refresh
  294.         end
  295.       return
  296.       end
  297.       # C ボタンが押された場合
  298.       if Input.trigger?(Input::C)
  299.         # バトル終了
  300.         battle_end(0)
  301.       end
  302.     # レベルアップしている場合は強制バトル終了
  303.     battle_end(0) if @levelup_window != nil and @phase5_wait_count <= 0
  304.     end
  305.   end
  306.   #-----------------------------------------------------------
  307.   # ● フレーム更新 (アフターバトルフェーズ 1 : レベルアップ)
  308.   #-----------------------------------------------------------
  309.   def update_phase5_step1
  310.     # C ボタンが押された場合
  311.     if Input.trigger?(Input::C)
  312.       # ウィンドウを閉じて次のアクターへ
  313.       @levelup_window.visible = false if @levelup_window != nil
  314.       @status_window.level_up_flags[@exp_gain_actor] = false
  315.       phase5_next_levelup
  316.     end
  317.   end
  318.   #---------------------------------------------------------
  319.   # ● 次のアクターのレベルアップ表示へ
  320.   #---------------------------------------------------------
  321.   def phase5_next_levelup
  322.     begin
  323.       # 次のアクターへ
  324.       @exp_gain_actor += 1
  325.       # 最後のアクターの場合
  326.       if @exp_gain_actor >= $game_party.actors.size
  327.         # アフターバトルフェーズ開始
  328.         @phase5_step = 0
  329.         return
  330.       end
  331.       actor = $game_party.actors[@exp_gain_actor]
  332.       if actor.cant_get_exp? == false
  333.         # 現在の能力値を保持
  334.         last_level = actor.level
  335.         last_maxhp = actor.maxhp
  336.         last_maxsp = actor.maxsp
  337.         last_str = actor.str
  338.         last_dex = actor.dex
  339.         last_agi = actor.agi
  340.         last_int = actor.int
  341.         # 経験値取得の決定的瞬間(謎
  342.          if actor.state?(40)
  343.         actor.exp += @exp_gained *2
  344.          actor.remove_state(40,true)
  345.        else
  346.          actor.exp += @exp_gained
  347.        end
  348.         # 判定
  349.         if actor.level > last_level
  350.           # レベルアップした場合
  351.           @status_window.level_up(@exp_gain_actor)
  352.           # リザルトウィンドウを消す
  353.           @result_window.visible = false
  354.           # SEの再生
  355.           if $data_system_level_up_se != ""
  356.             Audio.se_play($data_system_level_up_se)
  357.           end
  358.           # MEの再生
  359.           if $data_system_level_up_me != ""
  360.             Audio.me_stop
  361.             Audio.me_play($data_system_level_up_me)
  362.           end
  363.           # LEVEL-UPウィンドウの設定
  364.           #===========================================================
  365.           @levelup_window = Window_LevelUpWindow.new
  366.           @levelup_window.x = 160 * @exp_gain_actor
  367.           @levelup_window.visible = true
  368.           @levelup_window.refresh(actor, last_level,actor.maxhp - last_maxhp, actor.maxsp - last_maxsp, actor.str - last_str,
  369.           actor.dex - last_dex, actor.agi - last_agi, actor.int - last_int)
  370.          
  371.           # ステータスウィンドウをリフレッシュ
  372.           @status_window.refresh
  373.           # スキル習得ウィンドウの設定
  374.           @skilllearning_window = Window_SkillLearning.new(actor.class_id, last_level, actor.level)
  375.           #===========================================================
  376.           # ウェイトカウントを設定
  377.           @phase5_wait_count = 40
  378.           @phase5_step = 1
  379.           return
  380.         end
  381.       end
  382.     end until false
  383.   end
  384. end


  385. #=============================================================
  386. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  387. #=============================================================


复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
Freedom!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-4-29
帖子
114
8
发表于 2008-8-11 18:37:21 | 只看该作者
{/gg}研究了很久
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
3 小时
注册时间
2007-6-8
帖子
505
9
 楼主| 发表于 2008-8-14 00:02:47 | 只看该作者
我没有带东西 资料拷贝不下来 改天看看吧
囧...总算是有图片菜单了, 我不是X党!!!强烈抗议!
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-8-14
帖子
44
10
发表于 2008-8-14 01:25:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-27 12:30

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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