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

Project1

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

战斗完显示经验值和金钱可以加上获得二字吗

 关闭 [复制链接]

Lv1.梦旅人

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

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

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

x
1:战斗完显示经验值和金钱可以加上获得二字吗
2:升级时可以在旁边加上角色的图片吗可以的话我要详细的说明
版务信息:版主帮忙结贴~
《神雕侠侣后传》预告系统:完全鼠标操作。战斗:全动画CP制战斗。系统:100%,已完成。素材:人物60%,地图20%剧情:20%。CG动画:100%。http://rpg.blue/forumTopicR ... 2%2D23+21%3A42%3A05
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-8-23
帖子
77
2
发表于 2008-9-26 03:47:10 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2008-8-1
帖子
532
3
 楼主| 发表于 2008-9-26 04:51:59 | 只看该作者
Window_BattleResult,把里面的"EXP"换成"获得EXP",那样的话就成了“150获得经验值”怎么该成“获得150经验值”
《神雕侠侣后传》预告系统:完全鼠标操作。战斗:全动画CP制战斗。系统:100%,已完成。素材:人物60%,地图20%剧情:20%。CG动画:100%。http://rpg.blue/forumTopicR ... 2%2D23+21%3A42%3A05
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
4
发表于 2008-9-26 05:09:23 | 只看该作者
  1. class Window_BattleResult < Window_Base
  2.     def refresh
  3.     self.contents.clear
  4.     self.contents.font.color = system_color
  5.     self.contents.draw_text(4,0,64,32,"获得:")
  6.     x = 66
  7.     self.contents.font.color = normal_color
  8.     cx = contents.text_size(@exp.to_s).width
  9.     self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
  10.     x += cx + 4
  11.     self.contents.font.color = system_color
  12.     cx = contents.text_size("EXP").width
  13.     self.contents.draw_text(x, 0, 64, 32, "EXP")
  14.     x += cx + 16
  15.     self.contents.font.color = normal_color
  16.     cx = contents.text_size(@gold.to_s).width
  17.     self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
  18.     x += cx + 4
  19.     self.contents.font.color = system_color
  20.     self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
  21.     y = 32
  22.     for item in @treasures
  23.       draw_item_name(item, 4, y)
  24.       y += 32
  25.     end
  26.   end
  27. end
复制代码


把这个脚本塞到MAIN前就行了~~

声明,不负责售后服务。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

青天

梦石
0
星屑
86
在线时间
232 小时
注册时间
2007-12-15
帖子
2091

开拓者

5
发表于 2008-9-26 05:29:08 | 只看该作者
汗,刀叔,话说这能显示角色的图片吗?
开坑准备中
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
6
发表于 2008-9-26 05:32:17 | 只看该作者
-。-只回答他标题上的问题而已.......附加问题无视...

因为楼主没说他有没有使用升级脚本还是默认的,还有没说要如何显示显示在那里,以及显示的效果大小位置时间取消方式等,按自己的写出来不合适的话纯粹浪费劳动力而已。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

青天

梦石
0
星屑
86
在线时间
232 小时
注册时间
2007-12-15
帖子
2091

开拓者

7
发表于 2008-9-26 05:35:11 | 只看该作者
额,确实是啊。弱弱地问一下刀叔,能不能加我一下QQ好友?517487760
开坑准备中
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
8
发表于 2008-9-26 05:41:05 | 只看该作者
除非有事或者是想和GF视频什么的,否则一般不上QQ~~ -。-,加了也没用~~

PS,版聊倾向,散...水区见-。-~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
256 小时
注册时间
2008-8-1
帖子
532
9
 楼主| 发表于 2008-9-26 07:38:40 | 只看该作者
我用的是以下脚本:我想在升级时显示要升级的角色图片可以实现吗
  1. # ————————————————————————————————————
  2. #——以下3个如果需要修改,直接输入文件名即可
  3. $data_system_level_up_se = "" #升级时的音效设置
  4. $data_system_level_up_me = "Audio/ME/008-Fanfare02" # 升级时播放的ME
  5. $data_system_skilllearn_se = "Audio/SE/106-Heal02" # 学会特技时播放的声效。

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


  306. #==============================================================================
  307. #==============================================================================



  308. #=============================================================
  309. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  310. #=============================================================
  311. #==============================================================================
  312. # ■ Window_Base
  313. #------------------------------------------------------------------------------
  314. #  游戏中全部窗口的超级类。
  315. #==============================================================================

  316. class Window_Base < Window

  317.         def draw_actor_face(actor,x,y)
  318. bitmap = RPG::Cache.battler(actor.name+"_h.png", actor.battler_hue)
  319. self.contents.blt(x,y,bitmap,Rect.new(0,0,bitmap.width,bitmap.height ))
  320. end
  321. end
复制代码
《神雕侠侣后传》预告系统:完全鼠标操作。战斗:全动画CP制战斗。系统:100%,已完成。素材:人物60%,地图20%剧情:20%。CG动画:100%。http://rpg.blue/forumTopicR ... 2%2D23+21%3A42%3A05
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
39163
在线时间
5737 小时
注册时间
2006-11-10
帖子
6638
10
发表于 2008-9-26 10:10:09 | 只看该作者
-.-这个脚本作者本身就有定义头像,为什么没使用呢~~~~
反正我把那个功能加进去了。头像放在BATTLER文件夹内。头像图片的名称是1号角色“1_caidao.png”2号角色“2_caidao.png”以此类推-。-

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

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


  307. #==============================================================================
  308. #==============================================================================



  309. #=============================================================
  310. # 本脚本来自www.66RPG.com,使用和转载请保留此信息
  311. #=============================================================
  312. #==============================================================================
  313. # ■ Window_Base
  314. #------------------------------------------------------------------------------
  315. #  游戏中全部窗口的超级类。
  316. #==============================================================================

  317. class Window_Base < Window
  318. def draw_actor_face(actor,x,y)
  319. bitmap = RPG::Cache.battler(actor.id+"_caidao.png", actor.battler_hue)
  320. self.contents.blt(x,y,bitmap,Rect.new(0,0,bitmap.width,bitmap.height ))
  321. end
  322. end
复制代码

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

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-23 22:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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