⚔️

『RPGツクールMZ』[データベース]-[スキル]のヘルプ

2022/06/02に公開

『RPGツクールMZ』関連記事 目次

今回は『RPGツクールMZ』の攻撃・防御、魔法やスキルなど主に戦闘時の行動を定義する[データベース]-[スキル]の設定方法を取り上げて使い方を解説していきます。
基本的には付属のヘルプを読めばいいし、公式のRPGツクールMZ 初心者講座 やエディタの[ヘルプ]-[チュートリアル]を見ていけば、ひととおりの操作は身につくはずです。
ただ割と説明されていな部分もありますし、説明されていても見逃しやすい部分、あるいは裏技っぽいところも取り上げていきます。
一応いきなり本記事を読んでもわかるようには書いたつもりですが、上記の初心者向けの公式コンテンツを併用していくことをオススメします。
またこの記事の前でも後でも良いので『RPGツクールMZ』の[データベース]共通操作ヘルプを読むのをオススメします。

ショートカットキー

著者がMacユーザなので、基本的にMacでの画面や操作方法で記述しています。
Windowsユーザのかたは、ご自分の環境に合わせて読み替えてください。

記号 Mac Win
command Ctrl
shift Sft
option Alt
control なし

[⌃]はコンテキストメニュー(いわゆる右クリックメニュー)を表すのに使っています。

用語

アクター … 役者(Actor)という意味です。ゲームで操作できるキャラクターのことを指します。
レベル … アクターのだいたいの強さを表す値です。レベルを基準に職業ごとの能力が算出されます。
職業 …職業(Class)はアクターの主に戦闘における特徴をまとめたもので、複数のアクターから指定できます。
バトルメンバー … 戦闘に出撃するメンバーでプレイヤー+隊列メンバーの最高4人です。
エネミー … 戦闘で敵となるキャラクターです。
バトラー … 戦闘用のキャラクター。つまりエネミーとバトルメンバーのことです。
使用者 … スキルを使ったキャラです。
対象 … スキルの効果を受けるキャラです。

スキルウィンドウ

[データベース]-[スキル]は、このようなウィンドウです。

メニューやツールバーのボタンから[データベース]を選び、左側のタブから[スキル]をクリック!

[スキル]はその名の通り、メニューに出てくる[スキル]を設定します。

また、もうひとつの大きな役割として敵の攻撃の種類も設定します。
同じ効果だとしても、オオカミ「が切りつけた」とかメッセージが出ると興ざめです。
ちゃんと 噛みつき のスキルを設定して「が噛みついた」と出せば、雰囲気が良くなります。
その辺のこだわりがないなら、全部「の攻撃」でまとめてしまっても良いと思います。
面倒臭いですからね!

[データベース]-[アイテム]と非常によく似ていて、実際内部的には多くの処理やデータ構造を共通にしています。
これはわかる人だけわかればいいですが、プログラム的には「同じ親クラス」を持っています。

参照:『RPGツクールMZ』の[データベース]-[アイテム]のヘルプ

①スキルリスト

プロジェクトに含まれるスキルを管理します。

0001 攻撃
0002 防御

この一番上からふたつのスキルは、戦闘時のメニューに出てくる[攻撃]と[防御]に対応します。(右下のメモ欄に書いてあります)
必ず設定しておく必要がありますし、基本的に変更の必要はありません。
逆に言えば、[攻撃]の[計算式]などを変更するとゲームの作りが大きく変わり、下手すると途端につまらなくなる危険があります。
しっかり理解した上での変更をオススメします。

②基本設定

基本設定というより「その他設定」という感じの雑多な設定です。

この部分の多くは[データベース]-[アイテム]-[基本設定]と共通です。

[名前]…メニューや戦闘で表示されるスキル名。
[アイコン]…スキル名の先頭につく小さな画像(下の数字はアイコン番号)
[説明]…スキルを選択するときに表示される説明文。
[スキルタイプ]…スキルの分類。
[消費MP]…スキルを使用する際に必要なMPの量。(0〜9999)
[消費TP]…スキルを使用する際に必要なTPの量。(0~100)
[範囲]…スキルの対象となる範囲。
[使用可能時]…スキルが使用できる場面。

アイコン

アイコンの画像ファイルはプロジェクト内の "img/system/IconSet.png" です。

新規プロジェクトに用意されるアイコン画像は一応以下のような分類になっていると思いますが、機能的な意味はありません。

スキルには「スキルの種類」のアイコンしか使えないわけではないので、プレイヤーに伝わる範囲で好きに使えばいいと思います。

スキルタイプ

新規プロジェクトの初期値では、MPを使う 魔法 とTPを使う 必殺技 が設定されています。
これはデータベースの[タイプ]-[スキルタイプ]で任意に設定できるので、システムや世界観に合わせて 忍術 などと設定できます。
なし は変更できません。

スキルタイプがついたスキルをアクターが使用できるようにするには、データベースの[アクター]か[職業]の[特徴]に設定できる[スキルタイプ追加]で、使えるスキルタイプを選択しておく必要があります。
参照: 『RPGツクールMZ』の[特徴]一覧#スキル
なし については[特徴]で指定せずに使えます。

また[データベース]-[職業]-[獲得するスキル]でレベルごとに使えるスキルを設定する必要もあります。

範囲

スキルの効果範囲を選択します。敵(エネミー)と味方(バトルメンバー)といったバトラーの種類を選ぶもので、地上・空中とか前衛・後衛といった区分での選択はありません。

[陣営]

  • [なし]…対象となるものがないスキルの場合に選びます。([数][状態]が選べません)
  • [敵]…敵グループ。([状態]が選べません)
  • [味方]…バトルメンバー。([数]-[ランダム]が選べません)
  • [敵と味方]…戦闘中の全キャラ。([数]-[全体]が自動で選ばれ、[状態]が選べません)
  • [使用者]…スキルを使用したキャラ。([数][状態]が選べません)
    [数]
  • [単体]…実行時に選ばれた1キャラに効果があります。
  • [全体]…[陣営]で指定した範囲全体に効果があります。
  • [ランダム]…実行時にランダムに抽選されたキャラに効果があります。1〜4体が指定できます。
    [状態]
  • [生存]…戦闘不能以外のステートの場合に効果があります。
  • [戦闘不能]…戦闘不能のステートの場合に効果があります。
  • [無条件]…ステートによらず効果があります。
豆知識

範囲のデータは内部的には、scopeという数値ひとつで管理されています。

参照:RPGツクールMZ 非公式JavaScriptリファレンス - RPG.UsableItem#範囲

非常に分かりづらく使いづらいので、データ構造の設定ミスと言っていいかと思います。
たとえば、いわゆるパーティーアタックという敵と同様に味方を攻撃するスキルを作るには[陣営]-[敵と味方]、[数]-[単体]を選べばいいように思えますが、これは用意されていないので選べません。
もし用意しようとしても、数値ひとつで管理されているので、用意する手間が大変です。

使用可能時

[常時]…バトル画面でもメニュー画面でも使える。
[バトル画面]…バトル画面でのみ使える。
[メニュー画面]…メニュー画面でのみ使える。
[使用不可]…プレイヤーは任意に使用できない。

豆知識

スキルを持っていることで能力値が変わるいわゆる「パッシブスキル」は作れません。
そもそもスキルの付け替えや成長時の選択システムが用意されていません。
『RPGツクールMZ』では装備の防具に、その役割を持たせる前提のようです。

③発動

スキルの発動・命中周りの設定をします。

この部分は[データベース]-[アイテム]-[発動]と共通です。

スキルは以下の過程を経て効果を発揮します。

  1. スキルがメニューで選択される。
  2. キャラの実行順が来てスキルが実行される。実行前に戦闘不能やスキル不可ステートになったり、戦闘が終了すると実行されない。
  3. [成功率]に設定された確率でスキルが発動する。失敗した場合は発動せずに終了。
  4. [命中タイプ]に設定した方法で命中判定が行われ成功すると命中。外れた場合は効果を発揮しないで終了。
  5. スキルが効果を発揮する。

[速度補正]…スキル実行タイミングを決定する際に敏捷性に加えられる値。(-2000~2000)
[成功率]…スキルが発動する確率。(0~100%)
[連続回数]…スキルを実行する回数(1~9)
[得TP]…スキルが命中することで得られるTP(1~9)
[命中タイプ]

  • [必中]…スキルが発動した時点で命中します。(無効:反撃、魔法反射、身代わり)
  • [物理攻撃]…使用者の命中率、対象者の回避率をもとに判定します。(有効:反撃、身代わり)
  • [魔法攻撃]…対象者の魔法回避率をもとに判定します。。(有効:魔法反射、身代わり)
    [アニメーション]…スキル実行時に対象に表示されるアニメーション(と音)。
豆知識

[連続回数]は[範囲]-[数]-[ランダム]と異なり対象は固定ですが[範囲]-[数]-[ランダム]と組み合わせることでランダムに対象を変えられます。
ならば[範囲]-[数]-[ランダム]に数指定はいらないのではないかと思うのですが…いらないですよね。

④メッセージ

戦闘中ログウィンドウ(上部の半透明なところ)に表示されるメッセージを設定します。
2行入力できますが、大抵は1行で事足ります。

[~を唱えた][~を放った][~を使った]のボタンを押すと、テンプレート文が入力されます。
<Bad!>このボタンで入力すると[元に戻す]用に記録されていた内容が消え、メッセージを[元に戻す]ことができなくなります。

⑤必要武器

スキルを使うのに必要な[武器タイプ]を設定します。
たとえば刀を装備した時専用の「居合抜き」というスキルを作りたいという場合に利用します。

二種類設定したタイプどちらか一方に合致する武器を装備していれば、スキルを使えます。
両方とも[なし]の場合は、装備中の武器に関係なくスキルが使えます。

⑥ダメージ

スキルの効果としてHPやMPの増減を行う場合の設定をします。

この部分は[データベース]-[アイテム]-[ダメージ]と共通です。

[タイプ]

  • [HPダメージ]…HPから引きます。
  • [MPダメージ]…MPから引きます。
  • [HP回復]…HPに足します。
  • [MP回復]…MPに足します。
  • [HP吸収]…対象のHPから引き、同量を使用者のHPに足します。
  • [MP吸収]…対象のMPから引き、同量を使用者のMPに足します。

[属性]…付加される属性です。(データベース[タイプ]-[属性]で設定されているものです)
[計算式]…値を算出するための計算式です。
[分散度]…最終的な数値が±[分散度]にバラけます。(0~100%)
[会心]

  • [あり]…使用者の会心率、対象の会心回避率を元に会心を発生させます。
  • [なし]…会心は発生しません。

計算式

ダメージを導き出す計算式(JavaScript)を書きます。
標準で設定されている 攻撃スキルの[計算式]は次のようになっています。

a.atk * 4 - b.def * 2

a が使用者、b が対象を示す文字です。
a.atk のように書くことで使用者の[攻撃力]を指定できます。
b.def のように書くことで対象の[防御力]を指定できます。
- はマイナス記号だとして * を不思議に思う方もいると思います。
プログラミングの世界では x(エックス)と間違えないように *(アスタリスク)を掛け算の記号として使うのが一般的で『RPGツクールMZ』でも採用されています。

スクリプト的な意味は以下をご覧ください。
参照:RPGツクールMZ 非公式JavaScriptリファレンス -RPG.Damage#計算式

豆知識

ヘルプでは「基本的な計算式とスキル使用者と対象の能力値が利用できます」みたいなことが書かれていますが、実際ここに書けるのは JavaScript そのものです。
なので、実のところ JavaScript で可能なことはなんでもできます。
『RPGツクールMZ』の JavaScript に関しては、以下を参照してください。

なお、ここに書く式はめちゃめちゃ奥が深いので、とてもここでは説明しきれません。本一冊ぐらい余裕で書けるぐらい奥深い世界です。
興味がある方は「ダメージ計算式」とか「アルテリオス計算式」などで検索してみると面白いと思います。

<Bad!>ダメージ計算式には ab が使えるのですが…どっちが使用者でどっちが対象かわかるでしょうか?私はこれを書いている現在、どっちがどっちか分かりません。
せめて user の u と target の t とか、とっかかりになる意味を持ったアルファベットを選択できなかったものでしょうか?
subject と object とかなんかあるでしょ!ナニ ab って!! 意味わからん!!!

ちなみに標準の状態で b の代わりに target が使えます。動作保証はされないと思いますが、そもそも『RPGツクールMZ』の細かな挙動が保証されることってないので、自己責任でどーぞ!

<Bad!>「一般的な四則演算の記号(+、-、*、/)」とヘルプにありますが、/ はまだ許せるものの * は明らかに一般的な記号ではないと思います。
『RPGツクールMZ』は唐突に「プログラマ的常識」が顔を覗かせ、いたいけな素人を驚かすところがあります。

⑦使用効果

[ダメージ]以外でのスキルの効果を設定します。

参照:『RPGツクールMZ』の[使用効果]一覧

⑧メモ

純粋にメモとして制作の覚書に使うほか、メタタグの記述にも使われます。

終わりに

スキルとはつまり、行動の設定を行うものです。
プレイヤーが指示をして、そのリアクションとして何が行われるか、それを想像しながら設定すると、無味乾燥な設定も楽しく見えるかと思います。
数値のやり取りをどう「見立て」るのかという話ですから、戦闘以外にも色々と応用できると思います。
そう言ってる私は、普通の戦闘もまともに作れてないですけどね!

レッツ エンジョイ ツクールライフ!

Discussion