当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
装備変更時に簡易イベントを発生させる - SwitchCompression.js
シェア用テキスト:
▼装備変更時に簡易イベントを発生させる(ひち様作) - SwitchCompression.js
https://plugin-mz.fungamemake.com/archives/4448
装備変更しようとした時に簡単なイベントを発生させるよ。デフォ機能の装備固定で終わる話なんだけど、あえて直前まで操作できちゃうのがポイント。特別な装備感を演出するために作りました。
ふりがな:そうびへんこうじにかんいいべんとをはっせいさせる
機能概要: 装備変更しようとした時に簡単なイベントを発生させるよ。デフォ機能の装備固定で終わる話なんだけど、あえて直前まで操作できちゃうのがポイント。特別な装備感を演出するために作りました。
利用規約(ライセンス): MITライセンス
作者:ひち
作者サイト:https://twitter.com/hichi_gamebuild
解説ページ:https://github.com/hichi-gamebuild/RPGMakerMZ/blob/main…
ファイル名:SwitchCompression.js
プラグインのヘルプ:
/*: * @target MZ * @plugindesc スイッチとセルフスイッチを圧縮し、セーブ容量を削減するプラグイン。 * @author ひち * * @help SwitchCompression.js * * スイッチ・セルフスイッチのデータを圧縮し、セーブファイルの容量を削減するよ。 * * 使用方法については、基本的にプラグインを導入するだけでオッケー! * 設定も特別な理由がない限りデフォルトのままで大丈夫。 * * でも効果は正直微妙で、AtsumaruSaveCompression.js ほどの劇的変化はなく、 * 大抵の場合は焼け石に水(50~200バイト程度)で終わっちゃうと思います。 * というか、人によっては逆に増える可能性まであるから、過度な期待はしないでね! * * AtsumaruSaveCompression.js と併用はできるので、効果を増幅させるプラグイン、 * という風に思っていただけるといいかなーって思ってます。 * * 主にセルフスイッチを沢山使っているほど恩恵が大きい傾向があります。 * どれだけ圧縮できるかはゲーム環境にかなり依存するので、 * ある程度ゲームの形が出来てからプラグインコマンドで各機能の ON / OFF を * 切り替えながら最終的に使うかどうかを判断しちゃって下さいませ! * * 使い方の例外として、セルフスイッチの拡張、例えば ABCD 以外の E~ とか、 * イベントにセルフ変数とかを追加してセーブするような凝ったゲームシステムだと * 正常に動作しない可能性があります。(一応、対応オプション用意しています) * * ちなみに一度このプラグインでセーブデータに圧縮をかけた後、 * プラグイン自体を OFF にしてしまうとセーブデータが正常に読み込めなくなるよ。 * セーブデータを元に戻したい場合は、プラグイン内のオプションを切り替えて * 圧縮しない方式にしてからセーブデータを読み込み、その後もう一度セーブしてね。 * -------------------------------------------------------------------- * 【 通常スイッチの圧縮 】 * * 通常スイッチのデータを圧縮する機能。 * 設定で true にしておけば勝手に動作するよ。 * * 圧縮の都合上、ロード時にスイッチ最大数が 8 の倍数に修正されちゃいます。 * 例えば、81個のスイッチを定義していた場合、88個になる、という事です。 * * 実は圧縮効率がそこまで良くない機能なので、 * 場合によっては使わない方が容量が少ないこともあったり… * true / false 両方試してみて、使うかどうかを判断してね。 * (プラグインコマンドでゲーム中でも一時的に変更できます) * * -------------------------------------------------------------------- * 【 セルフスイッチの圧縮 】 * * セルフスイッチのデータを圧縮する機能。 * 設定で true にしておけば勝手に動作するよ。 * * 圧縮の都合で、ちょっとした制限がかかっちゃいます。 * ・マップ数上限は 1023 まで * ・イベント数上限はひとつのマップにつき 1023 まで * プラグインなどで限界突破させている場合は注意してね! * * 調べてみた限り、セルフスイッチは結構セーブ容量を食う傾向があるみたい。 * 多用している人はかなりの恩恵があると思うので、是非とも使用してみてね。 * (プラグインコマンドでゲーム中でも一時的に変更できます) * * -------------------------------------------------------------------- * 【 不要セルフスイッチの削除 】 * * セーブ時に存在しないイベントのセルフスイッチを削除する機能。 * 設定で true にしておけば勝手に動作するよ。 * (デフォルトは false なので、使うなら true にしてね) * * これはセーブデータ圧縮というより、 * 行方不明になったセルフスイッチのお掃除機能です。 * 全てのマップを完璧にお掃除できる訳ではないので、過度な期待はしないでね。 * (ゲーム起動時から一度でも進入した事のあるマップ内しか見ないため) * * ゲーム全体が綺麗な設計をしている場合、使いどころはぶっちゃけ無いです。 * (プラグインコマンドでゲーム中でも一時的に変更できます) * * -------------------------------------------------------------------- * 【 キーネーム 01 ~ 12 】 * * セーブ対象とするセルフスイッチのキーネーム。 * 01 ~ 04 はよほどの理由がなければデフォルトのままにしておいてね。 * * 05 ~ は追加定義用で、プラグインなんかで ABCD だけでなく * E ~ のようにセルフスイッチを追加した場面を想定して用意しています。 * よくわかんない場合は空欄にしておいてね。 * (ちなみに追加定義分は動作確認してません!ごめん!ごめんて!) * * -------------------------------------------------------------------- * * @command changeNormalSwitchCompression * @text 「通常スイッチの圧縮」の変更 * @desc 「通常スイッチの圧縮」機能を使用するかどうか変更できます。 * どれだけの差が出るかを見る時などにお使い下さい。 * * @arg useflag * @text 圧縮機能の使用 * @desc OFF(false) にするとセーブが通常処理に戻ります。 * ロードはプラグインが有効な限り、どちらでも読めます。 * @default true * @type boolean * * @command changeSelfSwitchCompression * @text 「セルフスイッチの圧縮」の変更 * @desc 「セルフスイッチの圧縮」機能を使用するかどうか変更できます。 * どれだけの差が出るかを見る時などにお使い下さい。 * * @arg useflag * @text 圧縮機能の使用 * @desc OFF(false) にするとセーブが通常処理に戻ります。 * ロードはプラグインが有効な限り、どちらでも読めます。 * @default true * @type boolean * * @command changeSelfSwitchNothingRemove * @text 「不要セルフスイッチの削除」の変更 * @desc 「不要セルフスイッチの削除」機能を使用するかどうか変更できま * す。どれだけの差が出るかを見る時などにお使い下さい。 * * @arg useflag * @text 削除機能の使用 * @desc OFF(false) にすると不要セルフスイッチの削除が無効となり、 * 全てのセルフスイッチを保存するようになります。 * @default true * @type boolean * * @param normalSwitchCompression * @text 通常スイッチの圧縮 * @desc 通常スイッチを圧縮します。 * 圧縮率が微妙なため、使用しない方が良い場合もあります。 * @type boolean * @default true * * @param selfSwitchCompression * @text セルフスイッチの圧縮 * @desc セルフスイッチを圧縮します。 * セルフスイッチは圧縮率が高いので使用推奨です。 * @type boolean * @default true * * @param selfSwitchNothingRemove * @text 不要セルフスイッチの削除 * @desc 存在しないイベントのセルフスイッチを削除します。 * ゲーム起動時から進入したマップまでを対象とします。 * @type boolean * @default false * * @param selfSwitchKey01 * @text キーネーム 01 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 01 ~ 04 は、なるべく変更しない事をお勧めします。 * @type string * @default A * * @param selfSwitchKey02 * @text キーネーム 02 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 01 ~ 04 は、なるべく変更しない事をお勧めします。 * @type string * @default B * * @param selfSwitchKey03 * @text キーネーム 03 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 01 ~ 04 は、なるべく変更しない事をお勧めします。 * @type string * @default C * * @param selfSwitchKey04 * @text キーネーム 04 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 01 ~ 04 は、なるべく変更しない事をお勧めします。 * @type string * @default D * * @param selfSwitchKey05 * @text キーネーム 05 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey06 * @text キーネーム 06 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey07 * @text キーネーム 07 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey08 * @text キーネーム 08 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey09 * @text キーネーム 09 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey10 * @text キーネーム 10 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey11 * @text キーネーム 11 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string * * @param selfSwitchKey12 * @text キーネーム 12 * @desc セルフスイッチの判定に使うキーネームを定義します。 * ※ 05 ~ は ABCD 以外に追加した場合に定義して下さい。 * @type string */