RPGツクールMVでオフラインのスコアボード的なもの…
先日フリゲのタイピングゲームを作ったんですが、その時にスコアボード的な物が欲しいなぁと。
まぁプレイするのは一人なので、スコアボードは無くても良かったんですが…
何となくあった方がそれっぽいかなと…
それでプラグインなしで、作る方法を探していて、ツクマテさんとかも参考にしたんですが
それだとコードの知識がない私にはわからなく…
結局変数を利用して何とかなりました。
今回はRPGツクールMVで、プラグインなしでオフラインのスコアボード的なものを作る方法をご紹介します!
RPGツクール MV でオフラインスコアボードを作る!
まず、どんな感じになるのかをSSでご紹介します。
テストなので、第1位しか表示されてませんが…(-_-;)
こんな感じで、第10位まで表示されるようになります。
ちなみに、こちらのランキング表示は、トリアコンタンさんの★ゲーム内用語辞典を使わせていただいてます。
では、まず変数を用意します。
今回は第10位まで表示するので、11人目のNullのプレイヤーを用意して、それで順位を表示します。
変数の1~21までがスコアボードで使う変数になります。
ちなみに、ゲーム内用語辞典のアイテムのメモ欄には、こんな感じに記述します。
実際に記入するのは、一か所。
スクリプトのみです。
そちらもご紹介しますと。
こんな感じになります。
文章でもご紹介しますね。
// ゲーム変数 11-21 で、21番にプレイヤーの点数が入っている var myScore = $gameVariables.value(21); // 11-20のゲーム変数を並び替えて保存 var scores = [$gameVariables.value(11),$gameVariables.value(12),$gameVariables.value(13),$gameVariables.value(14),$gameVariables.value(15),$gameVariables.value(16),$gameVariables.value(17),$gameVariables.value(18),$gameVariables.value(19),$gameVariables.value(20),$gameVariables.value(21)]; scores.sort(function(a,b){ if(a>b) return -1;if(b>a) return 1;return 0;}); for(var i=0;i<10;i++ ){$gameVariables.setValue(11+i,scores[0+i]);} // ゲーム変数21を空にしておく $gameVariables.setValue(21, 0); // ゲーム変数22に、プレイヤーの順位(0ならランク外)を保存 $gameVariables.setValue(22, scores.indexOf(myScore)+1);
こちらわかりやすいように注釈がついてますが、わかっている方は、もちろん必要ありません。
ということで、こちらを使えばランキング表示ができるようになります。
今回のスコアボードは、タイピングゲームに使ったので、点数を例えば、こんな感じに表示させます。
変数21の値を変数25に入れて表示させてますが、これはあくまで一例なので、いきなり変数21に値を入れても全然OKです。
それでは駆け足になりましたが、オフラインのスコアボード的なイベントを作る方法でした。
需要があるかわかりませんが、備忘録的な意味で残しておきます。
それでは、記事が参考になりましたら嬉しいです!^^