RGSS3 PT編集用画面 Ver2.12-β12
http://blog.livedoor.jp/kuremente-rgsss ... 12834.html
上記サイト様のPT編集用画面を使用させていただいております。
待機メンバーが増えた際に「パーティから外す」コマンドまでカーソルをあわせるのが億劫になると考え、
「パーティから外す」コマンドを先頭に配置したいと考えております。
その方法をご存知の方がいらっしゃいましたらご教授いただけると幸いです。
他スクリプト導入状況は以下のようになっております。
・併用化ベーススクリプト:未導入
・コスト制追加オプションスクリプト:導入済
何卒、よろしくお願いいたします!
【解決済】RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
【解決済】RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
最後に編集したユーザー しりす [ 2025年3月20日(木) 15:11 ], 累計 1 回
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
要はコマンドリストの末尾を削除して、先頭に挿入すれば良いので
RGSS3 PT編集用画面の直下のセクションに
と書けば良いと思います
RGSS3 PT編集用画面の直下のセクションに
コード: 全て選択
class Window_WaitMember_List < Window_Command
alias :_old_make_command_list :make_command_list
def make_command_list
_old_make_command_list
@list.unshift @list.pop
end
end
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
名無し蛙様
ご回答ありがとうございます!
しかし、いただいたスクリプトを配置したところ、
添付画像のようにキャラクターの名前が一つずれるのみで選択対象は変わらないままとなりました。
添付画像の例だと「外す」を選択するとエリックが入れ替えられて「イザベル」を選択するとパーティから外れる挙動となっております。
もう一つ考慮が必要そうですね…。
ご回答ありがとうございます!
しかし、いただいたスクリプトを配置したところ、
添付画像のようにキャラクターの名前が一つずれるのみで選択対象は変わらないままとなりました。
添付画像の例だと「外す」を選択するとエリックが入れ替えられて「イザベル」を選択するとパーティから外れる挙動となっております。
もう一つ考慮が必要そうですね…。
- 添付ファイル
-
- test.jpg (243.79 KiB) 閲覧された回数 2975 回
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
すみません。実行環境を揃えるのが億劫でコードだけ眺めて回答しました
なるほど、簡易ステータスウィンドウは選択内容と同期している訳ではないんですね
しかし元のコードがかなり柔軟性に欠けるので
ここから帳尻合わせようとするとがっつり改造する必要がありそうです
そこで目的が
>待機メンバーが増えた際に「パーティから外す」コマンドまでカーソルをあわせるのが億劫になると考え、
であるのならば初期カーソル位置を「パーティから外す」(選択肢末尾)に固定する事を提案します。
これでカーソル合わせは解決しますがどうですかね?
前回のコードを消してこのコードに書き換えてください。
コアスクリプトを踏襲しているようであまり踏襲していない
独特な処理体系をしているので触るのは必要最小限に留めたいです。
なるほど、簡易ステータスウィンドウは選択内容と同期している訳ではないんですね
しかし元のコードがかなり柔軟性に欠けるので
ここから帳尻合わせようとするとがっつり改造する必要がありそうです
そこで目的が
>待機メンバーが増えた際に「パーティから外す」コマンドまでカーソルをあわせるのが億劫になると考え、
であるのならば初期カーソル位置を「パーティから外す」(選択肢末尾)に固定する事を提案します。
これでカーソル合わせは解決しますがどうですかね?
コード: 全て選択
class Scene_PartyEdit < Scene_MenuBase
def waitm_w_set
@waitmember_window.active = true
@ptmember_window.active = false
$k_edit_party_last_selection = @ptmember_window.index
# @waitmember_window.index = 0
@waitmember_window.index = @waitmember_window.item_max - 1
#項目再描画
@waitmember_window.refresh
@ptmember_window.refresh
if $k_wait_member_list[0] != nil
@status_window_1.actor = $game_actors[$k_wait_member_list[0]]
else
@status_window_1.actor = nil
end
@status_window_1.refresh
end
end
コアスクリプトを踏襲しているようであまり踏襲していない
独特な処理体系をしているので触るのは必要最小限に留めたいです。
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
名無し蛙様
ご回答ありがとうございます!
たしかに、初期カーソルを外すに合わせることでも満たしそうですね。
いただいたスクリプトを配置したところ、「外す」のウィンドウに先頭キャラクターの情報が表示されてしまうといった現象が発生してしまいました。(パーティから外す動作は機能しております)
おっしゃる通り、元のコードとの兼ね合いに一癖ありそうです…。
以下の動作を実装でも代用できないかとも考えたのですが、やはり改造難度が高くなってしまうでしょうか?
パーティキャラクターにカーソルを合わせた状態、
または入れ替えるキャラクターを選択する状態から
ワンボタン入力(SHIFTキー押下など)でパーティから外すを実行
ご回答ありがとうございます!
たしかに、初期カーソルを外すに合わせることでも満たしそうですね。
いただいたスクリプトを配置したところ、「外す」のウィンドウに先頭キャラクターの情報が表示されてしまうといった現象が発生してしまいました。(パーティから外す動作は機能しております)
おっしゃる通り、元のコードとの兼ね合いに一癖ありそうです…。
以下の動作を実装でも代用できないかとも考えたのですが、やはり改造難度が高くなってしまうでしょうか?
パーティキャラクターにカーソルを合わせた状態、
または入れ替えるキャラクターを選択する状態から
ワンボタン入力(SHIFTキー押下など)でパーティから外すを実行
- 添付ファイル
-
- test.jpg (249.15 KiB) 閲覧された回数 2886 回
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
こんな感じですかねしりす さんが書きました:パーティキャラクターにカーソルを合わせた状態、
または入れ替えるキャラクターを選択する状態から
ワンボタン入力(SHIFTキー押下など)でパーティから外すを実行
コード: 全て選択
class Window_PartyMember_List < Window_Command
#--------------------------------------------------------------------------
# ● 決定やキャンセルなどのハンドリング処理
#--------------------------------------------------------------------------
def process_handling
super
call_handler(:shift) if handle?(:shift) && Input.trigger?(:SHIFT)
end
end
class Scene_PartyEdit < Scene_MenuBase
#--------------------------------------------------------------------------
# ○ パーティーメンバーウィンドウの作成
#--------------------------------------------------------------------------
alias :_old_create_ptmember_window :create_ptmember_window
def create_ptmember_window
_old_create_ptmember_window
@ptmember_window.set_handler(:shift, method(:on_ptm_shift))
end
#--------------------------------------------------------------------------
# ● パーティウィンドウのシフト処理
#--------------------------------------------------------------------------
def on_ptm_shift
@edit_flag = 1
Sound.play_equip
$k_edit_party_list[$k_edit_party_last_selection] = nil
@waitmember_window.refresh
@ptmember_window.refresh
@status_window_1.actor = nil
end
#--------------------------------------------------------------------------
# ○ 待機メンバーウィンドウのアクティブ処理
#--------------------------------------------------------------------------
def waitm_w_set
@waitmember_window.active = true
@ptmember_window.active = false
$k_edit_party_last_selection = @ptmember_window.index
# @waitmember_window.index = 0
@waitmember_window.index = @waitmember_window.item_max - 1
#項目再描画
@waitmember_window.refresh
@ptmember_window.refresh
if $k_wait_member_list[0] != nil
@status_window_1.actor = $game_actors[$k_wait_member_list[0]]
else
@status_window_1.actor = nil
end
@status_window_1.refresh
end
end
レアケースもカバーし切れているかはあまり自信ないです
Re: RGSSスクリプト倉庫 様の「PT編集用画面」をカスタマイズしたい
名無し蛙 様
動かしてみた所、想定した通りの動作となりました!
これでスムーズなパーティ編成ができるようになったかと思われます!
ありがとうございました!
動かしてみた所、想定した通りの動作となりました!
これでスムーズなパーティ編成ができるようになったかと思われます!
ありがとうございました!