プラグインパラメータの「@​type」について

ツクる上でのちょっとした小ネタや裏ワザなどを紹介してみましょう。

トピックの投稿

返信へ
バナナ
記事: 14
登録日時: 2016年1月16日(土) 01:41
投稿素材

プラグインパラメータの「@​type」について

投稿記事 by バナナ »

2018-02-12
- 公式ブログへのリンクを移転先に修正しました。
- パラメータの一括型変換を簡略化しました。
2018-02-22
- 構造名には記号を使用できない旨を追記しました。

---

公式ブログにて情報が公開されました。

RPGツクールMV ver1.5.0以降のプラグインパラメータに関して
http://rpgtkool.hatenablog.com/entry/2017/09/27/165443

---

プラグインのパラメータは「@​type」によって入力ウィンドウのタイプを指定できます。
v1.5.0 時点で確認できた仕様は以下の通りです。

データ型に基づくタイプ

コード: 全て選択

@param 文字列型
@type string

@param 数値型
@type number
@min -255
@max 255
@decimals 1

@param 論理型
@type boolean
@on ON
@off OFF

@param 配列型
@type 任意のタイプ[]

@param 構造型
@type struct<構造名>

/*~struct~構造名:
 * @param パラメータ1
 * @param パラメータ2
 */
※構造名は記号不可

特殊なタイプ

コード: 全て選択

@param ファイル
@type file
@require 1
@dir img/animations

@param セレクトボックス
@type select
@option オプション1
@value 1
@option オプション2
@value 2
@default 1

@param コンボボックス
@type combo
@option オプション1
@option オプション2

@param ノート
@type note
データベースの参照

コード: 全て選択

@param 変数
@type variable

@param スイッチ
@type switch

@param アクター
@type actor

@param 職業
@type class

@param スキル
@type skill

@param アイテム
@type item

@param 武器
@type weapon

@param 防具
@type armor

@param 敵キャラ
@type enemy

@param 敵グループ
@type troop

@param ステート
@type state

@param アニメーション
@type animation
@require 1

@param タイルセット
@type tileset

@param コモンイベント
@type common_event
その他のタグ

コード: 全て選択

@param 親パラメータ
@param 子パラメータ
@parent 親パラメータ
@desc パラメータを階層化して表示します

@param sample
@text サンプル
@desc パラメータの表示名を変更します
おまけ:パラメータの一括型変換
値の型を自動で判定して変換します。入れ子対応。
値が計算式やJavaScriptであれば実行します。コアスクリプト非対応。

コード: 全て選択

var parameters = PluginManager.parameters(プラグイン名);

var param = JSON.parse(JSON.stringify(parameters, function(key, value) {
    try {
        return JSON.parse(value);
    } catch (e) {
        try {
            return eval(value);
        } catch (e) {
            return value;
        }
    }
}));
おまけ:パラメータの一括初期化
パラメータの設定値がnullであれば初期値を代入します。※処理に時間がかかります。

コード: 全て選択

var _parameters = {
    パラメータ名1: 初期値1,
    パラメータ名2: 初期値2,
        :
};

Object.keys(_parameters).forEach(function(key) {
    if (parameters[key] === null) parameters[key] = _parameters[key];
});
おまけ:パラメータの取得
パラメータ名がJavaScript準拠であればドット連結で参照できます。

コード: 全て選択

parameters.paramString
parameters.paramArray[0]
parameters.paramStruct.param1
確認バージョン
RPGツクールMV 1.5.0 ~ 1.6.0

サンプルについて
公式ヘルプには明記されていないタグを含みます。
ヘルプに明記されているタイプは file と animation のみです。
動作の保証、更新の保証はありません。

データ型について
従来通り、値はすべて文字列として保存されます。
false の扱いに注意してください。

number について
通常は自然数のみ扱います。
  min/max の最小値/最大値は片方のみの指定も可能です。
  min で指定範囲までのマイナス値を扱えるようになります。
  max をマイナス値にする場合は min もマイナス値にしてください。
  decimals で指定桁の小数を扱えるようになります。
number で扱える値
  最小値: -9,007,199,254,740,992 (-2^53)
  最大値: 9,007,199,254,740,992 (2^53)
JavaScript で安全に扱える値
  最小値: -9,007,199,254,740,991 (-2^53-1)
  最大値: 9,007,199,254,740,991 (2^53-1)
安全な値に整形する場合は Number.clamp() を使用してください。

file について
dir 以下のファイルパスまたはフォルダパスを取得します。拡張子は含みません。
未使用ファイルの処理に対応するには require を使用してください。
img, audio 以下の子フォルダは新規フォルダを参照できます。
img, audio 以外の親フォルダは参照できません。

参考元
マンカインド様 情報提供
  min/maxについて
  text/common_event/valueについて
SumRndmDde様 プラグイン
  SRD_CreditsPlugin.js
  SRD_GameUpgrade.js
  SRD_PreloaderCore.js
orzfly様 海外フォーラム投稿
とても参考になりました。ありがとうございます。

ダウンロード
各タイプのUIを確認できるサンプルプラグインを作成しました。
実用的なプラグインではないためTIPSとして投稿します。
添付ファイル
!ParamSample.js
v1.4.1 2018-02-12
(9.44 KiB) ダウンロード数: 164 回
!ParamSample.js
v1.4.0 2017-09-01
(9.87 KiB) ダウンロード数: 93 回
最後に編集したユーザー バナナ [ 2018年2月22日(木) 10:04 ], 累計 15 回

返信 2 / 2ページ

アバター
管理人:弓猫
管理人
記事: 120
登録日時: 2015年11月10日(火) 09:51
投稿素材

Re: 【7/15更新】プラグインパラメータの「@​type」について

投稿記事 by 管理人:弓猫 »

バナナ さんが書きました:> 弓猫さん
@parentによる参照はできませんが、構造体による参照は可能です。
処理は海外製プラグインのSRD_GameUpgrade.jsが参考になりそうです。
http://sumrndm.site/game-upgrade/

仕様上、@parentより構造体のほうが簡潔なデータと処理で実現できるため、
親子参照とパラメータ名重複=構造体と考えて問題ありません。
回答ありがとうございます。
ああ~、構造体なら可能なんですね。それでやってみます。
SED~のプラグインはそのまま検索しても出なかったので、どこの素材なのかなあと気になっていたため、非常に助かります。
-----------------------------------------------------------------
ツクマテ管理人です。よろしくお願いします :D

【お問い合わせ】https://goo.gl/forms/J4aDIZlSNUot20NV2

-----------------------------------------------------------------
バナナ
記事: 14
登録日時: 2016年1月16日(土) 01:41
投稿素材

Re: 【7/15更新】プラグインパラメータの「@​type」について

投稿記事 by バナナ »

本当だ…こちらの配慮不足でお手数おかけしました。

本文からプラグインの配布元を参照できるようリンクを追加しました。
ご指摘ありがとうございました。
アバター
マンカインド
記事: 123
登録日時: 2016年6月01日(水) 23:58
お住まい: 電子の海
連絡する:

Re: 【8/9更新】プラグインパラメータの「@​type」について

投稿記事 by マンカインド »

いくつかプラグイン設定を見つけましたので共有させていただきます。

@text 表示名
プラグインパラメータの表示名を変更できます。(パラメータのアクセス方法は変わりません)

@type common_event
コモンイベントを選択できるようになります。

サンプル:

コード: 全て選択

@param commonEvent
@text コモンイベント
@type common_event
@desc コモンイベントIDを選択
@value
@optionと一緒に使用する。プラグインパラメータ選択時は@optionの文字列が表示されるが、
実際にプラグインパラメータとして取得するのは@valueの値になります。

サンプル:

コード: 全て選択

@param modeSelect
@type select
@option モード1
@value 1
@option モード2
@value 2
@option モード3
@value 3
@desc モードを選択
--------------------------------------------------------------------------------------------------------------
[Twitter] https://twitter.com/mankind_games/
[GitHub] https://github.com/mankindGames/
[Blog] http://mankind-games.blogspot.jp/

--ゲーム作るよりシステム作って満足しちゃう人--
バナナ
記事: 14
登録日時: 2016年1月16日(土) 01:41
投稿素材

Re: 【8/9更新】プラグインパラメータの「@​type」について

投稿記事 by バナナ »

> マンカインドさん

貴重な情報ありがとうございます。

コモンイベントの参照できたんですね!
これでアクターからコモンイベントまでの重要なデータベース参照が揃いました。
text や value もユーザ向けの表示を残しつつ内部で扱いやすい値を指定できてとても助かります。

トップの一覧にも追加させて頂きました。
また見つかりましたらよろしくお願いします。
rumble
記事: 7
登録日時: 2015年11月10日(火) 16:07

Re: 【9/28更新】プラグインパラメータの「@​type」について

投稿記事 by rumble »

>バナナさん

初めまして。
新しい仕様の解説記事、ありがとうございます。大変参考になります。
ひとつお伺いしたいのですが、こちらの記事で紹介されていらっしゃいます
「パラメータの一括型変換」等を参考にプラグイン等の開発させて頂いても大丈夫でしょうか……?
(現在開発中の拙作プラグインに、コピペをさせて頂きたいというお願いであります…)

御検討の程、宜しくお願い致します。
バナナ
記事: 14
登録日時: 2016年1月16日(土) 01:41
投稿素材

Re: 【9/28更新】プラグインパラメータの「@​type」について

投稿記事 by バナナ »

> rumbleさん
返信が遅くなり申し訳ありません。ご質問ありがとうございます。

この記事のサンプルスクリプトはどなたでも自由にご利用いただけます。
コピペはもちろん、改変、配布、販売、使用先についての制限もありません。
クレジット表示や利用報告等も不要です。

少しでもお役に立てれば幸いです。
アバター
しぐれん
記事: 975
登録日時: 2017年3月28日(火) 22:22
投稿素材
連絡する:

Re: プラグインパラメータの「@​type」について

投稿記事 by しぐれん »

非情に厄介な問題に遭遇したので報告。
@type struct<T>でTに_(アンダースコア)を使うと、クラスとして認識されません。
ちょっと厄介ですね。
現在、プラグイン依頼はお休み中です。
バナナ
記事: 14
登録日時: 2016年1月16日(土) 01:41
投稿素材

Re: プラグインパラメータの「@​type」について

投稿記事 by バナナ »

> しぐれんさん
確認しました。どうやら構造名には記号を使用できないようですね。
念のため本文に追記させていただきました。
ご報告ありがとうございました。
返信する

“MV:小ネタ・TIPS・講座”に戻る