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

Project1

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

[已经过期] 这个仿RMXP胜利结算的脚本怎么添加个角色习得技能的提示?

[复制链接]

Lv3.寻梦者

梦石
0
星屑
3637
在线时间
912 小时
注册时间
2017-1-19
帖子
269
跳转到指定楼层
1
发表于 2021-9-30 16:20:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  1. =begin #=======================================================================
  2.   
  3. ◆◇XP风结算画面 RGSS3◇◆

  4. ◆DEICIDE ALMA
  5. ◆レーネ 
  6. ◆http://blog.goo.ne.jp/exa_deicide_alma

  7. ★機能
  8. 一个战斗胜利后的结算画面

  9. ◆導入箇所
  10. ▼素材のところ、mainより上

  11. =end #=========================================================================
  12. module RENNE ; module XP_RESULT
  13.   
  14.   # 从战斗结束时ME的开始到结果显示的时间
  15.   ME_TIME = 30
  16.   
  17.   # 从显示窗口到接受玩家按键输入的时间(帧)
  18.   ABS_WAIT = 1
  19.   
  20.   # EXP 文字
  21.   EXP = "经验值"
  22.   
  23.   # SE("文件路径",音量,音调)
  24.   # 不播放则设定为: SE = nil  
  25.   SE = ["Audio/SE/Shop", 80, 100]
  26.   
  27.   # 获得物品的最大显示数量
  28.   # ※建议使用14或更少
  29.   MAX = 8
  30.   
  31. end ; end

  32. $renne_rgss3 = {} if $renne_rgss3.nil?
  33. $renne_rgss3[:xp_result] = true

  34. class << BattleManager
  35.   #--------------------------------------------------------------------------
  36.   # ● 公開インスタンス変数
  37.   #--------------------------------------------------------------------------
  38.   attr_accessor :battle_result_method
  39.   #--------------------------------------------------------------------------
  40.   # ● 勝利の処理 ※再定義
  41.   #--------------------------------------------------------------------------
  42.   def process_victory
  43.     play_battle_end_me
  44.     replay_bgm_and_bgs
  45.     #gain_gold
  46.     gain_drop_items
  47.     gain_exp
  48.     display_battle_result
  49.     SceneManager.return
  50.     battle_end(0)
  51.     return true
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● お金の獲得と表示 ※再定義
  55.   #--------------------------------------------------------------------------
  56.   def gain_gold
  57.     $game_party.gain_gold($game_troop.gold_total)
  58.   end
  59.   #--------------------------------------------------------------------------
  60.   # ● ドロップアイテムの獲得と表示 ※再定義
  61.   #--------------------------------------------------------------------------
  62.   def gain_drop_items
  63.     @get_items = []
  64.     $game_troop.make_drop_items.each do |item|
  65.       $game_party.gain_item(item, 1)
  66.       @get_items << item
  67.     end
  68.   end
  69.   #--------------------------------------------------------------------------
  70.   # ● 経験値の獲得とレベルアップの表示 ※再定義
  71.   #--------------------------------------------------------------------------
  72.   def gain_exp
  73.     $game_party.all_members.each do |actor|
  74.       actor.xp_result_mode = true
  75.       actor.gain_exp($game_troop.exp_total)
  76.       actor.xp_result_mode = false
  77.     end
  78.   end
  79.   #--------------------------------------------------------------------------
  80.   # ● バトルリザルトの表示
  81.   #--------------------------------------------------------------------------
  82.   def display_battle_result
  83.     RENNE::XP_RESULT::ME_TIME.times{|i| battle_result_method.call}
  84.     exp = $game_troop.exp_total
  85.     gold = $game_troop.gold_total
  86.     @result_window = Window_BattleResult.new(exp, gold, @get_items)
  87.     Audio.se_play(*RENNE::XP_RESULT::SE) if RENNE::XP_RESULT::SE
  88.     RENNE::XP_RESULT::ABS_WAIT.times{|i| battle_result_method.call}
  89.     battle_result_method.call until Input.trigger?(:C)
  90.     @result_window.dispose
  91.   end
  92. end

  93. class Game_Actor < Game_Battler
  94.   #--------------------------------------------------------------------------
  95.   # ● 公開インスタンス変数
  96.   #--------------------------------------------------------------------------
  97.   attr_accessor :xp_result_mode
  98.   #--------------------------------------------------------------------------
  99.   # ● 経験値の変更(エイリアス)
  100.   #--------------------------------------------------------------------------
  101.   alias xp_result_change_exp change_exp
  102.   def change_exp(exp, show)
  103.     show = false if @xp_result_mode
  104.     xp_result_change_exp(exp, show)
  105.   end
  106. end
  107. class Window_BattleResult < Window_Base
  108.   #--------------------------------------------------------------------------
  109.   # ● オブジェクト初期化
  110.   #--------------------------------------------------------------------------
  111.   def initialize(exp, gold, items)
  112.     @exp = exp
  113.     @gold = gold
  114.     @items = items
  115.     w = 280
  116.     x = (Graphics.width - w) / 2
  117.     super(x, 0, w, [@items.size, RENNE::XP_RESULT::MAX].min * 24 + 48)
  118.     self.y = [160 - height / 2, 8].max
  119.     refresh
  120.   end
  121.   #--------------------------------------------------------------------------
  122.   # ● 刷新
  123.   #--------------------------------------------------------------------------
  124.   def refresh
  125.     contents.clear
  126.     x = 4
  127.     change_color(normal_color)
  128.     cx = contents.text_size(@exp.to_s).width + 4
  129.     draw_text(x+80, 0, cx, 32, @exp.to_s)
  130.     x += cx + 2
  131.     change_color(system_color)
  132.     cx = contents.text_size(RENNE::XP_RESULT::EXP).width + 4
  133.     draw_text(x+80, 0, cx, 32, RENNE::XP_RESULT::EXP)
  134.     x += cx + 12
  135.     change_color(normal_color)
  136.     cx = contents.text_size(@gold.to_s).width + 4
  137.     draw_text(x+90, 0, cx, 32, @gold.to_s)
  138.     x += cx + 2
  139.     change_color(system_color)
  140.     cx = contents.text_size(Vocab.currency_unit).width + 4
  141.     change_color(normal_color)
  142.     draw_text(x-144, 0, 80, 32, '获得了:')
  143.     draw_text(x-144, 20, 80, 32, '战利品:')
  144.     change_color(system_color)
  145.     draw_text(x+90, 0, cx, 32, Vocab.currency_unit)
  146.     @items.each_with_index{|item, idx| draw_item_name(item, 80, (1 + idx) * 24)}
  147. end
  148. end
  149. class Scene_Battle < Scene_Base
  150.   #--------------------------------------------------------------------------
  151.   # ● 開始処理(エイリアス)
  152.   #--------------------------------------------------------------------------
  153.   alias xp_result_start start
  154.   def start
  155.    xp_result_start
  156.    BattleManager.battle_result_method = method(:update_basic)
  157.   end
  158. end
复制代码
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-11-16 01:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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