#~ #============================================================================== # ■ 簡易勝利画面 #------------------------------------------------------------------------------ # 経験値、獲得金額、ドロップアイテムを同時にすべて表示します # ドロップアイテムが16個以上だとバグります # 注意:再定義している箇所があるので"簡易勝利メッセージ"と併用する場合は # "簡易勝利メッセージ"より上部にこのスクリプトを挿入してください # # *月下荘 # URL:http://gekkasou.shiteyattari.com/ #============================================================================== module An #各種用語 Result_EXP = "経験値" Result_Item = "アイテム" #リザルト画面を強制終了させるまでのウェイト RWait = 300 #レベルアップしたアクターがいたときに鳴らすサウンド LU_Sound = RPG::SE.new("Chime2", 80, 100) #レベルアップした時の追加ウェイト RLU_Wait = 60 end class Scene_Battle #-------------------------------------------------------------------------- # ● 終了処理 #-------------------------------------------------------------------------- alias an_easy_result_terminate terminate def terminate @result_window.dispose if @result_window != nil an_easy_result_terminate end #-------------------------------------------------------------------------- # ● 勝利の処理 #-------------------------------------------------------------------------- def process_victory @info_viewport.visible = false @message_window.visible = false drop_items = $game_troop.make_drop_items width = 192 x = 176 y = drop_items.size * 12 if drop_items.size > 8 width += 160 x -= 80 y -= (drop_items.size - 8) * 12 end @result_window = Window_Base.new(x, [180-y, 0].max, width, 80+y*2) RPG::BGM.stop $game_system.battle_end_me.play unless $BTEST $game_temp.map_bgm.play $game_temp.map_bgs.play end exp = $game_troop.exp_total gold = $game_troop.gold_total @result_window.contents.font.color = @result_window.system_color @result_window.contents.draw_text(0, 0, 160, 24, An::Result_EXP) @result_window.contents.draw_text(0, 24, 160, 24, Vocab::gold, 2) if !drop_items.empty? @result_window.contents.draw_text(0, 24, 184, 24, An::Result_Item) end width = @result_window.contents.text_size(Vocab::gold).width @result_window.contents.font.color = @result_window.normal_color @result_window.contents.draw_text(0, 0, 160, 24, exp.to_s, 2) @result_window.contents.draw_text(0, 24, 160-width, 24, gold.to_s, 2) $game_party.gain_gold(gold) i = 0 x = 0 for item in drop_items $game_party.gain_item(item, 1) @result_window.draw_item_name(item, x, 24*(i+2)) i += 1 if i == 8 i = 0 x += 160 end end level_up_actor = [] skill_learned = [] actors_list = [] for actor in $game_party.existing_members actors_list << actor.id last_level = actor.level actor.gain_exp(exp, false) if last_level != actor.level level_up_flug = true level_up_actor << actor end end if level_up_flug An::LU_Sound.play wait(An::RLU_Wait) end for i in 1..An::RWait break if Input.trigger?(Input::C) wait(1) end battle_end(0) end end #Ver1.01