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

Project1

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

有没有升级自动提示的脚本

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-13
帖子
6
跳转到指定楼层
1
发表于 2008-1-17 21:29:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽

Lv1.梦旅人

忘记

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


  283. #=============================================================
  284. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  285. #=============================================================
复制代码

系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
因为你哭泣的时候有我想你你被人嘲笑时有我陪你在你感觉最无助的那一刻有个声音鼓励
<font color=#8600E9>忘记</font>
回复 支持 反对

使用道具 举报

Lv1.梦旅人

随缘

梦石
0
星屑
55
在线时间
12 小时
注册时间
2007-12-16
帖子
671
3
发表于 2008-1-17 21:57:15 | 只看该作者
多用"搜索"这个在主站能"搜索"出来....提问时先自己找找
论坛:
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-1-13
帖子
6
4
 楼主| 发表于 2008-1-17 22:01:15 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-7-27 19:17

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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