当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
v1.00 陣形システム(うなぎおおとろ様)の改造版です。 - NRP_U_FormationSystem.js
シェア用テキスト:
▼v1.00 陣形システム(うなぎおおとろ様)の改造版です。(うなぎおおとろ(改造:砂川赳)様作) - NRP_U_FormationSystem.js
https://plugin-mz.fungamemake.com/archives/7990
v1.00 陣形システム(うなぎおおとろ様)の改造版です。
ふりがな:v1.00 じんけいしすてむ(うなぎおおとろさま)のかいぞうばんです。
機能概要: v1.00 陣形システム(うなぎおおとろ様)の改造版です。
利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認
作者:うなぎおおとろ(改造:砂川赳)
解説ページ:https://newrpg.seesaa.net/article/516396392.html
ダウンロードページ:https://raw.githubusercontent.com/NewRPGProject/MZMV_Pl…
ファイル名:NRP_U_FormationSystem.js
プラグインのヘルプ:
@target MZ
@plugindesc v1.00 陣形システム(うなぎおおとろ様)の改造版です。
@author うなぎおおとろ(改造:砂川赳)
@url https://newrpg.seesaa.net/article/516396392.html
@help このプラグインはうなぎおおとろ様の
陣形システムプラグイン(v1.2.0)を
砂川赳がMITライセンスに則って改造したものです。
https://raw.githubusercontent.com/unagiootoro/RPGMZ/master/FormationSystem.js
ロマサガ2~3っぽい陣形システムを目指して、
仕様の簡略化を始め、色々と手を加えています。
■主な変更点
・装備できる陣形を一つに限定。
単純に装備した陣形=現在の陣形とした。
※それに伴い、戦闘中の陣形変更機能は廃止しました。
・陣形の習得機能を廃止し、デフォルトで全て選択できるようにした。
・その上で、必要なものはスイッチを有効条件とするように変更。
・パーティ人数を陣形の有効条件にできるようにした。
・陣形画面で位置の入替をできるようにした。
・一覧の横幅やヘルプ欄の縦幅を可変にした。
・陣形の座標指定をグリッド単位(48ピクセル)にした。
例えば、x=10なら480となります。
・『メニュー陣形座標オフセット』をパラメータに追加した。
-----------------------------------------------------------------
以下、解説
※改造した点に合わせて原文から内容を変更しています。
-----------------------------------------------------------------
陣形システムを導入するプラグインです。
【操作方法】
・戦闘中に使用する陣形の設定
メニュー画面から「陣形」メニューを開くことで、
戦闘中に使用する陣形を選択します。
【使用方法】
■陣形の作成
プラグインパラメータの「陣形データ」を編集して、陣形を作成します。
陣形の設定では各アクターのポジションの設定には、次の二つの方法があります。
・数式で座標を入力する
X座標とY座標を指定する方法です。座標には数式を使うことができます。
また、数式内でindexというワードを使用すると、該当するアクターが先頭から
何番目かを表す数値に置き換えられます。(先頭から0, 1, 2...という値になります)
この値にグリッドサイズを乗算して、オフセットを加算した値が実際の配置座標になります。
この方法を使用する場合、プラグインパラメータのマップIDには0を指定してください。
・マップから座標を読み込む
マップに配置されたイベントを各アクターのポジションと見立てる方法です。
対象のマップにイベントを作成し、メモ欄に該当するアクターの先頭からの順番を記載します。
(例)先頭のアクターのポジションを設定する場合
イベントを作成し、メモ欄に
0
と記載します。
作成した陣形は、プラグインパラメータの登録順に(0, 1, 2, ...)という形でIDが振られます。
条件を満たしている中で最もIDの小さいものがデフォルトの陣形として使用されます。
陣形のポジションは戦闘に参加するアクターの数だけ用意する必要があります。
例えば4人戦闘に参加させる場合、4人分のポジションの登録が必要となります。
なお、1~3人が戦闘に参加するといった場合は3人分のポジションの登録が必要です。
■陣形のサンプル
「陣形データ」にサンプルを設定しているので参考にしてください。
・スタンダード(1)~(4)はパーティ人数毎に設定した初期陣形です。
・スタンダード(自動)はパーティ人数によって配置が自動調整される陣形です。
どちらか好きな方法を選んでください。
■陣形の追加効果の設定
陣形の追加効果はステートによって作成します。
陣形の各アクターのポジションごとに適用するステートを指定し、
ステートに追加効果の内容を設定します。
■陣形無効
陣形の追加効果を無効化するステートを作成することができます。
ステートのメモ欄に
<FormationInvalid>
と記載すると、そのステートにかかったアクターが一人でもいる場合、
陣形の追加効果が無効化されます。
■陣形の習得について
陣形データの中で指定したスイッチがオンになっている陣形が有効になります。
スイッチの指定がない場合は常に有効になります。
【ライセンス】
このプラグインは、MITライセンスの条件の下で利用可能です。
@param FormationDatas
@text 陣形データ
@type struct<FormationData>[]
@default ["{¥"Name¥":¥"スタンダード(1)¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"縦一列に並んだ標準的な陣形。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"1¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"スタンダード(2)¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"縦一列に並んだ標準的な陣形。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"4¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"2¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"スタンダード(3)¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"縦一列に並んだ標準的な陣形。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"1¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"3¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"スタンダード(4)¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"縦一列に並んだ標準的な陣形。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"0.75¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2.25¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3.75¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5.25¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"4¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"スタンダード(自動)¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"縦一列に並んだ標準的な陣形。¥¥n※人数に応じて自動で配置を調整します。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3 - ($gameParty.battleMembers().length - 1)¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5 - ($gameParty.battleMembers().length - 1)¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"7 - ($gameParty.battleMembers().length - 1)¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"2¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"9 - ($gameParty.battleMembers().length - 1)¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"ガーディアン¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"先頭が後衛を護衛する。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"0¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"4¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"2¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"アタックデルタ¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"前の一人が先頭に立って戦う。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"0¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"1¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"3¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"3¥",¥"Switch¥":¥"¥"}","{¥"Name¥":¥"スクウェアシールド¥",¥"IconIndex¥":¥"¥",¥"Description¥":¥"前衛の二人が後衛を守る。¥",¥"Positions¥":¥"[¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"0¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"1¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"0¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"4¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"1¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥",¥¥¥"{¥¥¥¥¥¥¥"X¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"4¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"Y¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"5¥¥¥¥¥¥¥",¥¥¥¥¥¥¥"StateId¥¥¥¥¥¥¥":¥¥¥¥¥¥¥"¥¥¥¥¥¥¥"}¥¥¥"]¥",¥"MapId¥":¥"¥",¥"NumberOfMembers¥":¥"4¥",¥"Switch¥":¥"¥"}"]
@desc
陣形データを設定します。
@param EnabledFormationMenuSwitchId
@text 陣形メニュー表示スイッチ
@type switch
@default 0
@desc
陣形メニュー表示有無を切り替えるスイッチを指定します。
@param ChangeFormationSlotSe
@text 陣形スロット変更SE
@type struct<SE>
@default {"FileName":"Decision5","Volume":"90","Pitch":"100","Pan":"0"}
@desc
陣形のスロットを変更したときに再生するSEを指定します。
@param ChangeCurrentFormationSe
@text 使用陣形変更SE
@type struct<SE>
@default {"FileName":"Decision5","Volume":"90","Pitch":"100","Pan":"0"}
@desc
使用する陣形を変更したときに再生するSEを指定します。
@param MenuFormationXOfs
@text メニュー陣形X座標オフセット
@type number
@default 200
@desc
メニューでの陣形の開始地点までのX座標オフセットを指定します。
@param MenuFormationYOfs
@text メニュー陣形Y座標オフセット
@type number
@default 120
@desc
メニューでの陣形の開始地点までのY座標オフセットを指定します。
@param BattleFormationXOfs
@text 戦闘陣形X座標オフセット
@type number
@default 550
@desc
戦闘での陣形の開始地点までのX座標オフセットを指定します。
@param BattleFormationYOfs
@text 戦闘陣形Y座標オフセット
@type number
@default 150
@desc
戦闘での陣形の開始地点までのY座標オフセットを指定します。
@param WindowSize
@text ウィンドウサイズ
@type struct<WindowSize>
@default {"FormationListHeight":"216"}
@desc
各種ウィンドウのサイズを設定します。
@param Text
@text 表示テキスト
@type struct<Text>
@default {"MenuFormationText":"陣形","EquipFormationList":"現在の陣形","EmptySlot":"------"}
@desc
ゲーム中で使用されるテキストを設定します。
@param GridSize
@text グリッドサイズ
@type number
@default 48
@desc 陣形の配置に用いるグリッドのサイズです。
標準では1=48ピクセルとして換算されます。
@param CommandPosition
@text コマンド挿入位置
@type number
@default 4
@desc 陣形コマンドをメニューに挿入する位置です。
@param EacapeDistance
@text 逃げる移動距離
@type number
@desc 逃げるによって後退する距離です。
MZ標準の300では短すぎる場合は調整できます。
@command StartFormationScene
@text 陣形シーン開始
@desc 陣形シーンを開始します。
@command ChangeEquipFormations
@text 装備陣形変更
@desc 陣形を変更します。
@arg HasFormationId
@text 所持している陣形ID
@type number
@desc 所持している陣形IDを指定します。