『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』の[データベース]-[スキル]のヘルプ
①アイテムリスト
プロジェクトに含まれるアイテムを管理します。
②基本設定
基本設定というより「その他設定」という感じの雑多な設定です。
この部分の多くは[データベース]-[スキル]-[基本設定]と共通です。
[名前]…メニューや戦闘で表示されるアイテム名。
[アイコン]…アイテム名の先頭につく小さな画像(下の数字はアイコン番号)
[説明]…アイテムを選択するときに表示される説明文。
[アイテムタイプ]…アイテムの分類。
[価格]…アイテムの価格。(0〜999999)
[消耗]…アイテムを使用した時になくなるかどうか。
[範囲]…アイテムの対象となる範囲。
[使用可能時]…アイテムが使用できる場面。
アイコン
アイコンの画像ファイルはプロジェクト内の "img/system/IconSet.png" です。
新規プロジェクトに用意されるアイコン画像は一応以下のような分類になっていると思いますが、機能的な意味はありません。
アイテムには「アイテムの種類」のアイコンしか使えないわけではないので、プレイヤーに伝わる範囲で好きに使えばいいと思います。
一応「玉・砕けた玉」「食材の種類」「素材の種類」まではアイテム用のアイコンとして作られていると思います。
アイテムタイプ
アイテムの種類を[通常アイテム][大事なもの][隠しアイテムA][隠しアイテムB]から選びます。
メニュー画面
移動中のメニューで[アイテム]を選択すると[通常アイテム][武器][防具][大事なもの]とカテゴリ分けして表示されます。
ここでの区分に[アイテムタイプ]は使われます。
[隠しアイテムA][隠しアイテムB]は、[使用可能時]がどう設定されていても、ここに出てこないので隠しアイテムなのです。
バトル画面
[使用可能時]で[常時]か[バトル画面]が設定されたアイテムが[隠しアイテムA][隠しアイテムB]も含めて表示されます。
[アイテム選択の処理]イベントコマンド
[アイテム選択の処理]イベントコマンドのオプションで[アイテムタイプ]を選びます。
<Bad!>非常にわかりづらいのですが[隠しアイテムA][隠しアイテムB]は主にここで使われるもので、通常のアイテムとして使われることは想定されていません。
豆知識
確かにアイテムは項目という意味ですが、[アイテム選択の処理]イベントコマンドの選択項目として隠しアイテムを使用するというこの方式は、[データベース]-[アイテム]に余計なデータが入り込んで管理しづらいですし、アイテムの設定値は何も活用されません。
AとBのふたつしか用意されていないというのも「ないよりまし」か「焼け石に水」程度の雰囲気を感じさせます。
実はこの[隠しアイテムA][隠しアイテムB]は『RPGツクールMV』で導入された機能です。
[データベース]-[テーブル]みたいなもの([データベース]-[タイプ]に近いイメージ)を用意して、そこで選択肢を設定できるようにすべきだったと思います。
参考:RPGツクールMV 初心者講座 - アイテムタイプを設定する
参考:RPGツクールMV新機能活用講座 - テレポートの作成と、イベントやデータベースの新機能
価格
アイテムを購入する際の価格を設定します。
0に設定すると売却できないアイテムにできます。
[ショップの処理]イベントコマンドで売却する場合は購入価格の半額になります。
<Bad!>半額以外の価格での買取をしたい場合、個別に処理を書く必要があります。
通貨単位は、[システム1]-[通貨単位]で設定できます。
範囲
アイテムの効果範囲を選択します。敵(エネミー)と味方(バトルメンバー)
[陣営]
- [なし]…対象となるものがないアイテムの場合に選びます。([数][状態]が選べません)
- [敵]…敵グループ。([状態]が選べません)
- [味方]…バトルメンバー。([数]-[ランダム]が選べません)
- [敵と味方]…戦闘中の全キャラ。([数]-[全体]が自動で選ばれ、[状態]が選べません)
- [使用者]…アイテムを使用したキャラ。([数][状態]が選べません)
[数] - [単体]…実行時に選ばれた1キャラに効果があります。
- [全体]…[陣営]で指定した範囲全体に効果があります。
- [ランダム]…実行時にランダムに抽選されたキャラに効果があります。1〜4体が指定できます。
[状態] - [生存]…戦闘不能以外のステートの場合に効果があります。
- [戦闘不能]…戦闘不能のステートの場合に効果があります。
- [無条件]…ステートによらず効果があります。
豆知識
範囲のデータは内部的には、scope
という数値ひとつで管理されています。
参照:RPGツクールMZ 非公式JavaScriptリファレンス - RPG.UsableItem#範囲
非常に分かりづらく使いづらいので、データ構造の設定ミスと言っていいかと思います。
たとえば、いわゆるパーティーアタックという敵と同様に味方を攻撃するアイテムを作るには[陣営]-[敵と味方]、[数]-[単体]を選べばいいように思えますが、これは用意されていないので選べません。
もし用意しようとしても、数値ひとつで管理されているので、用意する手間が大変です。
使用可能時
[常時]…バトル画面でもメニュー画面でも使える。
[バトル画面]…バトル画面でのみ使える。
[メニュー画面]…メニュー画面でのみ使える。
[使用不可]…プレイヤーは任意に使用できない。
③発動
アイテムの発動・命中周りの設定をします。
この部分は[データベース]-[スキル]-[発動]と共通です。
アイテムは以下の過程を経て効果を発揮します。
- アイテムがメニューで選択される。
- キャラの実行順が来てアイテムが実行される。実行前に戦闘不能やアイテム不可ステートになったり、戦闘が終了すると実行されない。
- [成功率]に設定された確率でアイテムが発動する。失敗した場合は発動せずに終了。
- [命中タイプ]に設定した方法で命中判定が行われ成功すると命中。外れた場合は効果を発揮しないで終了。
- アイテムが効果を発揮する。
[速度補正]…アイテム実行タイミングを決定する際に敏捷性に加えられる値。(-2000~2000)
[成功率]…アイテムが発動する確率。(0~100%)
[連続回数]…アイテムを実行する回数(1~9)
[得TP]…アイテムが命中することで得られるTP(1~100)
[命中タイプ]
- [必中]…アイテムが発動した時点で命中します。(無効:反撃、魔法反射、身代わり)
- [物理攻撃]…使用者の命中率、対象者の回避率をもとに判定します。(有効:反撃、身代わり)
- [魔法攻撃]…対象者の魔法回避率をもとに判定します。(有効:魔法反射、身代わり)
[アニメーション]…アイテム実行時に対象に表示されるアニメーション(と音)。
豆知識
[連続回数]は[範囲]-[数]-[ランダム]と異なり対象は固定ですが[範囲]-[数]-[ランダム]と組み合わせることでランダムに対象を変えられます。
ならば[範囲]-[数]-[ランダム]に数指定はいらないのではないかと思うのですが…いらないですよね。
④ダメージ
アイテムの効果として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!>ダメージ計算式には a
と b
が使えるのですが…どっちが使用者でどっちが対象かわかるでしょうか?私はこれを書いている現在、どっちがどっちか分かりません。
せめて user の u
と target の t
とか、とっかかりになる意味を持ったアルファベットを選択できなかったものでしょうか?
subject と object とかなんかあるでしょ!ナニ a
と b
って!! 意味わからん!!!
ちなみに標準の状態で b
の代わりに target
が使えます。動作保証はされないと思いますが、そもそも『RPGツクールMZ』の細かな挙動が保証されることってないので、自己責任でどーぞ!
<Bad!>「一般的な四則演算の記号(+、-、*、/)」とヘルプにありますが、/
はまだ許せるものの *
は明らかに一般的な記号ではないと思います。
『RPGツクールMZ』は唐突に「プログラマ的常識」が顔を覗かせ、いたいけな素人を驚かすところがあります。
⑤使用効果
[ダメージ]以外でのアイテムの効果を設定します。
⑥メモ
純粋にメモとして制作の覚書に使うほか、メタタグの記述にも使われます。
終わりに
アイテムは戦闘でも移動中でも使え多くの機能を持たけせられます。
また、シナリオ進行上のフラグ(切っ掛け)としても使われます。
そして、お金で取引できる資産でもあります。
場合によっては、組み合わせて新たなアイテムを作る材料にもなります。
非常に使い勝手が良いので、戦闘メインのゲームでも、一切戦闘のないゲームでも抑えておく必要のあるものです。
汎用性が高いのでアイテムさえ使えれば、戦闘のないゲームはもちろん、戦闘メインのゲームも作れてしまいます。
言ってしまえば、[スキル][武器][防具]は[アイテム]の亜種なのです。
レッツ エンジョイ ツクールライフ!
Discussion