[解決済み]キー入力で先頭キャラと交代するプラグイン

イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

[解決済み]キー入力で先頭キャラと交代するプラグイン

投稿記事by イトマキ » 2017年8月14日(月) 14:47

お世話になります。

ツクールMVは「メニュー」→「並び替え」で操作できる先頭キャラを入れ替えることができますが、

「並び替えがキー入力で簡単にできるプラグイン」

というのはツクれませんでしょうか……? 
以下が例になります。

例1)
●対応するキー入力を二つ(例:QとW)にし、パーティーが先頭含めて三人だとすると
「Qを押すと降順(この例だと三番目から)で自動で入れ替え、
Wを押すと昇順(この例だと二番目から)で自動で入れ替える」

例2)
●対応するキー入力をn個(例:数字キー1,2,3,…n)にし、前例と同じパーティーが先頭含めて三人だとすると
「1を押すと先頭のキャラと入れ替え、
2を押すと二番目のキャラと入れ替え、
3を押すと三番目のキャラと入れ替える」

こののような仕様が実現できるのでしたらとても嬉しいです。

既にプラグインがあったかなーとネットで検索しましたが……私の力では見つけられず、リクエストすることにしました。
(もしあったら申し訳ないです……)
よろしくお願いいたします。
最後に編集したユーザー イトマキ on 2019年6月13日(木) 15:52 [ 編集 1 回目 ]

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

Re: キー入力で先頭キャラと交代するプラグイン

投稿記事by フトコロ » 2017年8月27日(日) 19:19

---------------------------------------------------------------------------------------------------
プラグイン置き場(GitHub)
https://github.com/futokoro/RPGMaker/blob/master/README.md

検討中の内容は上記リンク先の「対応するかもしれないプラグインのメモ」を参照してください。
イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

Re: キー入力で先頭キャラと交代するプラグイン

投稿記事by イトマキ » 2017年9月19日(火) 17:53

返信ありがとうございます。 イトマキです。

また、諸事情により返事が遅れたことをここでお詫びします。


フトコロ様の紹介してくださった「ボタンひとつでキャラチェンジできるプラグイン」ですが、

現在「ファイルが見つかりません」と表示されDLができない状況になっております。

ダウンロードして、このプラグインが私の求めていたプラグインであったかを確認したかったのですが、
すみません、今現在報告することができなさそうです……。

しかし、このプラグインは未確認であったため、大変感謝しております。
情報をありがとうございました。

これからの活動も心から応援します。

イトマキ
アバター
RUFIERU
記事: 32
登録日時: 2016年11月11日(金) 01:11

Re: キー入力で先頭キャラと交代するプラグイン

投稿記事by RUFIERU » 2017年9月20日(水) 00:00

こんにちは。
プラグインではないのですが、今後見つからないのであれば、この方法で同じような動作が実現できるはずです。

必要プラグイン
ひきも記は閉鎖しました。さんの
コモンイベントキー:TMCommonEventKey.js
http://hikimoki.sakura.ne.jp/plugin/plugin_map.html

例1の作り方。
TMCommonEventKey.js のプラグインパラメータの CommonKeyQ の値に「並べ替え降順」の処理をするコモンイベントのIDを入力する。
同じようにTMCommonEventKey.js のプラグインパラメータの CommonKeyW の値に「並べ替え昇順」の処理をするコモンイベントのIDを入力する。

コモンイベントの並べ替え降順の処理でスクリプトで次の処理を実行する。

コード: 全て選択

var a = $gameParty._actors[0] ;
var b = null ;
for(var i = 1 ; i < $gameParty._actors.length ; ++i ){
 b = a ;
 a = $gameParty._actors[i] ;
 $gameParty._actors[i] = b  ;
}
$gameParty._actors[0] = a ;
$gamePlayer.refresh() ;
$gameMap.requestRefresh();


次にコモンイベントの並べ替え昇順で同じようにスクリプトで次の処理を実行する。

コード: 全て選択

var a = $gameParty._actors[$gameParty._actors.length-1] ;
var b = null ;
for(var i = $gameParty._actors.length-2 ; i >= 0 ; --i ){
 b = a ;
 a = $gameParty._actors[i] ;
 $gameParty._actors[i] = b  ;
}
$gameParty._actors[$gameParty._actors.length-1] = a ;
$gamePlayer.refresh() ;
$gameMap.requestRefresh();


これで完成です。

次に例2の作り方です。
TMCommonEventKey.js のプラグインパラメータの CommonKey の数字キーの入力の場所に各入れ替え用コモンイベントのIDを設定する。コモンイベントはゲーム内での最大入れ替えメンバー数と同じ量用意する。

ここから入れ替えるメンバーの位置(前から何番目か)の値から1を引いた数をXとします。
コモンイベントで次のような処理を行う。
◆条件分岐:スクリプト:$gameParty._actors[X] != null
 ◆スクリプト:

コード: 全て選択

var i = $gameParty._actors[0] ;
$gameParty._actors[0] = $gameParty._actors[X] ;
$gameParty._actors[X] = i ;
$gamePlayer.refresh() ;
$gameMap.requestRefresh();

 ◆
:分岐終了


これをゲーム内の最大入れ替えメンバー数用意すれば完成です。
イトマキ
記事: 20
登録日時: 2017年8月14日(月) 13:53

Re: キー入力で先頭キャラと交代するプラグイン

投稿記事by イトマキ » 2017年9月22日(金) 20:54

RUFIERU様

イトマキです。

ひきも記は閉鎖しました。さんのコモンイベントキー:TMCommonEventKey.jsの件ですが、確かにそれならできそうです!

TMCommonEventKey.jsは競合が激しく、プラグインを入れ過ぎているため競合パーツが見つけられず
現在私のゲームではどうしても使用できませんが、新規作って確認してみようと思います。


スクリプト頂けるなんて……情報をありがとうございます。
勉強になりました。

イトマキ

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