備忘録として、またRPGツクールMVでゲームを作らんとする同志のため、先だって私がリリースしたR18ゲームで利用させていただいたプラグインを「何のために導入したか」と一緒にここに記しておおきます。googleで検索してきた同志の助けになれれば本望です。(検索に引っかかるかはさておき)あと本作のシステム部分にもちょっと言及すると思うのでネタバレにはご注意ください。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AB_EquipUpgrade.jsAB_EquipUpgrade.js
以下のように、お金(ないし素材アイテム)を消費して今装備している武器や防具を違う武具にアップグレードさせるイベントが作れます。
▼パーティキャラを選ぶとアップグレードする武具の選択に移る。
▼画面下の表示が「必要G(所持G)」、選択すると確認画面が出る
▼決定すると装備品が変わる
アップグレードに必要なG、素材、アップグレード先の武具は武器防具のメモ欄にて設定する。
デフォルトの状態でも決定キー押しっぱなしである程度メッセージの高速送りは可能だが、このプラグインを導入することで「特定のキーでメッセージの超高速スキップ」が可能になる。機能を持たせるキーや、「キーを押している間スキップ」か「キーを押すたびにスキップオンオフ」かなどをプラグインパラメータで設定可能。
装備画面にはデフォルト状態では装備前、装備後のHP、MP、攻撃力、防御力、魔法力、魔法防御、敏捷性、運が表示される使用になっているが、これを任意の項目だけに絞ることができる。本作では魔法防御という概念がないため、これを非表示にしている。
デフォルト状態ではアクターが戦闘不能になるとその他のステートが解除されてしまうが、このプラグインを導入することで、任意のステートを「戦闘不能と両立する(打ち消されない)ステート」とすることができる。本作では「催眠レベル」のステートが戦闘不能後も続いてくれないと困るため、導入している。
(Githubにアップされたプラグインはページ右上当たりの「Raw」からDLするといいです)
例えば装備中「呪い」状態になる装備品なんかが作れる。また、このプラグインでステート付加の条件に設定できるのは装備品だけではなく、例えば「HPが20%を下回ったら『衰弱』ステートを付ける」とか「特定のスイッチがオンの時だけ『覚醒』状態になるアクター」なども容易に作ることができる。詳細はヘルプ参照。
本来は混乱系(行動制約のプルダウンの選択値が「敵を攻撃」~「味方を攻撃」)のステートについて、「攻撃」以外のスキルを使わせたり、混乱時にもすべてのスキルを使えるようにしたりと混乱ステートの幅を広げるプラグインであるが、こんな使い方もできる。
本作であるキャラが使う「跳び上がる」スキルは使用したターン無敵状態になって、その次のターンにランダム対象1体に「跳びかかる」で攻撃をする。FFでいう「ジャンプ」の様なスキルだが、これを以下のように実装している。なお、この方法では攻撃対象の選択は残念ながらできない。
≪「跳び上がる」実装方法≫
1.攻撃スキル「跳びかかり」を作る。ID=Xとする。
2.以下の様なステート「跳び上がり状態」を作る。
・行動制約「敵を攻撃」
・戦闘終了時に解除「オン」
・自動解除タイミング「行動終了時」
・継続ターン数「1」
・特徴欄で「狙われ率*0」や「物理ダメージ率*0」などを設定して無敵状態にする。
・メモ欄「」
・メッセージ「~は跳び上がっている!」「~は戦列に戻った!」など任意で
3.使用者を「2.」のステートにするスキル「跳び上がる」を作る。
このように設定して、アクターに「跳び上がる」を使わせると次のターンに敵を「跳びかかり」で攻撃してくれる。自分を「跳びかかり」しか使えない混乱ステートにするスキルを作るというイメージである。
両方かのトリアコンタン氏のプラグインである。
(まあ全体の1/3ぐらいがそうなんですけど)
「味方単体対象だが使用者は選べない」であったり「味方全体対象だが使用者のみ除外される」といったスキルが作れる。ゲームだとあまり見かけないが、「7~モールモースの騎兵隊~」の神官なんかがそうだろうか。例えば「HPを消費して仲間のHPを回復できるが自分を対象にはできない」なんてスキルが作れる。
双方、「使用者除外」以外の機能に差があるので、ヘルプを見て選ぶとよいと思う。私は ScopeExtend.js の方が好み。
コアスクリプトのバグで、ゲームプレイ中にフリーズする(環境によりタイミングや頻度はまちまち)現象が確認されている。私の環境でもテストプレイ中に何度もフリーズを確認しており、できるならばリリース前に対策をしておきたい。「GraphicsRenderFix.js」を導入する方法が最も簡単なので、忘れずに導入しておこう。
HP再生率の設定は通常「最大HPの○%」という形でしか増加率(減少率)を指定できないが、このプラグインを導入することで「毎ターン10ダメージの毒」や「毎ターン最大HPの10%+30ポイント回復するステート」などが作れる。
設定方法に若干の癖があって、例えば「毎ターン10ダメージの毒」を作りたい場合以下のようになる。
1.プラグインパラメータの「damagehp」に任意の(これ以外で使用しない)ステートIDを指定する。(例:50)
2.毒ステート側で「特徴」欄で、ステート50番に対して「ステート有効度 *10%」を設定する。
実際やってみた方がわかりやすいので、ヘルプを見ながらやってみるのを推奨する。
デフォルトの「HP吸収」(「MP吸収」)スキルは「与ダメージ=HP回復値」かつ「与ダメージ上限が相手の現HP値」であるが、その両方を撤廃することができる。
例えばHP吸収スキルのメモ欄に「」とすると、与ダメージの半分だけ自分を回復するスキルが作れる。詳細はヘルプを参照のこと。
なお、HP吸収時に任意のSEを鳴らす機能も付いている。
↑ページのスクリーンショットがわかりやすいが、レベルアップ時に覚えたスキルと各ステータスがいくつからいくつに上がったかを表示させられる。便利。
カスタマイズ対象は多岐に渡るのでまずはヘルプを確認されたし。
例えば「クリティカルダメージ倍率」だったり「行動順算出方法」であったり「上昇・減少系バフの倍率や重ね掛け上限」であったり、色々とかゆいところに届くプラグインで、パラメータを見ているだけでワクワクしてくる。おすすめ。
デフォルトではマップ名表示はマップの「表示名」か、表示名が未設定であれば「名前名」が表示される使用になっているが、このプラグインを導入すると「表示名」に制御文字が使えるようになる。つまり「表示名」を「\V[50]」などにしておいて、場所移動してくる前に変数50番に表示させたいマップ名を入れておけば同じマップでもタイミングによって異なるマップ名を表示する、といったことができる。そんな必要にかられるケースがどれだけあるかわからないが、少なくとも私は本作で1つの街マップをすべての街で使い回すというGBのRPGみたいな運用をしたのでこれはとても役に立った。
上記プラグインはマップ名表示に関わる数々の拡張機能を持っているので、詳しくはヘルプを確認されたし。
このプラグインではスクリプト1行でこれらの値がアクター毎に取得できるようになる。
・スキルごとの使用回数(戦闘中のみカウント。他項目も同様)
・全スキルの使用回数合計
・アイテムごとの使用回数
・全アイテムの使用回数合計
・敵キャラごとの撃破回数
・全敵キャラの撃破回数合計
・与えたダメージの合計
・与えたダメージの最大
・受けたダメージの合計
・受けたダメージの最大
・回復したダメージの合計
・消費したMP合計
・消費したTP合計
・戦闘不能回数
(ヘルプより抜粋)
これをもとに、戦績確認画面を作るもよし、「3回戦闘不能になったら発生するイベント」を作るもよし、トロフィーの様な機能を付けるもよし、である。
今回は以上です。気がむいたらまた続けます。では。