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

Project1

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

[已经解决] 破限脚本与升级提示窗口不兼容问题!

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
93 小时
注册时间
2011-11-3
帖子
152
跳转到指定楼层
1
发表于 2012-1-31 02:53:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
嘛. 破限脚本各位前辈应该都有吧  = =~ 所以我在这里就不说了。。
关于这个升级提示窗口的脚本在这里

#=======================================================================
#★升级提示★
#-----------------------------------------------------------------------
#★作者: Zhong_zw
#★联系方式:66RPG.com论坛短信 或 [email protected]
#=======================================================================
class Game_Actor < Game_Battler
attr_accessor :last_level
def initialize(actor_id)
super()
setup(actor_id)
@last_level = 0
@last_skill_id = 0
end
def last_atk
n=0
for item in equips.compact do n += item.atk end
return actor.parameters[2,@last_level] + n
end
def last_def
n=0
for item in equips.compact do n += item.def end
return actor.parameters[3,@last_level] + n
end
def last_spi
n=0
for item in equips.compact do n += item.spi end
return actor.parameters[4,@last_level] + n
end
def last_agi
n=0
for item in equips.compact do n += item.agi end
return actor.parameters[5,@last_level] + n
end
def now_atk
n=0
for item in equips.compact do n += item.atk end
return actor.parameters[2,@level] + n
end
def now_def
n=0
for item in equips.compact do n += item.def end
return actor.parameters[3,@level] + n
end
def now_spi
n=0
for item in equips.compact do n += item.spi end
return actor.parameters[4,@level] + n
end
def now_agi
n=0
for item in equips.compact do n += item.agi end
return actor.parameters[5,@level] + n
end
def change_exp(exp, show)
@last_level = @level
last_skills = skills
@exp = [[exp, 9999999].min, 0].max
while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
level_up
end
while @exp < @exp_list[@level]
level_down
end
@hp = [@hp, maxhp].min
@mp = [@mp, maxmp].min
if show and @level > last_level
zhonglevelup_push(skills - last_skills)
end
end
#==========================================================================
#★角色升级显示
#==========================================================================
def zhonglevelup_push(new_skills)
text = [@actor_id,new_skills]
$game_temp.levelup_texts.push(text)
end
end

class Scene_Battle < Scene_Base
def display_level_up
exp = $game_troop.exp_total
$game_party.remove_states_battle
@message_window.contents_opacity = 0
@message_window.opacity = 0
@levelup_window = Window_zhonglevelup.new
for actor in $game_party.existing_members
last_level = actor.level
last_skills = actor.skills
actor.gain_exp(exp, true)
end
update_zhonglevelup

end
#==========================================================================
#★等待升级窗口刷新
#==========================================================================
def update_zhonglevelup
@levelup_window.update
while @levelup_window.visible
@levelup_window.update
Graphics.update
Input.update
end
end
end
class Game_Temp
attr_accessor :levelup_texts
#--------------------------------------------------------------------------
# ● オブジェクト初期化
#--------------------------------------------------------------------------
alias oldinitialize initialize
def initialize
@levelup_texts = []
oldinitialize
end
end

class Window_zhonglevelup < Window_Base
attr_accessor :index
def initialize
super(122, 15, 350, 345)
$game_temp.levelup_texts = []
@index = 0
@skill_index = 0
@skill_window = Window_Base.new(122,23,260,36)
@skill_window.opacity = 0
@skill_window.z = self.z - 1
@main_window = Window_Base.new(122,59,260,290)
@main_window.opacity = 0
@main_window.z = self.z - 1
self.opacity = 0
self.visible = false
#update
end

#--------------------------------------------------------------------------
# ★ $game_temp.levelup_texts = [角色id,新特技]
#--------------------------------------------------------------------------
def update

zhonginputupdate if @index <= $game_temp.levelup_texts.size-1
if @index <= $game_temp.levelup_texts.size-1
self.visible = true
@main_window.opacity = 150
actor = $game_actors[$game_temp.levelup_texts[@index][0]]
if @skill_index == 0 and $game_temp.levelup_texts[@index][1].size != 0
@skill_index = $game_temp.levelup_texts[@index][1].size
end
level = actor.level
last_level = actor.last_level
atk = actor.now_atk
now_def = actor.now_def
spi = actor.now_spi
agi = actor.now_agi
last_atk = actor.last_atk
last_def = actor.last_def
last_spi = actor.last_spi
last_agi = actor.last_agi

self.contents.clear
# x = 122
# y = 58
@skill_window.opacity = $game_temp.levelup_texts[@index][1].size != 0 ? 150 : 0
skill_name = $game_temp.levelup_texts[@index][1][@skill_index - 1].name if @skill_index != 0
level_name = Vocab::level
atk_name = Vocab::atk
def_name = Vocab::def
spi_name = Vocab::spi
agi_name = Vocab::agi
font = self.contents.font.size
x = 5
y = 165
self.contents.draw_text(x,y,60,60,atk_name)
self.contents.draw_text(x,y+30,60,60,def_name)
self.contents.draw_text(x,y+60,60,60,spi_name)
self.contents.draw_text(x,y+90,60,60,agi_name)
self.contents.draw_text(x + 45,y,60,60, last_atk)
self.contents.draw_text(x + 45,y+30,60,60,last_def)
self.contents.draw_text(x + 45,y+60,60,60,last_spi)
self.contents.draw_text(x + 45,y + 90,60,60,last_agi)
self.contents.draw_text(x,y-30,60,60,level_name)
self.contents.draw_text(x + 45,y-30,60,60,last_level)
self.contents.font.color = Color.new(0,255,255)
self.contents.font.size = 16
self.contents.draw_text(x + 77,y-30,60,60,"+ #{level - last_level}")
self.contents.font.size = font
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(x + 140,y-30,60,60,level)
bitmap_1 = Bitmap.new("Graphics/system/箭头")
rect_1 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
self.contents.blt(x + 105,y - 18,bitmap_1,rect_1)
if atk > last_atk
self.contents.font.color = Color.new(0,255,255)
self.contents.font.size = 16
self.contents.draw_text(x + 77,y,60,60,"+ #{atk - last_atk}")
self.contents.font.size = font
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(x+140,y,60,60,atk)
atk_opacity = 255
else
atk_opacity = 0
end

self.contents.blt(x+105,y+12,bitmap_1,rect_1,atk_opacity)

if now_def > last_def
self.contents.font.color = Color.new(0,255,255)
self.contents.font.size = 16
self.contents.draw_text(x + 77,y+30,60,60,"+ #{now_def - last_def}")
self.contents.font.size = font
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(x+140,y+30,60,60,now_def)
def_opacity = 255
else
def_opacity = 0
end
self.contents.blt(x+105,y+42,bitmap_1,rect_1,def_opacity)
if spi > last_spi
self.contents.font.color = Color.new(0,255,255)
self.contents.font.size = 16
self.contents.draw_text(x + 77,y+60,60,60,"+ #{spi - last_spi}")
self.contents.font.size = font
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(x+140,y+60,60,60,spi)
spi_opacity = 255
else
spi_opacity = 0
end

self.contents.blt(x+105,y+72,bitmap_1,rect_1,spi_opacity)
if agi > last_agi
self.contents.font.color = Color.new(0,255,255)
self.contents.font.size = 16
self.contents.draw_text(x + 77,y+90,60,60,"+ #{agi - last_agi}")
self.contents.font.size = font
self.contents.font.color = Color.new(0,255,0,255)
self.contents.draw_text(x + 140,y + 90,60,60,agi)
agi_opacity = 255
else
agi_opacity = 0
end
self.contents.blt(x+105,y+102,bitmap_1,rect_1,agi_opacity)


self.contents.font.color = normal_color
self.contents.font.size = 16
self.contents.draw_text(60, -19, 120, 60,"学会了 #{skill_name}")if @skill_index != 0
self.contents.font.color = Color.new(255,255,0,255)
self.contents.font.size = font
draw_face(actor.face_name, actor.face_index,3, 55, size = 80)
draw_actor_name(actor, 92, 55)
draw_actor_hp(actor, 95, 85)
draw_actor_mp(actor, 95, 115)
self.contents.font.color = normal_color
actor.hp = [actor.maxhp,9999].min
actor.mp = [actor.maxmp,9999].min

else
@main_window.visible = false
@skill_window.visible =false
self.visible = false
end

end
#==========================================================================
#★窗口按键刷新
#==========================================================================
def zhonginputupdate
if Input.trigger?(Input::DOWN)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
if Input.trigger?(Input::UP)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
if Input.trigger?(Input::RIGHT)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
if Input.trigger?(Input::LEFT)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
if Input.trigger?(Input::B)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
if Input.trigger?(Input::C)
if @skill_index != 0
@skill_index -= 1
end
@index += 1 if @skill_index == 0
end
end
#==========================================================================
def dispose
super
@skill_window.dispose
@main_window.dispose
end

end
class Scene_Map < Scene_Base
def start
super
$game_map.refresh
@spriteset = Spriteset_Map.new
@message_window = Window_Message.new
@levelup_window = Window_zhonglevelup.new
@lus_window = Window_Base.new(122,23,260,36)
@m_window = Window_Base.new(122,59,260,290)
@m_window.opacity = 0
@lus_window.opacity = 0
@m_window.z = 9998
@lus_window.z = 9998
@levelup_window.z = 9999
end
def update
super
$game_map.interpreter.update
$game_map.update
$game_player.update
$game_system.update
@spriteset.update
@message_window.update
unless $game_message.visible
update_levelup_window
update_transfer_player
update_encounter
update_call_menu
update_call_debug
update_scene_change
end
end
def update_levelup_window
@levelup_window.update
while @levelup_window.visible
@lus_window.opacity = $game_temp.levelup_texts[@levelup_window.index][1].size != 0 ? 150 : 0
@m_window.opacity = 150
@levelup_window.update
Graphics.update
Input.update
end
@m_window.opacity = 0
@lus_window.opacity = 0
end
def terminate
super
if $scene.is_a?(Scene_Battle) # バトル画面に切り替え中の場合
@spriteset.dispose_characters # 背景作成のためにキャラを隠す
end
snapshot_for_background
@spriteset.dispose
@message_window.dispose
@levelup_window.dispose
@m_window.dispose
@lus_window.dispose
if $scene.is_a?(Scene_Battle) # バトル画面に切り替え中の場合
perform_battle_transition # 戦闘前トランジション実行
end
end
end


这里不兼容就在于  只能2选一 换句话说  把升级提示放下边  破限脚本失效  而反之则是升级提示脚本失效
抓狂中  请各位脚本技术高超的前辈 帮帮忙啊!~ T-T

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
2
发表于 2012-1-31 03:06:42 | 只看该作者
用这两个试试 我用过没有问题可以
这个是破限脚本
  1. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
  2. #_/    ◆ 限界突破 - KGC_LimitBreak ◆ VX ◆
  3. #_/    ◇ Last update : 2008/01/09 ◇
  4. #_/----------------------------------------------------------------------------
  5. #_/  ゲーム中の各種上限値を変更します。
  6. #_/============================================================================
  7. #_/  再定義が多いので、「素材」の最上部に導入してください。
  8. #_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

  9. #==============================================================================
  10. # ★ カスタマイズ項目 - Customize ★
  11. #==============================================================================

  12. module KGC
  13. module LimitBreak
  14.   # ◆ 能力値算出方式
  15.   #   0..データベース通り。
  16.   #      (100以降は計算式として PARAMETER_CALC_EXP を使用)
  17.   #
  18.   #   1..データベースを用いた2次関数。
  19.   #        a:レベル1の値  b:レベル2の値  c:レベル3の値  x:現レベル
  20.   #      として、
  21.   #        ax^2 + bx + c
  22.   #      を用いて能力値を算出。
  23.   #
  24.   #   2..データベースを用いた1次関数。
  25.   #        b:レベル2の値  c:レベル3の値  x:現レベル
  26.   #      として、
  27.   #        bx + c
  28.   #      を用いて能力値を算出。
  29.   #      (レベル 2 と 3 の値を使うのは、2次関数方式との使い分けを楽にするため)
  30.   PARAMETER_CALC_METHOD = 0

  31.   # ◆ レベル 100 以降の能力値計算式
  32.   #  PARAMETER_CALC_METHOD = 0 のときに使用します。
  33.   #  【 level..現レベル  param[x]..レベル x の能力値 】
  34.   #  この計算結果をレベル 99 の能力値に加算します。
  35.   PARAMETER_CALC_EXP = "(param[99] - param[98]) * (level - 99)"

  36.   # ◆ アクターのレベル上限
  37.   ACTOR_FINAL_LEVEL = []  # ← これは消さないこと!
  38.   # ここから下に、アクターごとの最終レベルを
  39.   #   ACTOR_FINAL_LEVEL[アクターID] = 最終レベル
  40.   # という形式で設定します。
  41.   # <例> ↓ アクター 1 の最終レベル 999
  42.   ACTOR_FINAL_LEVEL[1] = 999

  43.   # ◆ アクターのレベル上限 (デフォルト)
  44.   #  上限を指定しなかった場合は、この値を最終レベルとして使用します。
  45.   ACTOR_FINAL_LEVEL_DEFAULT = 999
  46.   # ◆ アクターの経験値上限
  47.   ACTOR_EXP_LIMIT = 99999999

  48.   # ◆ アクターの MaxHP 上限
  49.   ACTOR_MAXHP_LIMIT     = 99999
  50.   # ◆ アクターの MaxMP 上限
  51.   ACTOR_MAXMP_LIMIT     = 99999
  52.   # ◆ アクターの攻撃力、防御力、精神力、敏捷性上限
  53.   ACTOR_PARAMETER_LIMIT = 9999

  54.   # ◆ エネミーの MaxHP 上限
  55.   ENEMY_MAXHP_LIMIT     = 9999999
  56.   # ◆ エネミーの MaxMP 上限
  57.   ENEMY_MAXMP_LIMIT     = 9999999
  58.   # ◆ エネミーの攻撃力、防御力、精神力、敏捷性上限
  59.   ENEMY_PARAMETER_LIMIT = 9999

  60.   # ◆ エネミーの能力値補正
  61.   #  エネミーの各種能力値をデータベースの ○% にします。
  62.   #  データベース通りにする場合は 100 にしてください。
  63.   ENEMY_MAXHP_RATE = 100  # MaxHP
  64.   ENEMY_MAXMP_RATE = 100  # MaxMP
  65.   ENEMY_ATK_RATE   = 100  # 攻撃力
  66.   ENEMY_DEF_RATE   = 100  # 防御力
  67.   ENEMY_SPI_RATE   = 100  # 精神力
  68.   ENEMY_AGI_RATE   = 100  # 敏捷性

  69.   # ◆ 所持金上限
  70.   GOLD_LIMIT = 99999999

  71.   # ◆ アイテム所持数上限
  72.   ITEM_NUMBER_LIMIT = 999

  73.   module_function
  74.   #--------------------------------------------------------------------------
  75.   # ○ 敵能力値直接指定
  76.   #     ここで、敵の MaxHP などを直接指定することができます。
  77.   #     データベースに入りきらない数値を指定する場合に使用してください。
  78.   #--------------------------------------------------------------------------
  79.   def set_enemy_parameters
  80.     #  <例> ID:10 の敵の MaxHP を 2000000 にする場合
  81.     #$data_enemies[10].maxhp = 2000000
  82.     #  <例> ID:16 の敵の攻撃力を 5000 にする場合
  83.     # $data_enemies[16].atk = 5000
  84.     #  <例> ID:20 の敵の防御力を2倍にする場合
  85.     # $data_enemies[20].def *= 2
  86.   end
  87. end
  88. end

  89. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  90. $imported = {} if $imported == nil
  91. $imported["LimitBreak"] = true

  92. module KGC::LimitBreak
  93.   # 正規表現を定義
  94.   module Regexp
  95.     # ベースアイテム
  96.     module BaseItem
  97.       # 所持数上限
  98.       NUMBER_LIMIT = /<(?:NUMBER_LIMIT|所持数上限)[ ]*(\d+)>/i
  99.     end
  100.   end

  101.   module_function
  102.   #--------------------------------------------------------------------------
  103.   # ○ 敵の能力補正を適用
  104.   #--------------------------------------------------------------------------
  105.   def revise_enemy_parameters
  106.     (1...$data_enemies.size).each { |i|
  107.       enemy = $data_enemies[i]
  108.       enemy.maxhp = enemy.maxhp * ENEMY_MAXHP_RATE / 100
  109.       enemy.maxmp = enemy.maxmp * ENEMY_MAXMP_RATE / 100
  110.       enemy.atk = enemy.atk * ENEMY_ATK_RATE / 100
  111.       enemy.def = enemy.def * ENEMY_DEF_RATE / 100
  112.       enemy.spi = enemy.spi * ENEMY_SPI_RATE / 100
  113.       enemy.agi = enemy.agi * ENEMY_AGI_RATE / 100
  114.     }
  115.   end
  116. end

  117. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  118. #==============================================================================
  119. # ■ RPG::BaseItem
  120. #==============================================================================

  121. class RPG::BaseItem
  122.   #--------------------------------------------------------------------------
  123.   # ○ 限界突破のキャッシュ生成
  124.   #--------------------------------------------------------------------------
  125.   def create_limit_break_cache
  126.     @__number_limit = KGC::LimitBreak::ITEM_NUMBER_LIMIT

  127.     self.note.split(/[\r\n]+/).each { |line|
  128.       if line =~ KGC::LimitBreak::Regexp::BaseItem::NUMBER_LIMIT
  129.         # 所持数上限
  130.         @__number_limit = $1.to_i
  131.       end
  132.     }
  133.   end
  134.   #--------------------------------------------------------------------------
  135.   # ○ 所持数上限取得
  136.   #--------------------------------------------------------------------------
  137.   def number_limit
  138.     create_limit_break_cache if @__number_limit == nil
  139.     return @__number_limit
  140.   end
  141. end

  142. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  143. #==============================================================================
  144. # ■ Game_Battler
  145. #==============================================================================

  146. class Game_Battler
  147.   #--------------------------------------------------------------------------
  148.   # ● MaxHP の制限値取得
  149.   #--------------------------------------------------------------------------
  150.   def maxhp_limit
  151.     return KGC::LimitBreak::ENEMY_MAXHP_LIMIT
  152.   end
  153.   #--------------------------------------------------------------------------
  154.   # ○ MaxMP の制限値取得
  155.   #--------------------------------------------------------------------------
  156.   def maxmp_limit
  157.     return KGC::LimitBreak::ENEMY_MAXMP_LIMIT
  158.   end
  159.   #--------------------------------------------------------------------------
  160.   # ● MaxMP の取得
  161.   #--------------------------------------------------------------------------
  162.   def maxmp
  163.     return [[base_maxmp + @maxmp_plus, 0].max, maxmp_limit].min
  164.   end
  165.   #--------------------------------------------------------------------------
  166.   # ○ 各種パラメータの制限値取得
  167.   #--------------------------------------------------------------------------
  168.   def parameter_limit
  169.     return KGC::LimitBreak::ENEMY_PARAMETER_LIMIT
  170.   end
  171.   #--------------------------------------------------------------------------
  172.   # ● 攻撃力の取得
  173.   #--------------------------------------------------------------------------
  174.   def atk
  175.     n = [base_atk + @atk_plus, 1].max
  176.     states.each { |state| n *= state.atk_rate / 100.0 }
  177.     n = [[Integer(n), 1].max, parameter_limit].min
  178.     return n
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ● 防御力の取得
  182.   #--------------------------------------------------------------------------
  183.   def def
  184.     n = [base_def + @def_plus, 1].max
  185.     states.each { |state| n *= state.def_rate / 100.0 }
  186.     n = [[Integer(n), 1].max, parameter_limit].min
  187.     return n
  188.   end
  189.   #--------------------------------------------------------------------------
  190.   # ● 精神力の取得
  191.   #--------------------------------------------------------------------------
  192.   def spi
  193.     n = [base_spi + @spi_plus, 1].max
  194.     states.each { |state| n *= state.spi_rate / 100.0 }
  195.     n = [[Integer(n), 1].max, parameter_limit].min
  196.     return n
  197.   end
  198.   #--------------------------------------------------------------------------
  199.   # ● 敏捷性の取得
  200.   #--------------------------------------------------------------------------
  201.   def agi
  202.     n = [base_agi + @agi_plus, 1].max
  203.     states.each { |state| n *= state.agi_rate / 100.0 }
  204.     n = [[Integer(n), 1].max, parameter_limit].min
  205.     return n
  206.   end
  207.   #--------------------------------------------------------------------------
  208.   # ● MaxHP の設定
  209.   #     new_maxhp : 新しい MaxHP
  210.   #--------------------------------------------------------------------------
  211.   def maxhp=(new_maxhp)
  212.     @maxhp_plus += new_maxhp - self.maxhp
  213.     @maxhp_plus = [[@maxhp_plus, -maxhp_limit].max, maxhp_limit].min
  214.     @hp = [@hp, self.maxhp].min
  215.   end
  216.   #--------------------------------------------------------------------------
  217.   # ● MaxMP の設定
  218.   #     new_maxmp : 新しい MaxMP
  219.   #--------------------------------------------------------------------------
  220.   def maxmp=(new_maxmp)
  221.     @maxmp_plus += new_maxmp - self.maxmp
  222.     @maxmp_plus = [[@maxmp_plus, -maxmp_limit].max, maxmp_limit].min
  223.     @mp = [@mp, self.maxmp].min
  224.   end
  225.   #--------------------------------------------------------------------------
  226.   # ● 攻撃力の設定
  227.   #     new_atk : 新しい攻撃力
  228.   #--------------------------------------------------------------------------
  229.   def atk=(new_atk)
  230.     @atk_plus += new_atk - self.atk
  231.     @atk_plus = [[@atk_plus, -parameter_limit].max, parameter_limit].min
  232.   end
  233.   #--------------------------------------------------------------------------
  234.   # ● 防御力の設定
  235.   #     new_def : 新しい防御力
  236.   #--------------------------------------------------------------------------
  237.   def def=(new_def)
  238.     @def_plus += new_def - self.def
  239.     @def_plus = [[@def_plus, -parameter_limit].max, parameter_limit].min
  240.   end
  241.   #--------------------------------------------------------------------------
  242.   # ● 精神力の設定
  243.   #     new_spi : 新しい精神力
  244.   #--------------------------------------------------------------------------
  245.   def spi=(new_spi)
  246.     @spi_plus += new_spi - self.spi
  247.     @spi_plus = [[@spi_plus, -parameter_limit].max, parameter_limit].min
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● 敏捷性の設定
  251.   #     agi : 新しい敏捷性
  252.   #--------------------------------------------------------------------------
  253.   def agi=(new_agi)
  254.     @agi_plus += new_agi - self.agi
  255.     @agi_plus = [[@agi_plus, -parameter_limit].max, parameter_limit].min
  256.   end
  257. end

  258. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  259. #==============================================================================
  260. # ■ Game_Actor
  261. #==============================================================================

  262. class Game_Actor < Game_Battler
  263.   #--------------------------------------------------------------------------
  264.   # ● 経験値計算
  265.   #--------------------------------------------------------------------------
  266.   def make_exp_list
  267.     @exp_list = Array.new(final_level + 2)
  268.     @exp_list[1] = @exp_list[final_level + 1] = 0
  269.     m = actor.exp_basis
  270.     n = 0.75 + actor.exp_inflation / 200.0
  271.     (2..final_level).each { |i|
  272.       @exp_list[i] = @exp_list[i-1] + Integer(m)
  273.       m *= 1 + n
  274.       n *= 0.9
  275.     }
  276.   end
  277.   #--------------------------------------------------------------------------
  278.   # ○ 最終レベルの取得
  279.   #--------------------------------------------------------------------------
  280.   def final_level
  281.     n = KGC::LimitBreak::ACTOR_FINAL_LEVEL[self.id]
  282.     return (n != nil ? n : KGC::LimitBreak::ACTOR_FINAL_LEVEL_DEFAULT)
  283.   end
  284.   #--------------------------------------------------------------------------
  285.   # ● MaxHP の制限値取得
  286.   #--------------------------------------------------------------------------
  287.   def maxhp_limit
  288.     return KGC::LimitBreak::ACTOR_MAXHP_LIMIT
  289.   end
  290.   #--------------------------------------------------------------------------
  291.   # ○ MaxMP の制限値取得
  292.   #--------------------------------------------------------------------------
  293.   def maxmp_limit
  294.     return KGC::LimitBreak::ACTOR_MAXMP_LIMIT
  295.   end
  296.   #--------------------------------------------------------------------------
  297.   # ○ 各種パラメータの制限値取得
  298.   #--------------------------------------------------------------------------
  299.   def parameter_limit
  300.     return KGC::LimitBreak::ACTOR_PARAMETER_LIMIT
  301.   end
  302.   #--------------------------------------------------------------------------
  303.   # ○ 経験値の制限値取得
  304.   #--------------------------------------------------------------------------
  305.   def exp_limit
  306.     return KGC::LimitBreak::ACTOR_EXP_LIMIT
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ● 経験値の変更
  310.   #     exp  : 新しい経験値
  311.   #     show : レベルアップ表示フラグ
  312.   #--------------------------------------------------------------------------
  313.   def change_exp(exp, show)
  314.     last_level = @level
  315.     last_skills = skills
  316.     @exp = [[exp, exp_limit].min, 0].max
  317.     while @exp >= @exp_list[@level+1] && @exp_list[@level+1] > 0
  318.       level_up
  319.     end
  320.     while @exp < @exp_list[@level]
  321.       level_down
  322.     end
  323.     @hp = [@hp, maxhp].min
  324.     @mp = [@mp, maxmp].min
  325.     if show && @level > last_level
  326.       display_level_up(skills - last_skills)
  327.     end
  328.   end
  329.   #--------------------------------------------------------------------------
  330.   # ● レベルの変更
  331.   #     level : 新しいレベル
  332.   #     show  : レベルアップ表示フラグ
  333.   #--------------------------------------------------------------------------
  334.   def change_level(level, show)
  335.     level = [[level, final_level].min, 1].max
  336.     change_exp(@exp_list[level], show)
  337.   end
  338.   #--------------------------------------------------------------------------
  339.   # ○ 基本パラメータの取得
  340.   #--------------------------------------------------------------------------
  341.   def base_parameter(type)
  342.     case KGC::LimitBreak::PARAMETER_CALC_METHOD
  343.     when 0  # 数式定義
  344.       if @level >= 100
  345.         calc_text = KGC::LimitBreak::PARAMETER_CALC_EXP.dup
  346.         calc_text.gsub!(/level/i) { "@level" }
  347.         calc_text.gsub!(/param\[(\d+)\]/i) {
  348.           "actor.parameters[type, #{$1.to_i}]"
  349.         }
  350.         return actor.parameters[type, 99] + eval(calc_text)
  351.       end
  352.     when 1  # 二次関数
  353.       a = actor.parameters[type, 1]
  354.       b = actor.parameters[type, 2]
  355.       c = actor.parameters[type, 3]
  356.       return ((a * @level + b) * @level + c)
  357.     when 2  # 一次関数
  358.       b = actor.parameters[type, 2]
  359.       c = actor.parameters[type, 3]
  360.       return (b * @level + c)
  361.     end
  362.     return actor.parameters[type, @level]
  363.   end
  364.   #--------------------------------------------------------------------------
  365.   # ● 基本 MaxHP の取得
  366.   #--------------------------------------------------------------------------
  367.   def base_maxhp
  368.     return base_parameter(0)
  369.   end
  370.   #--------------------------------------------------------------------------
  371.   # ● 基本 MaxMP の取得
  372.   #--------------------------------------------------------------------------
  373.   def base_maxmp
  374.     return base_parameter(1)
  375.   end
  376.   #--------------------------------------------------------------------------
  377.   # ● 基本攻撃力の取得
  378.   #--------------------------------------------------------------------------
  379.   def base_atk
  380.     n = base_parameter(2)
  381.     equips.compact.each { |item| n += item.atk }
  382.     return n
  383.   end
  384.   #--------------------------------------------------------------------------
  385.   # ● 基本防御力の取得
  386.   #--------------------------------------------------------------------------
  387.   def base_def
  388.     n = base_parameter(3)
  389.     equips.compact.each { |item| n += item.def }
  390.     return n
  391.   end
  392.   #--------------------------------------------------------------------------
  393.   # ● 基本精神力の取得
  394.   #--------------------------------------------------------------------------
  395.   def base_spi
  396.     n = base_parameter(4)
  397.     equips.compact.each { |item| n += item.spi }
  398.     return n
  399.   end
  400.   #--------------------------------------------------------------------------
  401.   # ● 基本敏捷性の取得
  402.   #--------------------------------------------------------------------------
  403.   def base_agi
  404.     n = base_parameter(5)
  405.     equips.compact.each { |item| n += item.agi }
  406.     return n
  407.   end
  408. end

  409. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  410. #==============================================================================
  411. # ■ Game_Party
  412. #==============================================================================

  413. class Game_Party < Game_Unit
  414.   #--------------------------------------------------------------------------
  415.   # ○ 所持金の制限値取得
  416.   #--------------------------------------------------------------------------
  417.   def gold_limit
  418.     return KGC::LimitBreak::GOLD_LIMIT
  419.   end
  420.   #--------------------------------------------------------------------------
  421.   # ● ゴールドの増加 (減少)
  422.   #     n : 金額
  423.   #--------------------------------------------------------------------------
  424.   def gain_gold(n)
  425.     @gold = [[@gold + n, 0].max, gold_limit].min
  426.   end
  427.   #--------------------------------------------------------------------------
  428.   # ● アイテムの増加 (減少)
  429.   #     item          : アイテム
  430.   #     n             : 個数
  431.   #     include_equip : 装備品も含める
  432.   #--------------------------------------------------------------------------
  433.   def gain_item(item, n, include_equip = false)
  434.     number = item_number(item)
  435.     case item
  436.     when RPG::Item
  437.       @items[item.id] = [[number + n, 0].max, item.number_limit].min
  438.     when RPG::Weapon
  439.       @weapons[item.id] = [[number + n, 0].max, item.number_limit].min
  440.     when RPG::Armor
  441.       @armors[item.id] = [[number + n, 0].max, item.number_limit].min
  442.     end
  443.     n += number
  444.     if include_equip && n < 0
  445.       members.each { |actor|
  446.         while n < 0 && actor.equips.include?(item)
  447.           actor.discard_equip(item)
  448.           n += 1
  449.         end
  450.       }
  451.     end
  452.   end
  453. end

  454. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  455. #==============================================================================
  456. # ■ Window_ShopBuy
  457. #==============================================================================

  458. class Window_ShopBuy < Window_Selectable
  459.   #--------------------------------------------------------------------------
  460.   # ● 項目の描画
  461.   #     index : 項目番号
  462.   #--------------------------------------------------------------------------
  463.   def draw_item(index)
  464.     item = @data[index]
  465.     number = $game_party.item_number(item)
  466.     enabled = (item.price <= $game_party.gold && number < item.number_limit)
  467.     rect = item_rect(index)
  468.     self.contents.clear_rect(rect)
  469.     draw_item_name(item, rect.x, rect.y, enabled)
  470.     rect.width -= 4
  471.     self.contents.draw_text(rect, item.price, 2)
  472.   end
  473. end

  474. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  475. #==============================================================================
  476. # ■ Scene_Title
  477. #==============================================================================

  478. class Scene_Title < Scene_Base
  479.   #--------------------------------------------------------------------------
  480.   # ● データベースのロード
  481.   #--------------------------------------------------------------------------
  482.   alias load_database_KGC_LimitBreak load_database
  483.   def load_database
  484.     load_database_KGC_LimitBreak

  485.     set_enemy_parameters
  486.   end
  487.   #--------------------------------------------------------------------------
  488.   # ● 戦闘テスト用データベースのロード
  489.   #--------------------------------------------------------------------------
  490.   alias load_bt_database_KGC_LimitBreak load_bt_database
  491.   def load_bt_database
  492.     load_bt_database_KGC_LimitBreak

  493.     set_enemy_parameters
  494.   end
  495.   #--------------------------------------------------------------------------
  496.   # ○ エネミーの能力値を設定
  497.   #--------------------------------------------------------------------------
  498.   def set_enemy_parameters
  499.     KGC::LimitBreak.revise_enemy_parameters
  500.     KGC::LimitBreak.set_enemy_parameters
  501.   end
  502. end

  503. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  504. #==============================================================================
  505. # ■ Scene_File
  506. #==============================================================================

  507. class Scene_File < Scene_Base
  508.   #--------------------------------------------------------------------------
  509.   # ● セーブデータの読み込み
  510.   #     file : 読み込み用ファイルオブジェクト (オープン済み)
  511.   #--------------------------------------------------------------------------
  512.   alias read_save_data_KGC_LimitBreak read_save_data
  513.   def read_save_data(file)
  514.     read_save_data_KGC_LimitBreak(file)

  515.     (1...$data_actors.size).each { |i|
  516.       actor = $game_actors[i]
  517.       actor.make_exp_list
  518.       # レベル上限チェック
  519.       if actor.level > actor.final_level
  520.         while actor.level > actor.final_level
  521.           actor.level_down
  522.         end
  523.         # 減少した HP などを反映させるためのおまじない
  524.         actor.change_level(actor.final_level, false)
  525.       end
  526.     }
  527.   end
  528. end

  529. #★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★

  530. #==============================================================================
  531. # ■ Scene_Shop
  532. #==============================================================================

  533. class Scene_Shop < Scene_Base
  534.   #--------------------------------------------------------------------------
  535.   # ● 購入アイテム選択の更新
  536.   #--------------------------------------------------------------------------
  537.   def update_buy_selection
  538.     @status_window.item = @buy_window.item
  539.     if Input.trigger?(Input::B)
  540.       Sound.play_cancel
  541.       @command_window.active = true
  542.       @dummy_window.visible = true
  543.       @buy_window.active = false
  544.       @buy_window.visible = false
  545.       @status_window.visible = false
  546.       @status_window.item = nil
  547.       @help_window.set_text("")
  548.       return
  549.     end
  550.     if Input.trigger?(Input::C)
  551.       @item = @buy_window.item
  552.       number = $game_party.item_number(@item)
  553.       if @item == nil || @item.price > $game_party.gold ||
  554.           number == @item.number_limit
  555.         Sound.play_buzzer
  556.       else
  557.         Sound.play_decision
  558.         max = (@item.price == 0 ?
  559.           @item.number_limit : $game_party.gold / @item.price)
  560.         max = [max, @item.number_limit - number].min
  561.         @buy_window.active = false
  562.         @buy_window.visible = false
  563.         @number_window.set(@item, max, @item.price)
  564.         @number_window.active = true
  565.         @number_window.visible = true
  566.       end
  567.     end
  568.   end
  569. end
复制代码
这个是升级提示
  1. =======================================================================
  2. #★升级提示★
  3. #-----------------------------------------------------------------------
  4. #★作者: Zhong_zw
  5. #★联系方式:66RPG.com论坛短信 或 [email protected]
  6. #★更新内容★:
  7. #1、把装备武器后的能力算上了。
  8. #2、能力增量显示
  9. #☆未解决:
  10. #刷新写的不合理,掉帧厉害(苦力活~~~最近没空,所以这个历史遗留问题还有待以后解决。)
  11. #=======================================================================
  12. class Game_Actor < Game_Battler

  13.   attr_accessor :last_level   
  14.    def initialize(actor_id)
  15.     super()
  16.     setup(actor_id)
  17.     @last_level = 0
  18.     @last_skill_id = 0
  19.    end
  20.   
  21.   def last_atk
  22.     n=0
  23.     for item in equips.compact do n += item.atk end
  24.     return actor.parameters[2,@last_level] + n
  25.   end

  26.   def last_def
  27.     n=0
  28.     for item in equips.compact do n += item.def end
  29.     return actor.parameters[3,@last_level] + n
  30.   end
  31.   
  32.   def last_spi
  33.     n=0
  34.     for item in equips.compact do n += item.spi end
  35.     return actor.parameters[4,@last_level] + n
  36.   end
  37.   
  38.   def last_agi
  39.     n=0
  40.     for item in equips.compact do n += item.agi end
  41.     return actor.parameters[5,@last_level] + n
  42.   end
  43.   def now_atk
  44.     n=0
  45.     for item in equips.compact do n += item.atk end
  46.     return actor.parameters[2,@level] + n
  47.   end
  48.   def now_def
  49.      n=0
  50.     for item in equips.compact do n += item.def end
  51.     return actor.parameters[3,@level] + n
  52.   end
  53.   def now_spi
  54.      n=0
  55.     for item in equips.compact do n += item.spi end
  56.     return actor.parameters[4,@level] + n
  57.   end
  58.   def now_agi
  59.     n=0
  60.     for item in equips.compact do n += item.agi end
  61.     return actor.parameters[5,@level] + n
  62.   end  
  63.    def change_exp(exp, show)
  64.     @last_level = @level
  65.     last_skills = skills
  66.    
  67.     @exp = [[exp, 9999999].min, 0].max
  68.    while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  69.       level_up
  70.     end
  71.     while @exp < @exp_list[@level]
  72.       level_down
  73.     end
  74.     @hp = [@hp, maxhp].min
  75.     @mp = [@mp, maxmp].min
  76.     if show and @level > last_level
  77.       
  78.       zhonglevelup_push(skills - last_skills)
  79.     end
  80.   end
  81.    #==========================================================================
  82.   #★角色升级显示
  83.   #==========================================================================
  84.   
  85.   def zhonglevelup_push(new_skills)
  86.    
  87.     text = [@actor_id,new_skills]
  88.     $game_temp.levelup_texts.push(text)
  89.   end
  90. end



  91. class Scene_Battle < Scene_Base

  92. def display_level_up
  93.     exp = $game_troop.exp_total
  94.     $game_party.remove_states_battle
  95.     @message_window.contents_opacity = 0
  96.     @message_window.opacity = 0
  97.     @levelup_window = Window_zhonglevelup.new
  98.     for actor in $game_party.existing_members
  99.       last_level = actor.level
  100.       last_skills = actor.skills
  101.       actor.gain_exp(exp, true)
  102.     end
  103.    
  104.     update_zhonglevelup
  105.    
  106.    
  107.   end
  108.   #==========================================================================
  109.   #★等待升级窗口刷新
  110.   #==========================================================================
  111.    def update_zhonglevelup
  112.       @levelup_window.update
  113.      while @levelup_window.visible
  114.        @levelup_window.update
  115.        Graphics.update
  116.        Input.update
  117.      end
  118.    end
  119.    
  120. end   

  121. class Game_Temp
  122.     attr_accessor :levelup_texts
  123.   #--------------------------------------------------------------------------
  124.   # ● オブジェクト初期化
  125.   #--------------------------------------------------------------------------
  126.   alias oldinitialize initialize
  127.   def initialize
  128.     @levelup_texts = []
  129.     oldinitialize
  130.   end  
  131.   
  132. end


  133. class Window_zhonglevelup < Window_Base

  134.   attr_accessor :index
  135.   def initialize
  136.     super(122, 15, 350, 345)
  137.     $game_temp.levelup_texts = []
  138.     @index = 0
  139.     @skill_index = 0
  140.     @skill_window = Window_Base.new(122,23,260,36)
  141.     @skill_window.opacity = 0
  142.     @skill_window.z = self.z - 1
  143.     @main_window = Window_Base.new(122,59,260,290)
  144.     @main_window.opacity = 0
  145.     @main_window.z = self.z - 1
  146.    
  147.     self.opacity = 0
  148.     self.visible = false
  149.    
  150.     #update
  151.    
  152.    end
  153.   
  154.   
  155.   #--------------------------------------------------------------------------
  156.   # ★ $game_temp.levelup_texts = [角色id,新特技]
  157.   #--------------------------------------------------------------------------
  158.   def update
  159.    
  160.    
  161.     zhonginputupdate if @index <= $game_temp.levelup_texts.size-1
  162.      
  163.     if @index <= $game_temp.levelup_texts.size-1      
  164.       
  165.       self.visible = true
  166.       @main_window.opacity = 150
  167.       actor = $game_actors[$game_temp.levelup_texts[@index][0]]
  168.       if @skill_index == 0 and $game_temp.levelup_texts[@index][1].size != 0
  169.         @skill_index = $game_temp.levelup_texts[@index][1].size
  170.       end  
  171.       level = actor.level
  172.       last_level = actor.last_level
  173.       atk = actor.now_atk
  174.       now_def = actor.now_def
  175.       spi = actor.now_spi
  176.       agi = actor.now_agi
  177.       last_atk = actor.last_atk
  178.       last_def = actor.last_def
  179.       last_spi = actor.last_spi
  180.       last_agi = actor.last_agi
  181.       
  182.       
  183.       self.contents.clear
  184.       
  185.       # x = 122
  186.       # y = 58
  187.        @skill_window.opacity = $game_temp.levelup_texts[@index][1].size != 0 ? 150 : 0
  188.        skill_name = $game_temp.levelup_texts[@index][1][@skill_index - 1].name if @skill_index != 0
  189.        level_name = Vocab::level
  190.        atk_name = Vocab::atk
  191.        def_name = Vocab::def
  192.        spi_name = Vocab::spi
  193.        agi_name = Vocab::agi
  194.        font = self.contents.font.size
  195.        x = 5
  196.        y = 165
  197.        self.contents.draw_text(x,y,60,60,atk_name)
  198.        self.contents.draw_text(x,y+30,60,60,def_name)
  199.        self.contents.draw_text(x,y+60,60,60,spi_name)
  200.        self.contents.draw_text(x,y+90,60,60,agi_name)
  201.        self.contents.draw_text(x + 45,y,60,60, last_atk)
  202.        self.contents.draw_text(x + 45,y+30,60,60,last_def)
  203.        self.contents.draw_text(x + 45,y+60,60,60,last_spi)
  204.        self.contents.draw_text(x + 45,y + 90,60,60,last_agi)
  205.        self.contents.draw_text(x,y-30,60,60,level_name)
  206.        self.contents.draw_text(x + 45,y-30,60,60,last_level)
  207.        self.contents.font.color = Color.new(0,255,255)
  208.        self.contents.font.size = 16
  209.        self.contents.draw_text(x + 77,y-30,60,60,"+ #{level - last_level}")
  210.        self.contents.font.size = font
  211.        self.contents.font.color = Color.new(0,255,0,255)
  212.        self.contents.draw_text(x + 140,y-30,60,60,level)
  213.       
  214.        bitmap_1 = Bitmap.new("Graphics/system/箭头")
  215.        rect_1 = Rect.new(0,0,bitmap_1.width,bitmap_1.height)
  216.        self.contents.blt(x + 105,y - 18,bitmap_1,rect_1)
  217.        if atk > last_atk
  218.          self.contents.font.color = Color.new(0,255,255)
  219.          self.contents.font.size = 16
  220.          self.contents.draw_text(x + 77,y,60,60,"+ #{atk - last_atk}")
  221.          self.contents.font.size = font
  222.          self.contents.font.color = Color.new(0,255,0,255)
  223.          self.contents.draw_text(x+140,y,60,60,atk)
  224.          atk_opacity = 255
  225.        else
  226.          atk_opacity = 0
  227.        end  
  228.       
  229.         
  230.        self.contents.blt(x+105,y+12,bitmap_1,rect_1,atk_opacity)
  231.       
  232.       
  233.        if now_def > last_def
  234.         self.contents.font.color = Color.new(0,255,255)
  235.         self.contents.font.size = 16
  236.         self.contents.draw_text(x + 77,y+30,60,60,"+ #{now_def - last_def}")
  237.         self.contents.font.size = font
  238.         self.contents.font.color = Color.new(0,255,0,255)
  239.          self.contents.draw_text(x+140,y+30,60,60,now_def)
  240.          def_opacity = 255
  241.        else
  242.          def_opacity = 0
  243.        end
  244.       
  245.        self.contents.blt(x+105,y+42,bitmap_1,rect_1,def_opacity)
  246.       
  247.        if spi > last_spi
  248.         self.contents.font.color = Color.new(0,255,255)
  249.         self.contents.font.size = 16
  250.         self.contents.draw_text(x + 77,y+60,60,60,"+ #{spi - last_spi}")
  251.         self.contents.font.size = font
  252.         self.contents.font.color = Color.new(0,255,0,255)
  253.          self.contents.draw_text(x+140,y+60,60,60,spi)
  254.          spi_opacity = 255
  255.        else
  256.          spi_opacity = 0
  257.        end
  258.       
  259.       
  260.        self.contents.blt(x+105,y+72,bitmap_1,rect_1,spi_opacity)
  261.       
  262.        if agi > last_agi
  263.          self.contents.font.color = Color.new(0,255,255)
  264.          self.contents.font.size = 16
  265.          self.contents.draw_text(x + 77,y+90,60,60,"+ #{agi - last_agi}")
  266.          self.contents.font.size = font
  267.          self.contents.font.color = Color.new(0,255,0,255)
  268.          self.contents.draw_text(x + 140,y + 90,60,60,agi)
  269.          agi_opacity = 255
  270.        else
  271.          agi_opacity = 0
  272.        end
  273.       
  274.        self.contents.blt(x+105,y+102,bitmap_1,rect_1,agi_opacity)
  275.          
  276.       
  277.       
  278.       
  279.        self.contents.font.color = normal_color
  280.        self.contents.font.size = 16
  281.        self.contents.draw_text(60, -19, 120, 60,"学会了 #{skill_name}")if @skill_index != 0
  282.        self.contents.font.color = Color.new(255,255,0,255)
  283.        self.contents.draw_text(61, -19,120,60,"       #{skill_name}")
  284.        self.contents.font.size = font
  285.        draw_face(actor.face_name, actor.face_index,3, 55, size = 80)
  286.        draw_actor_name(actor, 92, 55)
  287.        draw_actor_hp(actor, 95, 85)
  288.        draw_actor_mp(actor, 95, 115)
  289.       
  290.        self.contents.font.color = normal_color
  291.        actor.hp = [actor.maxhp,9999].min
  292.        actor.mp = [actor.maxmp,9999].min
  293.       
  294.       
  295.    
  296.      else
  297.        @main_window.visible = false
  298.        @skill_window.visible =false
  299.        self.visible = false
  300.       
  301.     end   
  302.    
  303.    
  304.      
  305.   end
  306.   #==========================================================================
  307.   #★窗口按键刷新
  308.   #==========================================================================
  309.    def zhonginputupdate
  310.      if Input.trigger?(Input::DOWN)
  311.        if @skill_index != 0
  312.          @skill_index -= 1
  313.          end
  314.          @index += 1 if @skill_index == 0
  315.      end
  316.      if Input.trigger?(Input::UP)
  317.         
  318.         if @skill_index != 0
  319.          @skill_index -= 1
  320.          end
  321.          @index += 1 if @skill_index == 0
  322.       end
  323.       if Input.trigger?(Input::RIGHT)
  324.         
  325.        if @skill_index != 0
  326.          @skill_index -= 1
  327.          end
  328.          @index += 1 if @skill_index == 0
  329.         
  330.       end
  331.       if Input.trigger?(Input::LEFT)
  332.          
  333.          if @skill_index != 0
  334.          @skill_index -= 1
  335.          end
  336.          @index += 1 if @skill_index == 0
  337.          
  338.       end
  339.       if Input.trigger?(Input::B)
  340.          
  341.           if @skill_index != 0
  342.          @skill_index -= 1
  343.          end
  344.          @index += 1 if @skill_index == 0
  345.         
  346.       end
  347.       if Input.trigger?(Input::C)
  348.          if @skill_index != 0
  349.          @skill_index -= 1
  350.          end
  351.          @index += 1 if @skill_index == 0
  352.          
  353.       end
  354.    end
  355.    
  356.   #==========================================================================  
  357.    
  358.   def dispose
  359.     super
  360.     @skill_window.dispose
  361.     @main_window.dispose
  362.   end  
  363.   
  364.   
  365. end

  366. class Scene_Map < Scene_Base
  367.   
  368. def start
  369.     super
  370.     $game_map.refresh
  371.     @spriteset = Spriteset_Map.new
  372.     @message_window = Window_Message.new
  373.     @levelup_window = Window_zhonglevelup.new
  374.     @lus_window = Window_Base.new(122,23,260,36)
  375.     @m_window = Window_Base.new(122,59,260,290)
  376.     @m_window.opacity = 0
  377.     @lus_window.opacity = 0
  378.     @m_window.z = 9998
  379.     @lus_window.z = 9998
  380.     @levelup_window.z = 9999
  381.   end
  382.   
  383. def update
  384.     super
  385.     $game_map.interpreter.update   
  386.     $game_map.update                  
  387.     $game_player.update               
  388.     $game_system.update               
  389.     @spriteset.update                 
  390.     @message_window.update            
  391.    
  392.     unless $game_message.visible      
  393.       update_levelup_window
  394.       update_transfer_player
  395.       update_encounter
  396.       update_call_menu
  397.       update_call_debug
  398.       update_scene_change
  399.     end
  400.   end
  401.   
  402.   def update_levelup_window
  403.       @levelup_window.update
  404.       while @levelup_window.visible
  405.         
  406.         @lus_window.opacity = $game_temp.levelup_texts[@levelup_window.index][1].size != 0 ? 150 : 0
  407.         @m_window.opacity = 150
  408.         @levelup_window.update
  409.         Graphics.update
  410.         Input.update
  411.        end
  412.      @m_window.opacity = 0
  413.     @lus_window.opacity = 0
  414.    
  415.   end   
  416. def terminate
  417.     super
  418.     if $scene.is_a?(Scene_Battle)     # バトル画面に切り替え中の場合
  419.       @spriteset.dispose_characters   # 背景作成のためにキャラを隠す
  420.     end
  421.     snapshot_for_background
  422.     @spriteset.dispose
  423.     @message_window.dispose
  424.     @levelup_window.dispose
  425.     @m_window.dispose
  426.     @lus_window.dispose
  427.     if $scene.is_a?(Scene_Battle)     # バトル画面に切り替え中の場合
  428.       perform_battle_transition       # 戦闘前トランジション実行
  429.     end
  430.   end
  431. end
复制代码
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-28 05:36

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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