181 lines
6.9 KiB
Ruby
181 lines
6.9 KiB
Ruby
|
|
#==============================================================================
|
|
# 「お一人様メニュー」(ACE) Ver.1.1
|
|
# 製作者:奈々(なな)
|
|
# へぷたなすくろーる http://heptanas.mamagoto.com/
|
|
#
|
|
# ◇使用規約
|
|
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
|
|
# このスクリプトを改変したり、改変したものを配布するなどは自由ですが
|
|
# その場合も元のスクリプトの作成者として名前は載せて下さい。
|
|
# その他、詳しい利用規約はブログを参照して下さい。
|
|
#
|
|
#------------------------------------------------------------------------------
|
|
#
|
|
# パーティメンバーが1人の場合に使いやすいメニューです。
|
|
# 1人なのにいちいちアクターを選択する無駄な手間を省きます。
|
|
#
|
|
# 初期設定でモードを選択します。
|
|
# モード1と2は最小の変更で、他のメニュー系スクリプトと競合しにくいです。
|
|
#
|
|
#==============================================================================
|
|
#◇初期設定
|
|
module Nana
|
|
|
|
#モード選択
|
|
LONELY_MODE = 1
|
|
# 1 スキルや装備、ステータスのアクター選択が行われない
|
|
# 2 それに加えて並び替えをメニューから削除
|
|
# 3 更にステータス画面がメニュー画面と一体化する
|
|
|
|
#モード1の追加設定
|
|
LONELY_ONLY = true
|
|
# true パーティメンバーが複数でも、アクター選択を行わない
|
|
# false パーティメンバーが複数なら、アクター選択を行う
|
|
|
|
end
|
|
#==============================================================================
|
|
|
|
#==============================================================================
|
|
# ■ Scene_Menu
|
|
#------------------------------------------------------------------------------
|
|
# メニュー画面の処理を行うクラスです。
|
|
#==============================================================================
|
|
|
|
class Scene_Menu < Scene_MenuBase
|
|
|
|
if Nana::LONELY_MODE >= 1 && (Nana::LONELY_ONLY || ($game_party && $game_party.members.size == 1))
|
|
#--------------------------------------------------------------------------
|
|
# ● コマンド[スキル][装備][ステータス]
|
|
#--------------------------------------------------------------------------
|
|
def command_personal
|
|
on_personal_ok
|
|
end
|
|
end
|
|
|
|
if Nana::LONELY_MODE == 3
|
|
#--------------------------------------------------------------------------
|
|
# ● 開始処理
|
|
#--------------------------------------------------------------------------
|
|
def start
|
|
super
|
|
@status_window = Window_Status.new($game_party.leader)
|
|
create_command_window
|
|
create_gold_window
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● ゴールドウィンドウの作成
|
|
#--------------------------------------------------------------------------
|
|
def create_gold_window
|
|
@gold_window = Window_Gold.new
|
|
@gold_window.x = Graphics.width - @gold_window.width
|
|
@gold_window.y = Graphics.height - @gold_window.height
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
#==============================================================================
|
|
# ■ Scene_MenuBase
|
|
#------------------------------------------------------------------------------
|
|
# メニュー画面系の基本処理を行うクラスです。
|
|
#==============================================================================
|
|
|
|
class Scene_MenuBase < Scene_Base
|
|
|
|
if Nana::LONELY_ONLY
|
|
#--------------------------------------------------------------------------
|
|
# ● 次のアクターに切り替え
|
|
#--------------------------------------------------------------------------
|
|
def next_actor
|
|
on_actor_change
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 前のアクターに切り替え
|
|
#--------------------------------------------------------------------------
|
|
def prev_actor
|
|
on_actor_change
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
#==============================================================================
|
|
# ■ Window_MenuCommand
|
|
#------------------------------------------------------------------------------
|
|
# メニュー画面で表示するコマンドウィンドウです。
|
|
#==============================================================================
|
|
|
|
class Window_MenuCommand < Window_Command
|
|
|
|
if Nana::LONELY_MODE >= 2
|
|
#--------------------------------------------------------------------------
|
|
# ● 並び替えをコマンドリストに追加
|
|
#--------------------------------------------------------------------------
|
|
def add_formation_command
|
|
end
|
|
end
|
|
|
|
if Nana::LONELY_MODE == 3
|
|
#--------------------------------------------------------------------------
|
|
# ● ウィンドウ幅の取得
|
|
#--------------------------------------------------------------------------
|
|
def window_width
|
|
return Graphics.width
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 桁数の取得
|
|
#--------------------------------------------------------------------------
|
|
def col_max
|
|
return 5
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 表示行数の取得
|
|
#--------------------------------------------------------------------------
|
|
def visible_line_number
|
|
return 1
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● 主要コマンドをリストに追加
|
|
#--------------------------------------------------------------------------
|
|
def add_main_commands
|
|
add_command(Vocab::item, :item, main_commands_enabled)
|
|
add_command(Vocab::skill, :skill, main_commands_enabled)
|
|
add_command(Vocab::equip, :equip, main_commands_enabled)
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
#==============================================================================
|
|
# ■ Window_Status
|
|
#------------------------------------------------------------------------------
|
|
# ステータス画面で表示する、フル仕様のステータスウィンドウです。
|
|
#==============================================================================
|
|
|
|
class Window_Status < Window_Selectable
|
|
|
|
if Nana::LONELY_MODE == 3
|
|
#--------------------------------------------------------------------------
|
|
# ● オブジェクト初期化
|
|
#--------------------------------------------------------------------------
|
|
def initialize(actor)
|
|
super(0, line_height * 2, Graphics.width, Graphics.height - line_height * 2)
|
|
@actor = actor
|
|
refresh
|
|
activate
|
|
end
|
|
#--------------------------------------------------------------------------
|
|
# ● リフレッシュ
|
|
#--------------------------------------------------------------------------
|
|
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)
|
|
end
|
|
end
|
|
|
|
end
|