今日のツクールMZスクリプト【11】・仲間になるキャラのレベルを先頭メンバーのレベルと同じにする。

 

イベントコマンドのレベルの増減では、変数を使えますが、先頭メンバー依存の上昇などはできません。
そこで今回は先頭メンバーのレベルを変数として取得しレベルの増減を行います。

f:id:werewolftan:20211102100123p:plain

まずは、
変数の取得から、変数ID.5にパーティーの#1のIDを取得しました。
これが先頭のメンバーのIDになります。

f:id:werewolftan:20211102100206p:plain

イベントコマンド・変数の操作

そして
$gameVariables.setValue(6,$gameActors.actor($gameVariables.value(5)).level);
とします。

f:id:werewolftan:20211102100341p:plain



ここでsetValueは前回までで学んだ、ツクールの変数に数値を代入する関数です。
今回は6番に変数を入れるため6を先に入れています。

そのあとの
$gameActors.actor($gameVariables.value(5)).level
については$gameActors
という、アクター情報の配列を格納した変数を呼び出し

actor(n)
というのはn番目のIDのアクターとなっています。

そこに入っているのが先に取得した変数5のものなので
$gameActors.actor($gameVariables.value(5))
で先頭のアクターを参照しています。

そのあとの
.level
でそのアクターのレベルの数値をあらわしています。

つまり上の操作で
変数6に先頭アクターのレベルを代入しています。

 

この変数を使ってアクターレベルの増減のイベントコマンドからプリシアのレベルを上げてもいいですが
そこもスクリプトを使って実行します。

$gameActors.actor(2).changeLevel($gameVariables.value(6), false)
具体的にはこんな感じです。

f:id:werewolftan:20211102100244p:plain

$gameActors.actor(2)
とはデフォルトで設定されているID2番にプリシアの情報が入っています。
changeLevel関数でプリシアのレベルを変化させます。

 

http://www.rpgmaker-script-wiki.xyz/mzscriptwiki.php#27

のレベルの増減の項目を見ると、

 

$gameActors.actor(アクターID).changeLevel(変化量, レベルアップを表示するか)
//レベルアップを表示するか 表示:true 非表示:false

となっております。

value(6)は変数6を代入しており、レベルの変化を表示するつもりがないので
falseにしておきます。

以上より
パーティーの並び替えをした際に、プリシアのレベルが先頭キャラレベル依存になります。

これは、主人公を外したりできるローグライク系のゲームと相性がいいスクリプトだと思います。

f:id:werewolftan:20211102100541p:plain

f:id:werewolftan:20211102100552p:plain

f:id:werewolftan:20211102100600p:plain

f:id:werewolftan:20211102100608p:plain

f:id:werewolftan:20211102100618p:plain