ステータスメニュー画面の改造

KTY
記事: 12
登録日時: 2021年8月21日(土) 16:41

ステータスメニュー画面の改造

投稿記事by KTY » 2021年8月21日(土) 16:54

初めまして。説明下手なので解り辛いかもしれませんが、できるだけ適宜質問にも答えます。
とりあえず、したい事と、どの程度作業が進んでいるかを説明します。

使っているツール:ace
やりたいこと:ステータスメニュー画面の改造
導入スクリプト:サイドビューバトル(RPG探検隊様)
ランダムトループ(ひきも記様)
メニューコマンド+(白の魔様)

改造したいのは、個人ステータス(フルステータス)画面ではなく、パーティメンバーの簡易ステータス画面のほうです。
最終的な目標は

1. Escでコマンドを呼んだらコマンドのみが出るようにする
2. コマンド「パーティ」を増設して、選択すると全画面でパーティステ画面が出るようにする
3. パーティは最大10人だが、2列3段で5人表示ずつ表示される(スタメン/リザーブで2ページ)
4. 左上はコマンド表にして、右上からメンバーがはじまる
5. コマンド内容は「装備」「魔法」「スキル」「並び変え」など(ここは若干変わるかも)

みたいなかんじです。

とりあえず、1番は問題無くクリアです。書く必要もないかもですが、ステータスウインドウをコメントアウトで出なくしました。
2番はウインドウのサイズを変えて、表示させることはできましたが、アイテムなどの様にコマンドが消えず、後ろに透けて見える状態です。

因みにこの2番は、前に作っていたサンプルでは、なんとか作動までこぎつけましたが、なんだかんだで不具合が出て、それは消してしまったので、現在はまだ未実装です。
とりあえずコメントアウトする予定のウインドウの幅などの調整で大きさのみ変更しています。
たしか、アイテムウインドウのSceneManager.call(Scene_Item)の呼び出しをマネして、新規ウインドウを適当な名前で内容コピペで作って、なんとなく成功してた・・・気がしますw

3番もまず普通に5人を並べることはできました。ついでにHPなどの表示も適当にいじっていい感じにもすることも可能です。
4番はカーソルの開始位置や、メンバーの位置もひとつ後ろに下げることは成功しました。合ってるかわからないけど。

というのも、“一人目(エリック)”を選んでも二人目(ナタリー)が表示されるからです。しかし、これも一旦は解消することに成功しました。
が、その方法だと、「一人パーティ」や「最後尾」のキャラだとエラーを吐くので間違っているのでしょう。

5番目はまだそんなにいじってないのですが、まぁなんとなくできるかなぁ・・・とは思っていますw
白の魔様のコマンド+で初めのコマンドにパーティを付け加えることはできました(他人のふんどし)。中身は空の状態ですが。
予定(希望)として、コマンドを呼びだすと「アイテム」「パーティ」「セーブ」「図鑑」「コンフィグ」「データ」が出て、「パーティ」コマンドを選ぶと上記のコマンドとステータス画面が出るようにしたいです。

・変更した場所
Window_Selectableの「オブジェクト初期化」の「@index」を-1から1に変更(カーソルがずれる)
Window_MenuStatusの「項目の描画」の「rect = item_rect(index) 」を「rect = item_rect(index+1) 」に変更(キャラがずれる)
Game_Partyの「メニュー画面で選択中のアクターを取得」の「$game_actors[@menu_actor_id] || members[0] を「$game_actors[@menu_actor_id-1] || members[0]にする(選択と表示が一致)

エラーは「メニュー画面で選択中のアクターを設定」の@menu_actor_id = actor.idについてundefined method `id' for nil:NilClassが出ます。
想像するに、「選んだキャラの次(前?後?)を選んで表示する」ように指令が出ていて、一人ないし最後尾は「次の人なんていないよ」でエラーなのかな?とおもっていたり(よくわかってない)。

お尋ねしたいのは

1. キャラとカーソルを“二人目”の位置から開始して、ちゃんと「選んだキャラ」が表示されるようにしたい
2. アイテムと同じように最初のコマンドを消して、全画面でパーティステータスが開くようにしたい

の2つです。できれば自分で作ってみたいとも思っているので、いじる場所のヒント程度でもかまいません。
その他、代替え案などでもスクリプト本体の提示でも参考にさせていただければ幸いです (まぁ識者の方が作ったものはいじらんのがベストやろうが) 。

スクリプトは完全に初心者です。とりあえずいろんなサイトにて提供されているものを拾って若干改造してなんとなく上手くいくこともある程度です。

因みにいじるときには、該当箇所をコピペして、下に新規スクリプト状態で改造しています。
よろしくお願いします。

KTY
記事: 12
登録日時: 2021年8月21日(土) 16:41

Re: ステータスメニュー画面の改造

投稿記事by KTY » 2021年8月22日(日) 13:03

一部修正をします。

投稿後、アイテムのカーソルも動いている事に気づいたので

Window_MenuStatusに「カーソル位置の設定」を追加して、「@index = index+1」としました。

これにより、たぶんステータスのみカーソルがずれた状態になっているはずです。

Window_Selectableの「オブジェクト初期化」の「@index」は-1に戻しました。

まあ、これも正しい処理かはわかっていないのですが^^;

引き続きよろしくお願いいたします。

“VX / Ace:質問” へ戻る