3テラバイト

プログラム関連備忘録サイト。主にゲーム。

RPGツクールMV スクリプト

RPGツクールMVでスキルの増減をスクリプトから行う

投稿日:2021年3月29日 更新日:

イベントコマンドの1ページ目、アクター > スキルの増減と同様の操作を、
イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。

スクリプトコード

覚える

actor関数の引数にはスキルを覚えさせたいアクターのIDを、
learnSkill関数の引数には覚えさせたいスキルのIDを指定します。

以下の例ではアクターIDが1のアクターに対してヒールのスキルを覚えさせています。

$gameActors.actor(1).learnSkill(8);

忘れる

actor関数の引数にはスキルを忘れさせたいアクターのIDを、
forgetSkill関数の引数には忘れさせたいスキルのIDを指定します。

以下の例ではアクターIDが1のアクターに対してヒールのスキルを忘れさせています。

$gameActors.actor(1).forgetSkill(8);

パーティ全体に対して処理をする

パーティ全体にまとめてスキルを覚えさせる、忘れさせるには、以下のようにthis.iterateActorEx関数を使用して対象アクターを取得します。

iterateActorExの第一引数には、第二引数でアクターのIDを固定で指定するか、変数で指定するかを示す値を渡します。(固定の場合は0、変数の場合は1)
第二引数にはアクターのID、または変数のIDを指定します。
第三引数にはfunctionを渡していますが、この関数の引数に対象のアクターが渡されるため、その値を用いて対象アクターに処理を行っていきます。

あとは第三引数の関数内でスキルを覚えさせたい場合はlearnSkillを、忘れさせたい場合はforgetSkillを呼び出します。

以下の例では、パーティ全体にスキルID8(デフォルトでヒール)を覚えさせています。

this.iterateActorEx(0, 0, function(actor) {
    actor.learnSkill(8);
}.bind(this));

イベントコマンドの内容

イベントコマンドのスキルの増減を追加した場合、内部的には以下のようなデータが挿入されており、
js\rpg_objects.jsの10281行目に定義されているcommand318関数が呼び出され、引数にparametersの値が渡されています。

{"code":318,"indent":0,"parameters":[0,0,0,8]}

parametersの値の内容は以下の通りです。

インデックス内容
[0][1]に格納されている値が固定か変数かを示す値(0 : 固定、1 : 変数)
[1]アクターのID、または変数のID
[2]どの操作を行うかを示す値(0 : 覚える、1 : 忘れる)
[3]スキルID

-RPGツクールMV, スクリプト


comment

メールアドレスが公開されることはありません。

関連記事

no image

RPGツクールMVでアクターの画像変更をスクリプトから行う

イベントコマンドの3ページ目、アクター > アクターの画像変更…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード いずれもactor関数の引数には …

no image

RPGツクールMVで文章の表示中にSEを鳴らすプラグインMPP_MessageSEの使い方

このプラグインを導入すると、イベントコマンドの文章の表示で文字表示ごとにSEを鳴らすことができます。 このプラグインは木星ペンギン様が制作されたものです。 確認環境 RPGツクールMV Version …

no image

RPGツクールMVで半歩移動や斜め移動を可能にするプラグインHalfMoveの使い方

本プラグインを導入することで、通常の半分のマス移動や、斜めの移動が可能になります。 確認環境 RPGツクールMV Version 1.6.3HalfMove Version 1.16.1 ダウンロード …

no image

RPGツクールMVでメッセージウィンドウ表示を一時非表示にできるプラグインMessageWindowHiddenの使い方

このプラグインはトリアコンタン様が制作されたプラグインです。 ダウンロード 以下のページからダウンロードし、プロジェクトに配置します。 https://triacontane.blogspot.com …

no image

RPGツクールMVで職業の変更をスクリプトから行う

イベントコマンドの1ページ目、アクター > 職業の変更…と同様の操作を、イベントコマンドの3ページ目、上級 > スクリプトから行う方法です。 スクリプトコード actor関数の引数には名前を変更したい …