メニュー画面改造+合成がしたい

アバター
knhhh
記事: 21
登録日時: 2018年2月06日(火) 22:15

メニュー画面改造+合成がしたい

投稿記事by knhhh » 2018年2月09日(金) 05:15

スペース失礼致します。

画像

画像のように背景全体を好きな画像に設定、メニューボタンも
自分で用意したものを使いたいと思っています。

画像

そして「記憶」という項目で合成プラグインを導入したいのです。
このときの背景は真っ黒で大丈夫です。
ゲーム中に手に入れた情報の欠片
(変数・もしくはアイテム[大事な物]だけを引っ張れればアイテムとして扱う)を
2つ合成させることによって「完成した情報」に完成できるというものを作りたいです。
アイテム合成のプラグインとは若干変わってくるのですがアイテムではなく情報の
合成ができるものをオリジナルのメニュー画面に置いてほしいです。

ちょっと独特なお願いかもしれませんが、宜しくお願い致します。

アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: メニュー画面改造+合成がしたい

投稿記事by フトコロ » 2018年2月12日(月) 22:00

こんにちは。

具体的な合成の仕組みが良く分からなかったのでその部分は未定ですが
恐らくこちらのプラグインで実現できると思います。(両方使う)

●FTKR_CustomSimpleActorStatus.js
https://github.com/futokoro/RPGMaker/bl ... atus.ja.md

●FTKR_OriginalSceneWindow.js
https://github.com/futokoro/RPGMaker/bl ... ndow.ja.md


<準備>
FTKR_OriginalSceneWindow.jsのプラグインパラメータの設定
1.Background Image Nameに好きな背景画像を設定

<画面の組み方>
1.ゲーム最初のマップに以下の自動実行イベントを仕込む

コード: 全て選択

◆スイッチの操作:#0002 メニュー表示 = ON
◆メニュー禁止の変更:禁止
◆注釈:---------------------------------------------------
:  :ここからオリジナルメニュー画面の作成
:  :---------------------------------------------------
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 生成
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 アイテム cmd1 true シーン変更(Scene_Item)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 記憶 cmd2 true コモンイベント(2)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 セーブ cmd3 true シーン変更(Scene_Save)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 オプション cmd4 true シーン変更(Scene_Options)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 キャンセル実行設定 シーン終了
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 位置 0 0 サイズ 240 アクティブ ON 表示 ON
◆注釈:---------------------------------------------------
:  :ここから記憶合成画面の作成
:  :---------------------------------------------------
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 生成
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 カーソル高さ 1 最大列数 3
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト初期化
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 内容 ステータス streval(item.name) 幅比率 1,0,0
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト設定 アイテム item.itypeId===3&&$gameParty.hasItem(item)
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 決定 コモンイベント(3)
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 キャンセル コモンイベント(4)
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 位置 0 108 サイズ -1 -1 アクティブ OFF 表示 OFF
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 位置 0 144 サイズ -1 -1 アクティブ OFF 表示 OFF
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 生成
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 セレクト参照 0
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 内容 ステータス text(item.meta['説明1']),text(item.meta['説明2']),text(v[4])
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 位置 0 0 サイズ -1 144 表示 OFF
◆セルフスイッチの操作:A = ON
◆イベントの一時消去

なお、このイベントの2ページ目に条件をセルフスイッチAがONの時で、内容が空のページを作っておく

3.コモンイベントの設定
以下の4つのイベントを作成
コモンイベントID1
トリガーを並列実行、スイッチをID2に設定

コード: 全て選択

◆条件分岐:スクリプト:Input.isTriggered('cancel') && !$gameMap.isEventRunning()
◆プラグインコマンド:OSW_オリジナルシーン表示
◆ウェイト:30フレーム

:分岐終了

このイベントにより、オリジナルのメニュー画面を表示させます。

コモンイベントID2

コード: 全て選択

◆注釈:メニュー画面で記憶コマンドを実行したときの処理
:  :記憶画面用のウィンドウを表示
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 アクティブ OFF
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 アクティブ ON 表示 ON
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 表示 ON


コモンイベントID3

コード: 全て選択

◆注釈:記憶画面で決定ボタンを押したときの処理
:  :記憶を合成するイベントを組む
◆条件分岐:記憶選択数 = 0
  ◆変数の操作:#0002 記憶一つ目 = $gameOswData._oswItem.id
  ◆変数の操作:#0001 記憶選択数 = 1
  ◆変数の操作:#0004 選択中のアイテム名 = '\\c[16]' + $gameOswData._oswItem.name + 'を選択中'
  ◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新
  ◆
:それ以外のとき
  ◆変数の操作:#0003 記憶二つ目 = $gameOswData._oswItem.id
  ◆変数の操作:#0001 記憶選択数 = 0
  ◆条件分岐:記憶一つ目 ≠ 記憶二つ目
    ◆コモンイベント:記憶の合成
    ◆変数の操作:#0004 選択中のアイテム名 = ''
    ◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 カーソル位置初期化
    ◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 更新
    ◆
  :それ以外のとき
    ◆SEの演奏:Buzzer1 (90, 100, 0)
    ◆変数の操作:#0001 記憶選択数 = 1
    ◆
  :分岐終了
  ◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新
  ◆
:分岐終了

仕組みが良く分からなかったので
イベントを自由に組んで、合成処理を組み立ててください。
なお、入手している記憶が記憶画面で表示し、それを選択できますが
選択決定したときの対象は$gameOswData._oswItemで取得できます。

コモンイベントID4

コード: 全て選択

◆注釈:記憶画面でキャンセルボタンを押したときの処理
:  :記憶画面用のウィンドウを消して、メニューコマンドを表示
◆変数の操作:#0001 記憶選択数 = 0
◆変数の操作:#0004 選択中のアイテム名 = ''
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 アクティブ ON
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 アクティブ OFF 表示 OFF
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 表示 OFF


4.記憶の設定
記憶は隠しアイテムAとして作成します。
メモ欄に以下の記述を加えると、画面上にその文章を表示します。

コード: 全て選択

<説明1:説明の1行目の内容>
<説明2:説明の2行目の内容>

実際に使うときは「説明の1行目の内容」部を書き換えてください。
最後に編集したユーザー フトコロ on 2018年6月05日(火) 21:46 [ 編集 2 回目 ]
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
knhhh
記事: 21
登録日時: 2018年2月06日(火) 22:15

Re: メニュー画面改造+合成がしたい

投稿記事by knhhh » 2018年2月13日(火) 03:49

フトコロ様

ご丁寧に返信(ご説明)くださりありがとうございます。
プラグインに疎い私にも分かりやすく記載してくださり大変感謝しております。
しかしながら私の技量で至らない部分があったようでエラーがでてしまいました。
Cannnot read property 'isOrizinal' of undefined と表示されます。
これはどこに問題があるのでしょう…。一度コモンやイベントの設定等
スクリーンショットで貼ったほうが分かりやすいでしょうか?
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: メニュー画面改造+合成がしたい

投稿記事by フトコロ » 2018年2月13日(火) 12:22

準備のところのプラグインパラメータの設定は、すべて行いましたか?
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
knhhh
記事: 21
登録日時: 2018年2月06日(火) 22:15

Re: メニュー画面改造+合成がしたい

投稿記事by knhhh » 2018年2月13日(火) 18:58

フトコロ様

確認してみたらパラメータの入力に誤りがあったようで修正したらエラーが出なくなりました。
ですがキャンセルボタンを押してもメニューが出てこない状態でいます。
これはイベントやコモンの番号が違うからだったりするんでしょうか…。
(スイッチの操作#0002メニュー表示=ON を スイッチの操作#0020メニュー表示=ONにしていたりします)
もしそうであればどこか書き換えなければならないんですかね汗
コモンも0012にID1を書いてそれに続いてID4を作っています。
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: メニュー画面改造+合成がしたい

投稿記事by フトコロ » 2018年2月13日(火) 19:13

上で記載したイベント内容とコモンイベントのIDは連動していますので
片方だけ変えると、うまくく動作しません。

具体的には
1.メニュー表示スイッチは
マップの自動イベントと一つ目のコモンイベントのトリガーに使用しています。

2.二つ目のコモンイベントのIDは、マップの自動イベントの8行目の
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 記憶 cmd2 true コモンイベント(2)
で「コモンイベント(2)」の数字と連動してます。

3.三つ目のコモンイベントのIDは、マップの自動イベントの8行目の21行目の
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 決定 コモンイベント(3)
で「コモンイベント(3)」の数字と連動してます。

4.四つ目のコモンイベントのIDは、マップの自動イベントの8行目の22行目の
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 キャンセル コモンイベント(4)
で「コモンイベント(4)」の数字と連動してます。

上記のそれぞれ連動している数字をあわせれば、別のIDに変更しても問題ありません。
一つ目のコモンイベントは、別のIDにしても問題ないです。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
knhhh
記事: 21
登録日時: 2018年2月06日(火) 22:15

Re: メニュー画面改造+合成がしたい

投稿記事by knhhh » 2018年2月15日(木) 01:55

フトコロ様

色々確認してみたところ恐らくメニュー表示をする最初の設定が
上手く出来ていないみたいで通常のメニューが表示されてしまっています…。
自分の設定を載せてみるので何か勘違いして設定してる部分があれば
教えてくださいますでしょうか(汗)

【自動イベントの内容】
◆スイッチの操作:#0020 メニュー表示 = ON
◆メニュー禁止の変更:禁止
◆注釈:◆注釈:---------------------------------------------------
:  ::  :ここからオリジナルメニュー画面の作成
:  ::  :---------------------------------------------------
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 生成
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 アイテム cmd1 true シーン変更(Scene_Item)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 記憶 cmd2 true コモンイベント(13)
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 コマンド追加 セーブ cmd3 true シーン変更(Scene_Save)
----(省略)
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 決定 コモンイベント(14)
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 リスト実行設定 キャンセル コモンイベント(15)


【コモンイベント】
・0012 ID1 トリガー:並列処理 スイッチ:0020 メニュー表示
・0013 ID2
・0014 ID3
・0015 ID4

すみませんこんなところから躓いてしまいご迷惑おかけしております;;
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: メニュー画面改造+合成がしたい

投稿記事by フトコロ » 2018年2月15日(木) 07:49

自動イベントですか、イベントのトリガーを自動実行に設定していますか?

また、「イベントの一時消去」コマンドを最後に入れないといけないです。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
アバター
knhhh
記事: 21
登録日時: 2018年2月06日(火) 22:15

Re: メニュー画面改造+合成がしたい

投稿記事by knhhh » 2018年2月15日(木) 17:05

フトコロ様

お世話になっております。
色々いじってみたところ間違っていた設定を見つけて直すことができました。
ご迷惑おかけしました(汗)
1点気になる箇所があるのですが、自動イベントなどでキャラクターが
会話したりするシーンでキャンセルボタンを押すとメニューが表示されてしまいます。
これは制御できるのでしょうか?

また【記憶】に関しても形としては理想通りで嬉しいです!
隠しアイテムAとして手に入れたものを合成させるには別のプラグインが必要になるのでしょうか?
★例★記憶の破片(アイテム)①+記憶の破片(アイテム)②=記憶(アイテム③)
みたいに使用したいのですが…
アバター
フトコロ
記事: 1029
登録日時: 2017年2月06日(月) 21:32

Re: メニュー画面改造+合成がしたい

投稿記事by フトコロ » 2018年2月15日(木) 23:04

knhhh さんが書きました:会話したりするシーンでキャンセルボタンを押すとメニューが表示されてしまいます。
これは制御できるのでしょうか?

この部分を考慮して記述していませんでした。
メッセージウィンドウを表示している時は、メニューを表示させないようにするコモンイベントは以下になります。

◆条件分岐:スクリプト:Input.isTriggered('cancel') && !$gameMessage.isBusy()
◆プラグインコマンド:OSW_オリジナルシーン表示
◆ウェイト:30フレーム

:分岐終了

knhhh さんが書きました:隠しアイテムAとして手に入れたものを合成させるには別のプラグインが必要になるのでしょうか?
★例★記憶の破片(アイテム)①+記憶の破片(アイテム)②=記憶(アイテム③)
みたいに使用したいのですが…

プラグインよりも、イベントで組んでしまったほうがやりやすいと思います。
まず、プラグインを更新してください。
https://raw.githubusercontent.com/futokoro/RPGMaker/master/FTKR_OriginalSceneWindow.js

その上で、コモンイベントはこのように修正します。

<3つ目のコモンイベント>
記憶を選ぶごとに、アイテムIDを変数ID2と3に格納します。
同じアイテムを選択するとブザーがなり合成できないようにしています。
別の記憶を選択すると、コモンイベント「記憶の合成」を呼びます。

◆注釈:記憶画面で決定ボタンを押したときの処理
:  :記憶を合成するイベントを組む
◆条件分岐:記憶選択数 = 0
◆変数の操作:#0002 記憶一つ目 = $gameOswData._oswItem.id
◆変数の操作:#0001 記憶選択数 = 1
◆変数の操作:#0004 選択中のアイテム名 = $gameOswData._oswItem.name + 'を選択中'
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 内容 ステータス text(v[4])
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新

:それ以外のとき
◆変数の操作:#0003 記憶二つ目 = $gameOswData._oswItem.id
◆変数の操作:#0001 記憶選択数 = 0
◆条件分岐:記憶一つ目 ≠ 記憶二つ目
◆コモンイベント:記憶の合成
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 カーソル位置初期化
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 更新

:それ以外のとき
◆SEの演奏:Buzzer1 (90, 100, 0)
◆変数の操作:#0001 記憶選択数 = 1

:分岐終了
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 内容 ステータス text(item.meta['説明1']),text(item.meta['説明2'])
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新

:分岐終了


<4つ目のコモンイベント>
◆注釈:記憶画面でキャンセルボタンを押したときの処理
:  :記憶画面用のウィンドウを消して、メニューコマンドを表示
◆変数の操作:#0001 記憶選択数 = 0
◆プラグインコマンド:OSW_コマンド設定 オリジナル 0 アクティブ ON
◆プラグインコマンド:OSW_セレクト設定 オリジナル 0 アクティブ OFF 表示 OFF
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 内容 ステータス text(item.meta['説明1']),text(item.meta['説明2'])
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 更新
◆プラグインコマンド:OSW_コモン設定 オリジナル 0 表示 OFF


<コモンイベント:記憶の合成>
◆注釈:記憶を合成するイベントを組む
:  :変数ID2と変数ID3の値(アイテムID)を調べて
:  :合成可能ならアイテムを増減させる
◆条件分岐:スクリプト:[7,8].contains($gameVariables.value(2))
◆条件分岐:スクリプト:[7,8].contains($gameVariables.value(3))
◆注釈:合成に使用したアイテムを減らす
◆スクリプト:$gameParty.loseItem($dataItems[$gameVariables.value(2)],1)
◆スクリプト:$gameParty.loseItem($dataItems[$gameVariables.value(3)],1)
◆注釈:アイテムを増やす
◆アイテムの増減:記憶3 + 1

:分岐終了

:分岐終了

条件分岐のところで、選んだアイテムがアイテムID7とアイテムID8の組み合わせなら、
選んだアイテムを減らした上で、「記憶3」のアイテムを入手する、という処理です。
---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。

“MV:プラグイン素材のリクエスト” へ戻る