#---------------------------------------------------------------------------- # ● 解像度640x480対応:カスタム # # 簡易ステータス配置調節 + TP・EXP表示機能追加スクリプト #---------------------------------------------------------------------------- =begin 簡易ステータスウィンドウの配置を更に細かく調節するスクリプトです。 塵風さんの「解像度640x480対応プロジェクト」の下に追加してください。 http://windmesser.tm.land.to/ 更に、TP・EXP表示機能を追加しました。 EXPは、「現在の合計EXP / 次レベルまでに必要な合計EXP」表示と、 「次のレベルまで必要な経験値」表示をスイッチで切り替える事が可能です。 指定スイッチはEXP_FLAGモジュールで変更できます。 また、スキルウィンドウのステータスも簡易ステータスを使用してますので、 新しいメソッドを用意して、「HP・MP・TP」表示が出来るように修正しました。 ※ 海外サイト「RPGMAKER VX Ace COMMUNITY」で配布されている、   「KGC Generic Gauge - VXZ/RGSS3」移植版スクリプト   (http://www.rpgmakervxace.net/index.php?/topic/278-kgc-generic-gauge-vxa/)   を追加している場合、56行目のコメントアウトを解除すると、   EXPゲージが表示されるようになります。 =end module EXP_FLAG # 合計EXP表示を次のレベルまでの表示に変更するスイッチ EXP_NEXT_LEVEL_FLAG = 97 # 忘れないようメモ:actor.current_level_expで「現在のレベルに必要なEXP」表示。 end class Window_Base if !method_defined?(:draw_actor_name_vga) alias draw_actor_name_vga draw_actor_name alias draw_actor_class_vga draw_actor_class alias draw_actor_hp_vga draw_actor_hp alias draw_actor_mp_vga draw_actor_mp alias draw_actor_tp_vga draw_actor_tp alias draw_item_name_vga draw_item_name end #-------------------------------------------------------------------------- # ● シンプルなステータスの描画 #-------------------------------------------------------------------------- def draw_actor_simple_status(actor, x, y) draw_actor_name(actor, x, y) draw_actor_level(actor, x, y + line_height * 1) draw_actor_class(actor, x, y + line_height * 2) draw_actor_icons(actor, x, y + line_height * 3) draw_actor_hp(actor, x + 152, y) draw_actor_mp(actor, x + 152, y + line_height * 1) draw_actor_tp(actor, x + 152, y + line_height * 2) #draw_actor_exp(actor, x + 152, y + line_height * 3) # シンプルステータスで、経験値表示形式を変更する if $game_switches[EXP_FLAG::EXP_NEXT_LEVEL_FLAG] == true s1 = actor.max_level? ? "-----" : actor.next_level_exp - actor.exp change_color(system_color) draw_text(x + 90 + 56, y + line_height * 3, 48, line_height, "Next", 2) change_color(normal_color) draw_text(x + 184 + 84, y + line_height * 3, 72, line_height, s1, 2) else s1 = actor.max_level? ? "-----" : actor.exp s2 = actor.max_level? ? "-----" : actor.next_level_exp change_color(system_color) draw_text(x + 90 + 58, y + line_height * 3, 30, line_height, "Exp", 2) change_color(normal_color) draw_text(x + 120 + 68, y + line_height * 3, 72, line_height, s1, 2) change_color(system_color) draw_text(x + 178 + 80, y + line_height * 3, 12, line_height, "/", 2) change_color(normal_color) draw_text(x + 184 + 84, y + line_height * 3, 72, line_height, s2, 2) end end #-------------------------------------------------------------------------- # ● シンプルなステータスの描画(スキル画面用ステータス・EXP無し) #-------------------------------------------------------------------------- def draw_actor_simple_status_skill(actor, x, y) draw_actor_name(actor, x, y) draw_actor_level(actor, x, y + line_height * 1) draw_actor_class(actor, x, y + line_height * 2) draw_actor_icons(actor, x, y + line_height * 3) draw_actor_hp(actor, x + 152, y) draw_actor_mp(actor, x + 152, y + line_height * 1) draw_actor_tp(actor, x + 152, y + line_height * 2) #draw_actor_exp(actor, x + 152, y + line_height * 3) end end class Window_MenuStatus #-------------------------------------------------------------------------- # ● 項目の描画 (メニュー・ステータス部 名前以降の位置調整) #-------------------------------------------------------------------------- def draw_item(index) actor = $game_party.members[index] enabled = $game_party.battle_members.include?(actor) rect = item_rect(index) draw_item_background(index) #デフォルトは rect.x + 1、rect.y + 1。顔グラフィックの座標をずらす。 draw_actor_face(actor, rect.x + 4, rect.y + 8, enabled) # 最後の数値(4)を倍数にしていくほど、簡易ステータス表示が上昇する draw_actor_simple_status(actor, rect.x + 108, rect.y + line_height / 4) end end class Window_SkillStatus #-------------------------------------------------------------------------- # ● リフレッシュ (メニュー・ステータス部 名前以降の位置調整) #-------------------------------------------------------------------------- def refresh contents.clear return unless @actor draw_actor_face(@actor, 0, 0) # 最後の数値(2)を倍数にしていくほど、簡易ステータス表示が上昇する draw_actor_simple_status_skill(@actor, 108, line_height / 2) end end class Window_Status #-------------------------------------------------------------------------- # ● リフレッシュ #-------------------------------------------------------------------------- def refresh contents.clear draw_block1 (line_height * 0) draw_horz_line(line_height * 1) draw_block2 (line_height * 2) draw_horz_line(line_height * 6) draw_block3 (line_height * 7) draw_horz_line(line_height * 16) draw_block4 (line_height * 17) end #-------------------------------------------------------------------------- # ● ブロック 2 の描画 #-------------------------------------------------------------------------- def draw_block2(y) draw_actor_face(@actor, 8, y) draw_basic_info(136, y) draw_exp_info(386, y) end #-------------------------------------------------------------------------- # ● ブロック 3 の描画 #-------------------------------------------------------------------------- def draw_block3(y) draw_parameters(32, y) draw_equipments(362, y) end end