データベース変換プラグイン – DatabaseConverter.js

タイトル
データベース変換プラグイン
作者名
ヘルプ
DatabaseConverter.js
ツクールMVのデータベースをExcelなどのシートデータ(以下シートファイル)に
書き出し、読み込みします。

イベントテスト(イベントエディタ上で右クリック→テスト)から所定の
プラグインコマンド(後述)を実行すると書き出しおよび読み込みができます。

--------------------------------------
書き出し手順
--------------------------------------
1. 本プラグインを管理画面からONにする。
2.「プロジェクトの保存」を実行する。(初回実行時のみ)
3. イベントテストから所定のプラグインコマンドを実行する。
4. 所定のフォルダにシートファイルが出力される。

--------------------------------------
読み込み手順
--------------------------------------
1.「プロジェクトの保存」を実行する。
2. Dataフォルダをバックアップしておく。
3. イベントテストから所定のプラグインコマンドを実行する。
4.「プロジェクトを開く」を実行して、プロジェクトを開き直す。
開き直すとき、プロジェクトの保存はしないでください。

※プラグインコマンドは1つずつ実行してください。
 一度に複数のコマンドを実行することはできません。

--------------------------------------
オリジナルデータベース作成手順(上級者向け)
--------------------------------------
1. パラメータ「オリジナルデータ読み込み」をOFFにする。
2. パラメータ「対象データベース」にオリジナルデータを追加
3. データベースをエクスポート
4. オリジナルデータのシートが追加されるので自由に編集
5. データベースをインポート
6. パラメータ「オリジナルデータ読み込み」をONにする。
7. スクリプトからオリジナルデータの内容を参照できる。

--------------------------------------
出力対象データ
--------------------------------------
・データベース
既存のデータベースを入出力します。ファイル名は「Database」です。
出力フォーマットに合わせた拡張子が付与されます。(以降も同様)
タイルセットおよびコモンイベントは対象外です。
さらに独自に定義したデータ(スクリプトから参照)も入出力可能です。

・コモンイベント
コモンイベントの実行内容を入出力します。ファイル名は「CommonEvents」です。
パラメータの詳細は以下のスプレッドシートが参考になります。
https://docs.google.com/spreadsheets/d/1rOIzDuhLC6IqJPEFciYOmXWL_O7X9-hMValMs7DpWCk/edit#gid=1266374350

・マップイベント
マップイベントの実行内容を入出力します。ファイル名は「MapXXX」です。
シート名に「イベントID」および「イベントページ」が出力されます。

・イベントテスト
イベントテストで選択した実行内容を出力します。
ファイル名は「Test_Event」です。出力のみに対応しています。

--------------------------------------
出力対象フォーマット
--------------------------------------
Excelファイル以外にもCSVやOpenDocument Spreadsheetなど
以下のフォーマットに対応しています。プラグインパラメータから変更可能です。

xlsx : Excel2007以降の一般的な形式です。
xlsm : Excel2007以降のマクロ付き形式です。
xlsb : Excel2007以降のバイナリ形式です。容量や速度面で優れています。
ods : 特定のベンダに依存しないオープンなファイル形式です。
fods : 特定のベンダに依存しないオープンなXMLテキストファイル形式です。
csv : カンマ区切りのテキストファイル形式です。
txt : タブ区切りのテキストファイル形式です。

--------------------------------------
出力ファイル詳細
--------------------------------------
1. 出力時に同名のファイルが存在した場合は上書きされます。(※1)
2. シート名にはデータ種別が出力されるので編集しないでください。
3. 出力ファイルの1行目には入出力に必須な情報(プロパティ名)が出力されます。
ここも編集しないでください。
4. 2行目には項目の日本語名が出力されます。読み込み時は無視されます。
5. 配列項目(特徴など)は一部除きjson文字列で出力されます。編集は非推奨です。
6. 数値や文字列は編集できますが、整合性のない値の入力には注意してください。
7. Excel計算式は計算結果がデータベースの値として読み込まれます。
8. 書式設定や行列の設定、マクロの追加などは自由です。
9. データベースは読み込み時にID列でソートされます。重複はエラーになります。

※1 同名ファイルを開いているとエラーになるのでファイルを閉じてください。
--------------------------------------
注意事項
--------------------------------------
当プラグインの機能を使用する前にプロジェクト以下の「data」フォルダの
バックアップを「必ず」取得してください。

「data」フォルダの内容を自動でバックアップするプラグインも配布しています。
こちらのご利用もご検討ください。
https://raw.githubusercontent.com/triacontane/RPGMakerMV/master/BackUpDatabase.js

いかなる場合も破損したプロジェクトの復元には応じられませんのでご注意ください。

エクスポートしたExcelファイルを開いたときに何らかのエラーメッセージが
表示された場合は、そのまま編集およびインポートしないでください。

本プラグインの機能は「イベントテスト」から実行した場合のみ有効です。
通常のテストプレーおよび製品版には影響を与えません。
(独自データの読み込み機能は例外)

--------------------------------------
プラグインコマンド詳細
--------------------------------------
イベントコマンド「プラグインコマンド」から実行。
(パラメータの間は半角スペースで区切る)

EXPORT_DATABASE
データベースの内容を指定したフォーマットで出力します。

IMPORT_DATABASE
シートファイルを読み込んでデータベースファイルを書き換えます。
エディタに反映させるためには、プロジェクトを開き直す必要があります。

EXPORT_COMMON_EVENT 2
ID[2]のコモンイベントの実行内容を出力します。IDは複数指定可能です。
IDを指定しなかった場合は全てのコモンイベントを出力します。

IMPORT_COMMON_EVENT 3
シートファイルを読み込んでID[3]のコモンイベントを書き換えます。
IDを指定しなかった場合は全てのコモンイベントを書き換えます。

EXPORT_MAP_EVENT 6 20
ID[6]のマップにあるID[20]のイベントの実行内容を出力します。
イベントIDは複数指定可能で省略した場合、全イベントを出力します。
マップIDは省略できません。

IMPORT_MAP_EVENT 6 20
シートファイルを読み込んでID[6]のマップにあるID[20]のイベントの
実行内容を書き換えます。
イベントIDは複数指定可能で省略した場合、全イベントを書き換えます。
マップIDは省略できません。

--------------------------------------
使用ライブラリ
--------------------------------------
Excelデータの解析にはSheetJSのCommunity Editionを使用しています。
http://sheetjs.com/
Copyright (C) 2012-present SheetJS LLC
Licensed under the Apache License, Version 2.0

SheetJSはCDNを通じて提供されるため、プラグイン利用者は別途ライブラリを
導入する必要はありませんが、オフラインで作業する場合やダウンロードできない
場合は、以下の手順に従ってダウンロードしプラグインとして適用してください。

1. 以下のサイトのdist/xlsx.full.min.jsをダウンロードする。
https://github.com/sheetjs/js-xlsx

2. ファイル名を任意の英字に変更する。
(ファイル名に「.」が含まれているとプラグインとして取り込めないため)

3. プラグイン管理画面から有効にする。

ExcelはMicrosoftの登録商標です。

利用規約:
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
についても制限はありません。
このプラグインはもうあなたのものです。
パラメータ
param excelDataPath
text シートデータファイルパス
desc シートデータファイルが出力されるパスです。相対パス、絶対パスが入力できます。
default excelData

param ExportPrefix
text 出力ファイル接頭辞
desc エクスポートファイルに付与される接頭辞です。インポートファイルと分けて保持したい場合に指定してください。
default
param targetDatabase
text 対象データベース
desc 入出力の対象になるデータベースの一覧です。独自に定義したデータファイルを追加できます。
default ["{\"JsonName\":\"Actors\",\"VariableName\":\"\"}","{\"JsonName\":\"Classes\",\"VariableName\":\"\"}","{\"JsonName\":\"Skills\",\"VariableName\":\"\"}","{\"JsonName\":\"Items\",\"VariableName\":\"\"}","{\"JsonName\":\"Weapons\",\"VariableName\":\"\"}","{\"JsonName\":\"Armors\",\"VariableName\":\"\"}","{\"JsonName\":\"Enemies\",\"VariableName\":\"\"}","{\"JsonName\":\"Troops\",\"VariableName\":\"\"}","{\"JsonName\":\"States\",\"VariableName\":\"\"}","{\"JsonName\":\"MapInfos\",\"VariableName\":\"\"}"]
type struct<DatabaseInfo>[]

param fileFormat
text 出力ファイル形式
desc 出力データのファイル形式です。
default xlsx
type select
option xlsx : Excel 2007+ XML Format
value xlsx
option xlsm : Excel 2007+ Macro XML Format
value xlsm
option xlsb : Excel 2007+ Binary Format
value xlsb
option ods : OpenDocument Spreadsheet
value ods
option fods : Flat OpenDocument Spreadsheet
value fods
option csv : Comma Separated Values
value csv
option txt : UTF-16 Unicode Text (TSV)
value txt

param originalDataLoad
text オリジナルデータ読み込み
desc 作成済みのオリジナルJSONデータの読み込み処理を実行します。データファイルがないとエラーになります。
default false
type boolean

param autoImport
text 自動インポート
desc インポート処理を実行してからゲーム開始します。テストプレー時のみ有効です。
default false
type boolean

param exportEventTest
text イベントテスト出力
desc イベントテスト実行時に実行内容を出力します。ただし本プラグインのコマンドを実行した場合は出力されません。
default true
type boolean

param originalDatabaseStack
text データベースの配列化
desc オリジナルデータベースのエクスポート、インポートでIDが同一の行を配列として格納します。
default false
type boolean

param commandPrefix
text メモ欄接頭辞
desc 他のプラグインとメモ欄もしくはプラグインコマンドの名称が被ったときに指定する接頭辞です。通常は指定不要です。
default
ライセンス表記
「data」フォルダの内容を自動でバックアップするプラグインも配布しています。
Copyright (C) 2012-present SheetJS LLC
Licensed under the Apache License, Version 2.0
作者に無断で改変、再配布が可能で、利用形態(商用、18禁利用等)
(C)2015-2018 Triacontane
This software is released under the MIT License.
http://opensource.org/licenses/mit-license.php

紹介ページ https://github.com/triacontane/RPGMakerMV/blob/master/DatabaseConverter.js