多言語対応【RPGツクールMZプラグイン】

2026/09/29

 RPGツクールMZ用の多言語対応プラグインです。



主な機能

  • Excel(xlsx)またはLibreOffice Calc(ods)のファイルを参照し、各言語の文章に変換。
  • 各言語のデータベースやプラグインパラメータを読み込んで切替。
  • オプション画面に言語選択を追加。
  • NRP_TextEditorMZ(MZ用テキスト編集エディタ)に連携して表示。

 ※なお、Microsoft Excelである必要はありません。LibreOffice Calcなど無料ソフトで十分です。
 LibreOfficeでxlsxを開くと改行表示がおかしくなる問題に遭遇したので、その場合はods形式を使用したほうが安定するかもしれません。


目次


導入方法(Install)

更新履歴(History)

利用規約(SheetJS)

xlsxファイルの配置

翻訳の概要

xlsxによる置換方法

文字列置換(\lan[id])

名前欄で指定して本文置換(\lanm[id])

文字列前方置換(\lanc[id])

自動置換

スクリプト

別プロジェクトの参照

画像の自動切替

高速化用のjson作成

NRP_TextEditorMZとの連携

その他詳細

プラグインパラメータ(Plugin Parameters)

言語リスト(LanguageList)

言語変数(LanguageVariable)

シート名変数(SheetVariable)

デフォルトシート名(DefaultSheetName)
初期設定の言語(DefaultLanguage)

オリジナル言語(OriginalLanguage)

オリジナル言語はxlsx未使用(SkipXlsxForOriginalLanguage)

高速化用のjson作成(MakeFastJson)

[Dev]機能を無効化(DisableFeature)

<オプション>(<Option>)

言語設定の項目名(OptionLabel)
挿入位置(InsertPosition)
<データベース>(<Database>)

言語プロジェクトを使用(UseLanguageProject)
言語データを自動コピー(AutoCopy)
削除用文字列(DelString)
<メモタグのマージ>(<NoteTagMerge>)
<自動置換>(<NameReplace>)

自動置換ファイル(NameAutoReplaceFile)
名前欄を置換(ReplaceNameBox)
選択肢を置換(ReplaceChoices)
<画像の自動切替>(<AutoChangeImages>)

画像リスト(AutoChangeImageList)
パターンリスト(AutoChangePatternList)
プラグインパラメータ(言語リスト)

言語番号(LangNo)

言語名(LangName)

言語コード(LangCode)

ロケール(Locale)

フォルダ名(FolderName)

言語プロジェクトのパス(LangProjectPath)


導入方法(Install)


 以下のファイルをダウンロードし、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMZ専用です。

 NRP_MultiLanguage.js ver1.06(2026/09/29)

※このプラグインはなるべく上に配置してください。
 順序がこれより下のプラグインのみが翻訳対象となります。


SheetJS のセットアップ(xlsx読込に必要)

 以下のファイルをダウンロードし、[プロジェクト]/js/libs に放り込んでください。プラグイン管理の設定は不要です。

 xlsx.full.min.js(0.20.3)

 SheetJS の利用規約については以下をご確認ください。

更新履歴(History)


2026/09/29(ver1.06)

  • LibreOffice Calcのods形式に対応した。
    ※NRP_TextEditorMZでodsを使用するには、あちらをver1.09以降に更新する必要があります。
  • テストプレイ時に高速化用のjsonを作成し、起動時に読み込むようにした。これにより、翻訳データが大量になっても大幅に起動を高速化できます。
  • またこの機能は『ブラウザ用のリスト作成』の上位互換となるため、不要となった『ブラウザ用のリスト作成』を削除した。

2026/09/08(ver1.05)


2026/08/25(ver1.04)


2026/08/17(ver1.03 -> 1.031)

  • プラグインパラメータにオリジナル言語を追加した。現在の言語がオリジナル言語と一致する場合、画像切替使用時に言語別ファイルを参照しないようにした。
  • 言語リストにロケールを設定できるようにした。
    (名前の入力処理などに影響します。)
  • 言語プロジェクト使用時にこのプラグイン自身のパラメータを上書きできていない不具合修正。(対象は言語設定の項目名のみです。)
  • Excel内に不要な空欄データがあった場合、無視するように修正。
  • 起動時のロード処理を一部並列化して高速化した。
  • システム2のフォント関連設定も言語プロジェクトから読み込むようにした。(ver1.031)

2026/08/12(ver1.02)

  • プラグインパラメータに削除用文字列を追加。言語プロジェクトのプラグインパラメータに[DEL]を設定すると、空欄で上書きできるようにした。
  • 言語プロジェクトの通貨単位が反映されていない不具合修正。

2026/08/04(ver1.01)


2026/07/23(ver1.00)

  • 公開!

利用規約(SheetJS)


 本プラグインは SheetJS Community Edition を使用しています。
 ゲーム作品として配布・販売する場合は、クレジットあるいは同梱テキストに以下を記載してください。
SheetJS Community Edition -- https://sheetjs.com/
Copyright (C) 2012-present SheetJS LLC
Licensed under the Apache License, Version 2.0
http://www.apache.org/licenses/LICENSE-2.0

追記

 Apache License公式によれば、記載するよりもライセンスファイルの作成を推奨しているようです。以下にSheetJS用のものを作成したので、どこか作品内の参照できる場所に配置しておけばOKです。

 SheetJS-LICENSE.txt

xlsx/odsファイルの配置


 [プロジェクト]/data/localize/ 以下にxlsx/odsファイルを配置してください。
 ※以降、EXCEL(xlsx)という記述を使いますが、LibreOffice Calcのods形式でも問題なく使用できます。

 フォーマットは以下のサンプルを見れば、大体分かると思います。


 試しにダウンロードして data/localize/ に配置してみてください。ファイル名は全く見ないので置くだけで機能します。
 以下の制御文字を文章の表示の名前欄に記載してみてください。
\lanm[town01.001]

 ※名前がある場合、制御文字は末尾に記入してください。


 オプションで設定言語を切り替えた際に、対応した言語の文章が表示されれば成功です。
 ※設定言語がオリジナルの言語の場合は、元の文章がそのまま表示されます。


 以下詳細です。

xlsx のフォーマット

  • 1行目はヘッダ行となります。
  • ID列が文章中から参照するためのキーとなります。
  • 言語コード(ja / en 等)の列が各言語のテキスト列になります。
  • 2行目以降:ID列にID(例:001)、各言語列に対応テキストを記入。
  • 列の順序は自由です。話者などの参照情報を列として追加しても構いません。

シート名の指定

 当プラグインは複数のxlsx/odsファイル、複数のシートに対応しています。
 ただし、キーとするのはシート名だけです。
 複数ファイルに同一のシート名を使用しても無効となります。
 ※シート名は大文字小文字を区別しません。

 複数シートを使用する場合、先頭に『.』で区切って使用してください。
 (例:シート名が『town001』、IDが『001』ならば、『town01.001』など)

 また、現在のシート名を設定することで省略できるようになります。
 現在のシート名の設定方法は以下2つの方法があります。

マップのメモ欄に指定

<LanguageSheet:sheetName>

 どちらかというと、こちらの方法を推奨します。NRP_TextEditorMZからも参照できるので便利です。

 例えば、上述のサンプルの場合はマップのメモ欄に以下を指定してみてください。
<LanguageSheet:town01>

 文章の名前欄に『town01』を指定しなくとも使えるようになります。
\lanm[001]

 なお、マップの設定を一括で変更したい場合はNRP_TextEditorMZのマップの設定一覧が便利です。

プラグインパラメータの『シート名変数』に文字列を設定

 変数の操作のスクリプトを使用して代入を行います。



 なお、全体でシートを一つしか使用しない場合は、シート名を省略できます。

翻訳の概要


 当プラグインの多言語対応には様々な方法を用意しています。
 最適な方法をご利用ください。

  • 本文:\lanm
  • 名前欄:\lanc、または別プロジェクト参照(TextScriptBase.js経由など)
  • 選択肢:\lanc
  • データベース:別プロジェクト参照
  • プラグインパラメータ:別プロジェクト参照

 というように使い分けるのがオススメです。
 以下で詳細を説明します。

xlsxによる置換方法


文字列置換(\lan[id])

 最も単純な方法です。xlsx/odsに指定された該当言語へと置き換えます。
 本文、名前欄、DB項目、プラグインパラメータなどに使えます。


 ただし、エディタ内の入力文を、制御文字だけにする必要があります。エディタで見た場合もコードしか分からなくなることに注意してください。


 この設定の場合、オリジナル言語もEXCEL側に持たせる必要があります。この場合、日本語の列名を『ja』にすることで出力されるようになります。

名前欄で指定して本文置換(\lanm[id])

 名前欄に記入すると本文をxlsxに指定された該当言語へと置き換えます。該当言語がない場合は元の文章をそのまま使います。
 既に日本語作品として完成したプロジェクトを、なるべく変更せずに多言語対応したいような場合に有用です。


文字列前方置換(\lanc[id])

 その入力欄の前方の文字列をxlsxに指定された該当言語へと置き換えます。
 本文、名前欄、DB項目、プラグインパラメータなどに使えます。
 該当言語がない場合は元の文章をそのまま使います。

 こちらも既に日本語作品として完成したプロジェクトを、なるべく変更せずに多言語対応したいような場合に有用です。
 名前欄や選択肢の置換にも使えます。

 \lanm[id]と併用する場合は以下のような順番で設定してください。
アレックス\lanc[id]\lanm[id]

 \lancは前方を消してしまうので、消したくないものより前に出してください。

自動置換

 「自動置換ファイル」にxlsxファイルを指定すると、名前欄、選択肢が一致するテキストを自動的に置換します。
 \v[]などで展開された後の文字列にも対応します(名前欄のみ)。

 こちらはxlsxの『original』列をキーとします。
 フォーマットは以下のサンプルをご覧ください。


 同じく data/localize/ に配置してください。『original』列の値が一致する名前欄と選択肢を置き換えます。
 ※ちなみにシート名とID列を使用した通常通りの参照も可能です。使わない場合はID列はなくとも構いません。

スクリプト

 スクリプトから参照したい場合は、以下の関数を使用できます。
 ※文字列としてIDを渡す必要があることに注意してください。
 ※シート名などのルールは他と同じです。
$lan(id)

例

$lan("town01.001")


 また、該当がなかった場合の文字列を指定することもできます。
 Excelにオリジナル言語の値を持たせたくない場合は特に便利です。
$lan(id, デフォルト値)

例

$lan("town01.001", "おはよう!")


別プロジェクトの参照


 別言語用のプロジェクトを用意することで、言語切替時にそちらの文言を参照できるようにします。
 対象はデータベースとプラグインパラメータです。
 ※マップデータや素材は参照しません。消してしまって大丈夫です。


 別のプロジェクトとして、言語用プロジェクトを作成してください。
 データベースは文章項目(メモ欄を含む)のみ、プラグインパラメータは全ての項目が対象です。
 入力がある項目のみ上書きし、それ以外は無視します。


 不要なプラグインや不要なプラグインパラメータは削除したほうが安全です。
 データベースのメモ欄も不要な場合は消したほうが安全です。間違えて上書きしないように注意してください。

 言語によって、レイアウト系のパラメータを調整するといったことも可能です。
 また、システム2のフォント関連情報も上書きされます。フォントファイル自体はオリジナルプロジェクトのほうに配置するようにしてください。

 プラグインパラメータの『言語リスト』に対象の『言語コード』や『フォルダ名』『言語プロジェクトのパス』を登録してください。
 テストプレイ実行時に自動的に各JSONおよび、plugins.js(プラグインパラメータ)がコピーされます。

 ※『言語プロジェクトのパス』はテストプレイ用の項目ですが、製品版でもプラグインパラメータ自体は読み取れてしまいます。不要な個人情報を含まないように注意してください。

メモタグのマージ

 メモ欄については、タグ毎に上書きするように設定を変更できます。
 例えば、とある敵キャラのメモ欄に以下のような指定がされていたとします。
<Level:1>
<desc:何でもかじる大型のネズミ。>

 この内、多言語対応する必要があるのは<desc:〜>だけです。
 敵キャラの『メモタグのマージ』をオンにすれば、言語プロジェクト側には、<desc:〜>だけを記載すればよくなります。

 逆に以下のような記法(参考:NRP_AdditionalCCScene.js)だと対応できません。この場合は『メモタグのマージ』をオフにして書き換えるなどの対応をする必要があります。
<ClassMessage>
武器と魔法を使いこなす魔法戦士。
相手を選ばず強さを発揮する。
</ClassMessage>

 あるいは以下のような書き方も有効です。
<ClassMessage>
武器と魔法を使いこなす魔法戦士。
相手を選ばず強さを発揮する。
\\lanc[class.1]
</ClassMessage>

 この場合は言語プロジェクト側のメモ欄を消してください。『\\lanc』というように\\を重ねる必要があります。

用語プラグイン

 名前欄の置き換えに関しては、用語系プラグインを使う方法があります。
 公式プラグインの『TextScriptBase.js』などが使えます。

画像の自動切替


 現在の言語コードによって、画像を自動で切り替えられるようにできます。
 対象とする画像は『画像リスト』および『パターンリスト』で指定できます。


 例えば、
img\pictures\Test.png

 を指定した場合、言語が英語なら
img\pictures\en\Test.png

 が自動で表示されます。
 サブフォルダを使用した場合も有効です。

img\pictures\Help\Test.png

 ↓
img\pictures\en\Help\Test.png

 のように切り替えられます。

 複数のファイルの指定には『パターンリスト』が便利です。

"pictures\Help"以下のファイルが対象

pictures\Help\*

さらに下のサブフォルダまで対象

pictures\Help\**

 対象の画像が存在しない場合は、元の画像を使用します。
 その際は画像の表示がわずかに遅延するため注意です。
 (ファイルの存在確認を行うため)

高速化用のjson作成


 オンの場合、テストプレイ時にdata/localize/json/に言語別のjson(例:LANG_en.json)とキャッシュ用のjsonを生成します。

 初回生成時や翻訳データの変更時は、xlsx/odsの解析時間がかかりますが、これによって、本番ではロード時間を大幅に短縮できるようになります。

 また、この機能を使うことでブラウザ起動にも対応できるようになります。ブラウザ起動時はこの機能を必ずオンにしてください。

 仕様上、各翻訳データ(xlsx/ods)を変更した後、一度もテスト起動せず、本番ファイルをアップロードすると正常に変更が反映されません。
 ※まずありえないと思いますが……。

NRP_TextEditorMZとの連携


 NRP_TextEditorMZ(MZ用テキスト編集エディタ)と連携すれば、翻訳作業が非常に快適になります。
 使用するには、NRP_TextEditorMZの「設定>プロジェクト設定」でNRP_MultiLanguage.jsとの連携をオンにしてください。

 これにより画面に翻訳を表示することができます。
 さらに名前欄末尾の『\lanm[言語ID]』の記述を言語ID列に分離して表示&編集できるようになります。
 (選択肢の場合は末尾の『\lanc[言語ID]』が対象になります。)

 これによって、スピーディな翻訳管理が可能となります。


 xlsxで使用しているものと同じ『言語ID』を該当列に入力すると、翻訳列に内容が表示されるようになります。
 文章のハミダシ線の設定などもできるので参考にしてください。

EXCEL出力&AI翻訳

 EXCEL出力 → AIで翻訳&言語IDを設定 → NRP_TextEditorMZに貼付

 という手順で一気に翻訳ができます。『子マップも表示』の機能を使うと便利です。

 以下は実際に作者がChatGPTに指示したサンプルです。翻訳には、名前欄やイベントページなどの情報も活用できます。
ゲーム内文章の翻訳をしています。
このxlsxの日本語を英訳してen列に出力してください。

・名前欄の翻訳は不要です。
・イベントIDやページが切り替わった場合は別のシーンになります。
・\n[1]などの表記は実際のゲーム内では該当の人物名に変換されます。
・名前欄が空白の人物はいわゆるモブキャラです。
・一行は50文字以内に収めてください。\n[〜]は6文字として扱ってください。
・元のセリフより行数を増やしても構いませんが、一つのセリフは4行までしか表示されないことに注意してください。
・改行コードの問題でxlsxの出力にはopenpyxlを使用してください。

 実際には人物資料集などの設定情報をまとめて、主要人物や用語の英語名を早めに決めておいたほうがよいかと思います。
 openpyxlについては、自分の環境だとxlsxの改行表示がおかしくなったので調整のために指定しました。

 NRP_TextEditorMZについての詳細はこちらをご覧ください。
 https://newrpg.seesaa.net/article/521148077.html

その他詳細


言語コードの保存先

 現在の言語コードはゲーム起動時に以下の場所から読み込みます。
  • ローカル環境:save/nrp_language.ini
  • ブラウザ環境:localStorage の "nrp_language" キー

 config.rmmzsave とは独立して管理されます。

言語切り替え時の動作

 タイトル画面のオプションで言語を切り替えてオプションを閉じると、言語コードを保存後にゲームを再起動します。
 言語設定項目はタイトル画面以外ではグレーアウトされ変更できません。

言語変数

 言語変数はニューゲーム時・ロード時に自動で再設定されます。

プラグインパラメータ(Plugin Parameters)


言語リスト(LanguageList)

 使用する言語の一覧です。

言語変数(LanguageVariable)

 現在の言語番号を格納する変数です。
 値は言語リストの言語番号に対応します。

シート名変数(SheetVariable)

 現在のシート名を格納する変数です。
 \lan[001]のように省略記法を使う際に参照されます。

デフォルトシート名(DefaultSheetName)

 シート名の既定値です。空欄も有効です。
 xlsxのシートが1つの場合の自動選択より優先されます。

初期設定の言語(DefaultLanguage)

 OS の言語設定が言語リストに一致しない場合の初期言語です。
 初回起動時にのみ使用されます。

 作品の翻訳元となる『オリジナルの言語』とは、また別の概念なので注意してください。
 一般的には『英語』を指定する想定です。

オリジナル言語(OriginalLanguage)

 このプロジェクトのオリジナル言語(作品の翻訳元となる言語)です。
 現在選択されている言語と一致する場合、画像の自動切替を行いません。
 ※現状は画像の自動切替にしか使用していません。

オリジナル言語はxlsx未使用(SkipXlsxForOriginalLanguage)

 現在の言語がオリジナル言語ならば、SheetJSとxlsxを読み込まないようにします。これにより、オリジナル言語を使用している時は、不要なデータを読み込まないようにします。
 ※オリジナル言語の内容までxlsxに定義していた場合は、当然表示されなくなるので注意してください。

高速化用のjson作成(MakeFastJson)

 テストプレイ時に言語別JSONを生成し、起動時は設定言語のJSONのみ読み込みます。公開時は生成したJSONも同梱してください。
 ブラウザ公開する場合は必ずオンにしてください。

[Dev]機能を無効化(DisableFeature)

 本プラグインの機能を無効化します。
 オプション画面の言語設定を非表示にして、各種翻訳機能を無効化します。言語設定は強制的にオリジナル言語を選択した状態になります。

 開発途中など「翻訳をまだリリースできる段階にないが、不具合修正などで作品を更新する必要がある」という状況で使用することを想定しています。
 ※プラグイン自体をオフにすると、\lan[〜]などの表示がゴミとして残ってしまうのでこちらを使用してください。

<オプション>(<Option>)

言語設定の項目名(OptionLabel)

 オプション画面に表示する言語設定の項目名です。

挿入位置(InsertPosition)

 言語設定を挿入するオプション項目の位置です。
 0を先頭として設定してください。

<データベース>(<Database>)

言語プロジェクトを使用(UseLanguageProject)

 ONにすると言語フォルダのJSONファイルやplugins.jsを参照します。

言語データを自動コピー(AutoCopy)

 テストプレイ起動時に言語プロジェクトから自動コピーします。
 「言語プロジェクトを使用」がOFFなら無効です。

削除用文字列(DelString)

 言語プロジェクト側でプラグインパラメータを空欄で上書きしたい場合に設定する文字列です。
 初期値は[DEL]です。

 ※言語プロジェクト側のプラグインパラメータは空欄を設定すると無視される仕様です。そのため、あえて空欄で上書きしたい場合に使用するための仕組みです。

<メモタグのマージ>(<NoteTagMerge>)

 ONの場合、メモ欄にあるタグ毎に元データへ反映します。
 OFFの場合は、メモ欄全体を上書きします。

 以下のメモ欄がある項目が対象です。
 『アクター』『職業』『スキル』『アイテム』『武器』『防具』『敵キャラ』『ステート』

<自動置換>(<NameReplace>)

自動置換ファイル(NameAutoReplaceFile)

 自動置換に使用するxlsxファイル名です。
 data/localize/ 以下に配置してください。
 (例:name.xlsx)

名前欄を置換(ReplaceNameBox)

 ONにすると名前欄のテキストを自動置換します。

選択肢を置換(ReplaceChoices)

 ONにすると選択肢のテキストを自動置換します。

<画像の自動切替>(<AutoChangeImages>)

画像リスト(AutoChangeImageList)

 登録した画像について、自動切替の対象にします。

パターンリスト(AutoChangePatternList)

 登録した画像ファイルのパターンについて、自動切替の対象にします。
 img以下を指定してください。
 例: pictures\Test\*

プラグインパラメータ(言語リスト)


言語番号(LangNo)

 この言語を選択したとき言語変数に格納される値です。

言語名(LangName)

 オプション画面に表示する言語の名前です。
 (例:日本語、English)

言語コード(LangCode)

 この言語に対応する言語コードです。
 現在の言語判定に使用します。

ロケール(Locale)

 言語プロジェクト使用時に$dataSystem.localeへ設定する値です。
 例:ja_JP、en_US

 この値は名前の入力処理などに影響します。例えば、値が「ja〜」以外ならば、入力候補に日本語は表示されなくなります。

フォルダ名(FolderName)

 この言語用のフォルダ名です(data/ 以下に作成)。
 例:data_en → [Project]/data/data_en/ に配置。

言語プロジェクトのパス(LangProjectPath)

 言語用プロジェクトフォルダのパスです。
 テストプレイ開始時に、このフォルダからファイルを自動コピーします。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 13:51 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

【NRP_TextEditorMZ】RPGツクールMZ用テキスト特化エディタ

2026/09/27

 RPGツクールMZ用テキスト特化エディタです。(もちろん非公式)
 イベント内容やデータベース、プラグインパラメータなどのテキストを表形式で編集できます。


主な機能

  • 表計算ソフトと連携したテキスト編集
  • 全マップを対象とした高速なテキスト検索
  • 多言語対応プラグインとの連携
  • 高速なファイル保存
  • 日本語/英語対応

 例によって、入念なテストをしたわけでもない非公式の怪しい代物です。このツールで何らかの問題が起こっても一切の保証はできません。心配なら事前にプロジェクトのバックアップを取ってください。
 一応、このツール自体にもバックアップ機能は付いています。


目次


導入方法

更新履歴

使用方法

データベース

プラグイン

マップの設定一覧

名前欄一覧

検索と置換

EXCEL出力

イベントテスト

多言語対応プラグインと連携

立ち絵プラグインと連携

バックアップ


導入方法


 以下のファイルをダウンロードして解凍してください。
 exeファイルをクリックすると起動します。

 NRP_TextEditorMZ.zip ver1.091(2026/09/27)

更新履歴


2026/09/27(ver1.09 -> 1.091)

  • NRP_MultiLanguage.js ver1.06の.odsファイルに対応できるようにした。
  • プロジェクトを開いた時に検索インデックスを作成をやめて、起動を高速化した。(その代わりに初回の全マップ検索時にロードするようになります。)
  • NRP_MultiLanguage.jsのローカライズファイルの読み込みを、バックグラウンドで実行するようにした。
  • 顔画像が縦288px以外の場合に正常に表示されなくなる不具合を修正した。
  • NRP_MultiLanguage.js連携時にja列が表示されない不具合修正。(ver1.091)

2026/09/13(ver1.08)

  • EXCEL出力の拡張子にods(LibreOffice)を追加した。
    (EXCELじゃないけど……)
  • EXCEL出力の設定を保存するように修正。
  • 検索画面で候補をクリックした際に、該当行に遷移しない不具合修正。

2026/08/26(ver1.07)

  • コモンイベント、バトルイベント編集時、jsonの形状が変わってしまう問題を修正。
  • 絞り込み検索時に罫線などレイアウトが崩れてしまう不具合修正。
  • 当ソフトのセルをコピーして、xlsxにペーストした際に行頭の半角スペースが消えてしまう不具合修正。(LibreOfficeで確認しているので、他のソフトでいけるかは不明です……。)
  • 検索結果選択時にマップ(ファイル)の展開状態が戻ってしまう不具合修正。
  • 検索結果一覧からデータベースの結果を選択した際にエラーとなる不具合修正。
  • 『最近開いたプロジェクト』から開いた場合に、NRP_MultiLanguage.jsの連携列が表示されないことがある不具合修正。
  • NRP_MultiLanguage.jsと連携時、F5リロードでxlsxの連携内容を更新するようにした。
  • NRP_MultiLanguage.jsと連携時、右上のプロジェクトの言語設定を切り替えられるボタンを追加した。
  • NRP_MultiLanguage.jsと連携時、『言語ID未設定』のデータを抽出できるようにした。
  • 横幅を節約するため『文章ありに限定』の表記を『文章のみ』に変更。
  • データベースやプラグインパラメータにおいても、変更した行は黄色表示するようにした。
  • マップの設定一覧にてDELキーで値を消せない不具合修正。
  • 絞り込み検索時の検索結果は保存するまで維持するようにした。
  • NRP_MultiLanguage.jsと連携時、名前欄の言語ID(\lanc[〜])や名前翻訳列(例:名前en)も表示するようにした。
  • 名前欄一覧画面を作成した。名前欄だけをまとめて変更できます。
  • 名前欄の下に実際の名前をプレビュー表示する機能を追加。
    (\n[]とTextScriptBase.jsの\tx[]に対応)

2026/08/16(ver1.06)

  • 選択肢は一行ずつ表示&Excel出力するように変更した。
    また、NRP_MultiLanguage.js連携時は選択肢末尾の\lanc[ID]を言語ID列に表示するようにした。
  • 各一覧の絞り込み検索について、値の編集中は確定するまで検索結果に反映しないようにした。
  • プラグインパラメータのEXCEL出力時に一部構造体の内容が出力できない不具合修正。
  • データベースで右スクロールした際に左の行数を固定表示するようにした。
  • 検索結果のデータベースやプラグインパラメータが最初から開いた状態になっているので閉じるように修正した。また、データベース関連の表示順序が不安定だったので修正した。
  • データベース画面やプラグインパラメータ詳細編集画面で上端、左端に移動した際にスクロールが中途半端にされてしまう不具合修正。
  • データベースでも左端をクリックした際は行選択できるようにした。
  • 検索の置換について、置換後に次の候補へと移動するように修正。
  • データベースのスキルの使用効果などの構造体を持った項目について、複数範囲に対するペーストができない不具合修正。
  • 件数の多いデータベースで、PageUp/Downを押しっぱなしにしているとカーソルが行方不明になる不具合修正。

2026/08/11(ver1.05)

  • 検索の対象にデータベースとプラグインパラメータを追加した。
  • プラグインパラメータの編集画面にて、複数範囲に対するペーストができない不具合修正。
  • xlsxの空セルからデータベースに貼り付けた時に不要な改行コードが入ってしまう不具合修正。
  • 用語のオプション、セーブ、ゲーム終了の対応が間違っている不具合修正。
  • ウインドウが小さい場合、メニューの文字が不自然に改行されてしまう不具合修正。

2026/08/01(ver1.04)

  • 最近開いたプロジェクトの表示を見やすく調整。
  • 各操作時にフォーカスが外れてしまう不具合修正。
  • マップの設定一覧の入力時の挙動が不安定だったので修正。
  • 外部xlsxから複数行の1セルをコピー&ペーストした場合、複数セルに反映されてしまう不具合修正。
  • プラグインパラメータの編集において、一次元配列に対応できていなかったので修正した。
  • 保存した各jsonの構造(改行など)を維持し、不要な差分を発生させないように修正した。

2026/07/30(ver1.03)

  • 実行ファイルのアイコンの背景を透過した。
  • プラグインパラメータのリスト項目の詳細編集時にDeleteキーを押しても値がクリアされない不具合修正。
  • プラグインパラメータ編集時にInsertした場合、フォーカスが外れてしまう不具合を修正。
  • プラグインパラメータのリスト項目について、値が空でも詳細編集ができるようにした。

2026/07/25(ver1.02)

  • 行の挿入/削除後に保存を行うとマップのサイズが0になってしまうことがある重大な不具合修正。

2026/07/24(ver1.01)

  • ブックマーク機能を追加した。
  • イベントテストのプレイヤー位置が正しく設定されていない不具合修正。
  • データベースの値を変更した場合、『元に戻す』ができない不具合修正。
  • データベースのメモ欄等を編集した際の挙動を調整した。
  • 『ウィンドウ位置』『背景タイプ』を変更できるようにした。

2026/07/21(ver1.00)

  • 公開!

使用方法


 ファイル(または左上のアイコン)からプロジェクトを開いてください。
 左下のマップツリーからマップを選ぶと、そのマップのイベント文章が表示されます。


 初期状態では、全てのイベントが表示されています。左上のイベントリストで特定のイベントだけを表示することもできます。初期状態では『文章あり』のイベントのみが表示されます。

 内容は表形式で表示されており、文章と名前欄の編集ができます。Excelなどの表計算ソフトとのやり取りも可能です。
 ※ちなみに表計算ソフトは無料のLibreOffice Calcなどでも十分です。

 編集後、保存ボタン(Ctrl+S)でファイルを更新します。
 RPGツクールMZを起動していた場合は、リロードを促すメッセージが表示されるのでリロードするとあちら側の表示にも反映されます。

 基本的には文章の編集用として設計したエディタですが、Insertキーで文章の挿入もできます。

列の設定

 列の横幅を調整したり入れ替えたりができます。
 列の上で右クリックすると表示する列を切り替えることもできます。

検索

 右上で簡易的な検索(絞り込み)ができます。名前欄と本文で別々に指定可能です。

イベント内容表示の切替

 右上でイベント内容表示の切替が可能です。初期状態は『文章のみ表示』になっています。
 条件分岐などのフロー制御を表示したり、文章以外のイベントコマンドを表示することもできます。ただし、あくまで参考情報なので編集はできません。

子マップも表示

 イベントリスト上部の『子マップも表示』ボタン(F1でショートカット)で、マップツリーの親子マップ全てをまとめて表示できます。
 まとめて英訳したい時などに便利です。

 プロジェクトルート(マップツリーの一番上)でやると全マップを対象にすることもできますが、長編だと重くなるので注意。

 なお、複数マップを同時表示した際はマップIDや名前が列として自動表示されます。これについては、設定の『マップ列の自動表示』で挙動を調整できます。

バトルイベント

コモンイベント

 バトルイベントやコモンイベントの表示も可能です。
 仕様は通常のマップイベントとほぼ同じです。

データベース


 データベースの編集ができます。


 大体の項目は編集できますが、特徴などこのエディタで入力するのは無理のある項目もあります。その場合は素直に公式エディタを使ってください。
 敵キャラのパラメータ調整やメモ欄の一括変更などに使うと便利かと思います。

プラグイン


 プラグインを選択すると、プラグインパラメータの編集ができます。



 リスト項目については値をダブルクリックすると、詳細編集画面が表示されます。
 公式エディタとは違って、いちいち閉じる必要がないという利点もあります。プラグインパラメータを変更しながらテストしたい時は便利です。

マップの設定一覧


 マップの設定を一覧として表示&編集できます。
 マップの表示名やメモ欄をまとめて変更したい時に便利です。


 なお、タイルセットなどの細かい情報は表示&編集できません。名前、表示名、メモ欄のみが対象となっています。

名前欄一覧


 ゲーム中で使用されている名前欄(話者)を集約して表示できます。
 変更して保存すると全てのマップ(コモンイベント、バトルイベント含む)を対象にまとめて更新することができます。


 多言語対応プラグインとの連携にも対応しています。まとめて英訳したい時に便利です。


 全データを対象とした詳細かつ高速な検索が可能です。
 ver1.05よりデータベースやプラグインパラメータを対象とした検索もできるようになりました。


 本画面では置換も可能です。ただし、一括置換の対象はファイル内だけであることに注意してください。1ファイルずつ保存を行う必要があります。

EXCEL出力


 各画面の表示内容をxlsx形式で出力できます。


 子マップを含めたり、マップ毎にシートを作成することもできます。
 『現在の表示項目を選択』ボタンを押すと、イベント内容一覧の列の表示設定をそのまま反映できます。

イベントテスト


 設定画面でRPGツクールMZのパスを指定すると、イベントテストを使用できるようになります。

 イベントテストを実行すると、選択中のイベントページのテストを実行します。
 公式エディタと違ってマップも表示されるので、ある程度はエラーにならずに進められます。

 とはいえ、あくまで簡易的なものです。もう少し本格的にやりたい場合はイベントテストの機能を拡張するプラグインを使用してください。

多言語対応プラグインと連携


 NRP_MultiLanguage.js(多言語対応プラグイン)と連携できます。
 設定画面で連携の設定をオンにしてください。


 名前欄末尾の『\lanm[ID]』および選択肢末尾の『\lanc[ID]』を言語ID列に分離して編集することによって、スピーディな翻訳設定が可能となります。
 さらに外部のExcelに設定した翻訳を別の列に同時表示できます。

 詳細はリンク先をご覧ください。

立ち絵プラグインと連携


 NRP_MessagePicture.js(文章の表示時に立ち絵を表示するプラグイン)と連携できます。
 設定画面で連携の設定をオンにしてください。


 差分IDを入力すると、立ち絵のパターンがそれに合わせたものになります。ただし、スイッチなどの条件は判定できません。リスト下側の立ち絵が優先して表示されます。

 なお、旧バージョンのNRP_MessagePicture.jsには不具合があるので最新版(2026/07/17〜)に更新してください。特に翻訳プラグイン(NRP_MultiLanguage.js)との併用時は動かなくなる場合があります。

バックアップ


 設定画面でバックアップの設定ができます。

 標準では一つプロジェクト辺り、20MBを上限に作成されます。初期設定だと60分以内に変更されたばかりのファイルはバックアップを取りません。
 バックアップはこのエディタのフォルダ内に作成されます。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 11:30 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

反撃スキルを作成する【RPGツクールMZ&MVプラグイン】

2026/09/22

 反撃として発動するスキルを作成できます。


 アクター、エネミー、職業、装備、ステート、スキルのそれぞれに対して、反撃を行う特徴として設定できます。
 スキルについては覚えているだけで、反撃するパッシブスキルとなります。

 反撃系プラグインは処理が非常に複雑なので、外部の反撃系プラグインと当サイトのプラグイン(DynamicMotion、CTB、連結スキルなど)を組み合わせると競合が起きやすいです。
 当プラグインはそういった問題が起きないように実装されています。
 

目次


導入方法(Install)

更新履歴(History)

反撃の設定

スキルのメモ欄

ステートのメモ欄

反撃グループ

DynamicAnimation & Motionとの連携

プラグインパラメータ(Plugin Parameters)

対象のダメージタイプ(TargetDamageType)

対象の命中タイプ(TargetHitType)

対象のスキルタイプ(TargetSkillType)

回避時の反撃判定(CounterEvadeCondition)

アイテムにも反撃(CounterItem)

連撃時の判定(ComboJudgeType)

MPTPを消費しない(NoMpTpCost)

スキルの使用判定を無視(IgnoreSkillConditions)

対象死亡時は中断(AbortTargetDeath)

仲間のスキルにも反撃(CounterFriendSkill)

デフォルトの反撃処理を上書(CoverDefaultCounter)

反撃有効グループ(DefaultCounterGroup)

反撃無効グループ(DefaultCounterGroupNG)

100%超えに対応(SupportOver100)


導入方法(install)


 以下のリンクを右クリックで保存し 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_CounterSkill.js ver1.06(2026/09/22)

更新履歴(History)


2026/09/22(ver1.06)

  • 反撃スキルの範囲が敵味方全体の場合に、反撃が発動しない不具合修正。

2025/01/15 -> 2025/08/27(ver1.05 -> 1.052)

  • ターン制において、反撃したバトラーの行動が終了してしまう不具合修正。
  • 範囲が味方のスキルで反撃する際、ヒット数分の反撃を実行してしまう不具合修正。(2025/02/24 ver1.051)
  • スキルの結果計算を演出より先に実行するプラグインとの競合対策用に微調整。(2025/08/27 ver1.052)

2024/08/13 -> 2024/12/04(ver1.04 -> 1.041)

  • 範囲が仲間のスキルを反撃で敵にかけてしまう不具合修正。
    ※範囲が仲間の場合は自分を対象とします。
  • <CounterSkill>の値を0にした場合は反撃しないようにした。
    例えば、数式を使えば条件によって反撃を不発させることができます。
  • 反撃有効グループ、反撃無効グループがデフォルトの反撃処理以外にも適用されてしまう不具合修正。
  • 反撃実行者をBattleManager._counterSubjectで取得できるようにした。(上級者向け)(2024/12/04 ver1.041)

2024/01/18 -> 2024/07/13(ver1.03 -> 1.031)

  • DynamicMotion併用時、反撃後にアクターが一歩前進してしまう不具合修正。
  • DynamicMotionの不死身ステート併用時、HPが0になったバトラーは反撃を発動しないようにした。(2024/07/13 ver1.031)

2023/10/23(ver1.02)

  • 味方のパーティアタックに対して反撃すると、敵を狙ってしまう不具合を修正。
  • それに伴い、味方に対しても反撃するかを設定可能にした。
    ※味方へ反撃するにはNRP_PartyAttack.jsが必要です。
  • 反撃グループに数式を適用できるように修正。

2023/10/04(ver1.01)

  • CounterGroupExcept、CounterGroupIncludeに文字列を設定すると、エラーになる不具合修正。

2023/08/20 -> 2023/08/27(ver1.00 -> 1.001)


反撃の設定


 アクター、エネミー、職業、装備、ステート、スキル、アイテムのメモ欄に、反撃スキルの設定を行います。
 ※各項目は数式も使用可です。

<CounterSkill:100>

 スキル100番を反撃として実行するようになります。
 数値を省略(<CounterSkill>)した場合は通常攻撃で反撃します。

 数式と組み合わせれば、複雑な条件で反撃させることも可能です。
 例えば、<CounterSkill:a.hpRate() <= 0.5 ? 1 : 0>ならば、HPが50%以下の時のみ通常攻撃で反撃します。

<CounterRate:50>

 反撃スキルを50%の確率で発動します。
 省略すると100%になります。

<CounterDamageType:1,5>

 ダメージタイプ1,5のスキルを反撃の対象にします。
 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP回復です。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<CounterHitType:1>

 命中タイプ1のスキルを反撃の対象にします。
 0:必中, 1:物理攻撃, 2:魔法攻撃です。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<CounterSkillType:0,2>

 スキルタイプ0,2のスキルを反撃の対象にします。
 スキルタイプはデータベースで設定できます。
 通常だと1は魔法、2:必殺技です。
 また、0は通常攻撃として扱われます。
 省略時はプラグインパラメータの設定を使用します。
 空欄にした場合は全て有効となります。

<CounterEvadeCondition:0>

 スキルの、命中/回避による反撃発動条件を設定します。
 0:常に反撃, 1:命中時のみ反撃, 2:回避時のみ反撃
 省略時はプラグインパラメータの設定を使用します。

<CounterGroupInclude:attack>

 スキルの反撃グループ名が『attack』の場合に反撃します。
 ※反撃グループに対しては後述します。

<CounterGroupExcept:attack>

 スキルの反撃グループ名が『attack』の場合に反撃しません。

<CounterItem> / <CounterItem:false>

 アイテムに対しても反撃を実行します。(falseでオフ)
 省略時はプラグインパラメータの設定を使用します。

<CounterAbortDeath> / <CounterAbortDeath:false>

 対象死亡時に反撃スキルを停止します。(falseでオフ)
 省略時はプラグインパラメータの設定を使用します。

スキルのメモ欄


 スキル(およびアイテム)のメモ欄に指定してください。

<CounterGroup:attack>

 反撃グループを『attack』に設定します。

<CounterDisabled>

 このスキルでは反撃を受けないようにします。

ステートのメモ欄


<CounterIgnoreRestrict>

 通常、行動制約ステートにかかっているバトラーは反撃を実行しませんが、例外的に反撃を実行できるようになります。
 攻撃系の行動制約のみが有効です。

反撃グループ(Counter Group)


 スキル毎の詳細な反撃判定を行いたい場合は反撃グループが有効です。
 例えば、弓スキルはトゲステートによる反撃を受けないといった場合は次のように設定すればOKです。

 弓スキルのメモ欄を設定し、反撃グループを『bow』にする。
<CounterGroup:bow>


 次にトゲステートのメモ欄を設定し、反撃グループ『bow』を無効にする。
<CounterGroupExcept:bow>


 逆に弓スキルのみ反撃対象とするステートを作成したい場合は、メモ欄に以下のように設定します。
<CounterGroupInclude:bow>


 なお、反撃グループを設定した場合でも、スキルタイプなどの条件は有効なままです。ご注意ください。

DynamicAnimation & Motionとの連携


スキルのメモ欄に以下のように条件を指定すれば、
反撃時のみ専用の演出を挿入できます。
<D-Animation:self&wait>
condition = BattleManager.isInCounter(); // 反撃用の条件
id = 52 // アニメーションID
</D-Animation>


プラグインパラメータ(Plugin Parameters)


対象のダメージタイプ(TargetDamageType)

 反撃対象とするダメージタイプ。複数可。
 0:なし, 1:HPダメージ, 2:MPダメージ, 3:HP回復, 4:MP回復, 5:HP吸収, 6:MP吸収

対象の命中タイプ(TargetHitType)

 反撃対象とするスキルの命中タイプです。複数可。
 0:必中, 1:物理攻撃, 2:魔法攻撃

対象のスキルタイプ(TargetSkillType)

 反撃対象とするスキルタイプです。複数可。
 標準だと0で通常攻撃、2で必殺技が対象になります。

回避時の反撃判定(CounterEvadeCondition)

 スキルが命中/回避された際に、反撃スキルを実行するかの判定です。

アイテムにも反撃(CounterItem)

 アイテムにも反撃を実行します。

連撃時の判定(ComboJudgeType)

 連撃を受けた際の判定方法です。
 『毎回』なら連撃回数だけ反撃率が上がります。

MPTPを消費しない(NoMpTpCost)

 反撃スキル発動時にMPTPを消費しません。

スキルの使用判定を無視(IgnoreSkillConditions)

 反撃時にスキルの使用判定(沈黙ステートなど)を無視します。

対象死亡時は中断(AbortTargetDeath)

 対象死亡時は以降の反撃スキルを発動しません。

仲間のスキルにも反撃(CounterFriendSkill)

 仲間のスキルへ反撃するかどうかです。
 ※本来と異なるサイドへ反撃するには、NRP_PartyAttack.jsが必要です。

デフォルトの反撃処理を上書(CoverDefaultCounter)

 デフォルトの反撃(追加能力値の反撃率)も当プラグインで処理するように上書きします。

 デフォルトの反撃処理は攻撃を完全回避した上で、動作の終了を待たずに反撃する仕様なのでクセが強いです。そこで、当プラグインの処理に置き換えることでオーソドックスな反撃処理に変更します。
 なお、攻撃を完全回避する仕様はなくなります。

反撃有効グループ(DefaultCounterGroup)

 デフォルトの反撃処理の有効な反撃グループです。

反撃無効グループ(DefaultCounterGroupNG)

 デフォルトの反撃処理の無効な反撃グループです。

100%超えに対応(SupportOver100)

 反撃率が100%を超えた場合に、反撃を複数回実行します。
 つまり反撃率が150%だと、1回確実に反撃した後、50%でもう一撃加えます。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 10:43 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする