105 lines
4.7 KiB
Ruby
105 lines
4.7 KiB
Ruby
#==============================================================================
|
||
# 「オリジナルメニューコマンド」(ACE) ver.1.0
|
||
# 製作者:奈々(なな)
|
||
# へぷたなすくろーる http://heptanas.mamagoto.com/
|
||
#
|
||
# ◇使用規約
|
||
# 使用される場合はスクリプト作成者として「奈々」を明記して下さい。
|
||
# このスクリプトを改変したり、改変したものを配布するなどは自由ですが
|
||
# その場合も元のスクリプトの作成者として名前は載せて下さい。
|
||
# その他、詳しい利用規約はブログを参照して下さい。
|
||
#
|
||
#------------------------------------------------------------------------------
|
||
#
|
||
# コモンイベントを利用した、独自のメニューコマンドを作成できます。
|
||
# 仲間との会話やアイテム合成など、自由度の高いコマンドを自作可能です。
|
||
#
|
||
# 使い方は、まず初期設定でオリジナルコマンドを作成します。
|
||
# コモンイベントの指定と、コマンド名や条件スイッチなどの設定をします。
|
||
# 次にコモンイベントを作りこんで、コマンドの中身となる処理を作成します。
|
||
# 設定により、マップ画面に移行するか、メニュー画面のまま処理するか選択可能です。
|
||
#
|
||
# 最後にオリジナルコマンドをメニュー画面に追加します。
|
||
# これは、別の素材である「簡単コマンドカスタム(Ver.1.1~)」を使います。
|
||
# 別途ブログよりダウンロードして、説明を読んでご利用下さい。
|
||
#
|
||
#==============================================================================
|
||
|
||
#◇初期設定
|
||
module Nana
|
||
module OMC
|
||
|
||
C = [] #消したり変えたりしないで下さい
|
||
|
||
|
||
#オリジナルコマンドの追加
|
||
#C[コマンド番号] = [コモンEV番号, "コマンド名", 条件スイッチ番号, 起動モード]
|
||
#条件スイッチ番号は、指定スイッチがonならコマンドが有効に(0で常時有効)
|
||
#起動モードはtrueでマップ起動、falseでメニュー起動
|
||
|
||
C[10] = [34, "Settings", 0, true]
|
||
C[11] = [29, "Resistance", 0, true]
|
||
C[12] = [31, "Masturbation", 0, true]
|
||
|
||
|
||
#メニューへの反映には「簡単コマンドカスタム」スクリプトで設定します
|
||
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Window_MenuCommand
|
||
#------------------------------------------------------------------------------
|
||
# メニュー画面で表示するコマンドウィンドウです。
|
||
#==============================================================================
|
||
|
||
class Window_MenuCommand < Window_Command
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドリストの作成
|
||
#--------------------------------------------------------------------------
|
||
def add_n7_original_command(n)
|
||
c = Nana::OMC::C[n]
|
||
return unless c
|
||
enabled = c[2] == 0 ? true : $game_switches[c[2]]
|
||
ext = {:cev => c[0], :mode => c[3]}
|
||
|
||
add_command(c[1], :omc, enabled , ext)
|
||
end
|
||
end
|
||
|
||
#==============================================================================
|
||
# ■ Scene_Menu
|
||
#------------------------------------------------------------------------------
|
||
# メニュー画面の処理を行うクラスです。
|
||
#==============================================================================
|
||
|
||
class Scene_Menu < Scene_MenuBase
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンドウィンドウの作成
|
||
#--------------------------------------------------------------------------
|
||
alias create_command_window_n7omc create_command_window
|
||
def create_command_window
|
||
create_command_window_n7omc
|
||
@command_window.set_handler(:omc, method(:command_omc))
|
||
end
|
||
#--------------------------------------------------------------------------
|
||
# ● コマンド[オリジナルメニューコマンド]
|
||
#--------------------------------------------------------------------------
|
||
def command_omc
|
||
ext = @command_window.current_ext
|
||
$game_temp.reserve_common_event(ext[:cev])
|
||
if ext[:mode] == true
|
||
SceneManager.goto(Scene_Map)
|
||
else
|
||
common_event = $game_temp.reserved_common_event
|
||
@interpreter = Game_Interpreter.new
|
||
@interpreter.setup(common_event.list, 0)
|
||
@interpreter.update
|
||
@command_window.refresh
|
||
@status_window.refresh
|
||
@gold_window.refresh
|
||
@command_window.activate
|
||
end
|
||
end
|
||
end
|
||
|