当サイトの運営者です。ゲーム制作とプラグイン開発が好きで、コミュニティに貢献したいと考えています。
RPGツクールMZでゲームを制作中です。
※プログラマ・エンジニアではありません。
MPP オブジェクト自由設置 - MPP_ObjectFreePlacement.js

▼MPP オブジェクト自由設置(木星ペンギン様作) - MPP_ObjectFreePlacement.js
https://plugin.fungamemake.com/archives/2239
イベントを自由に設置できる機能を追加します。
ふりがな:おぶじぇくとじゆうせっち
機能概要: イベントを自由に設置できる機能を追加します。
利用規約(ライセンス): MITライセンス
作者:木星ペンギン
作者サイト:https://woodpenguin.web.fc2.com/MV_Plugin/index.html
解説ページ:https://woodpenguin.web.fc2.com/MV_Plugin/ObjFreePlc.ht…
ファイル名:MPP_ObjectFreePlacement.js
プラグインのヘルプ:
/*:
* @plugindesc 【ver.1.1】イベントを自由に設置できる機能を追加します。
* @author 木星ペンギン
*
* @help プラグインコマンド:
* PlacementObj obId # プレイヤーの前方にオブジェクト設置
* PlacementObjPos obId x y # 指定した座標にオブジェクト設置
* EraseObj evId # 指定したオブジェクトを削除
* ClearObj mapId # オブジェクトの全削除
*
* ※ プラグインコマンドにて指定する値には変数が使用できます。
* v[n] と記述することでn番の変数の値を参照します。
*
* 設置するイベントのメモ:
* <PlcCdt:n> # 設置条件の番号
*
* スクリプト全般:
* $gamePlayer.canPlcObj(obID) # プレイヤーがオブジェクトを設置できるかどうか
* $gamePlayer.canPlcObjPos(obID, x, y)
* # 座標にオブジェクトを設置できるかどうか
* $gamePlayer.plcObjId() # 直前に設置したオブジェクトのイベントID
* $gameMap.plcObjId(x, y) # 座標にあるオブジェクトのIDを取得
*
* ================================================================
* ▼プラグインコマンド詳細
* --------------------------------
* 〇 PlacementObj obId
* obId : 設置するオブジェクトID
*
* プレイヤーの位置から向いている方向へ設置距離の位置に
* オブジェクトを設置します。
*
* 設置されたオブジェクトには使用されていない適当なイベントIDが
* 割り当てられます。
*
* --------------------------------
* 〇 PlacementObjPos obId x y
* obId : 設置するオブジェクトID
* x : 設置するX座標
* y : 設置するY座標
*
* 指定した座標にオブジェクト設置します。
* 設置条件の設置距離は無視されます。
*
* 設置されたオブジェクトには使用されていない適当なイベントIDが
* 割り当てられます。
*
* --------------------------------
* 〇 EraseObj evId
* evId : イベントID
*
* 指定したイベントIDのオブジェクトを削除します。
*
* --------------------------------
* 〇 ClearObj mapId
* mapId : マップID(-1:全マップ / 0or未設定:現マップ)
*
* 指定したマップの全オブジェクトを削除します。
*
*
* ================================================================
* ▼スクリプト全般詳細
* --------------------------------
* 〇 $gamePlayer.canPlcObj(obID)
* obID : オブジェクトID
*
* プレイヤーが現在の位置から指定したIDのオブジェクトを
* 設置できるかどうかを返します。
*
* --------------------------------
* 〇 $gamePlayer.canPlcObjPos(obID, x, y)
* obID : オブジェクトID
* x : X座標
* y : Y座標
*
* 指定した座標(x, y)に指定したIDのオブジェクトが設置できるかどうかを返します。
*
* --------------------------------
* 〇 $gamePlayer.plcObjId()
*
* 直前に設置したオブジェクトに割り当てられたイベントIDを返します。
* 設置条件が合わず設置されなかった場合は0を返します。
*
* --------------------------------
* 〇 $gameMap.plcObjId(x, y)
* x : X座標
* y : Y座標
*
* 指定した座標(x, y)にあるオブジェクトのIDを取得します。
* オブジェクトがない場合は0を返します。
* 複数のオブジェクトがある場合は、一番若いIDを返します。
*
*
* ================================================================
* ▼プラグインパラメータ詳細
* --------------------------------
* 〇オブジェクトとして読み込むマップのID[Objects Map Id]
* 指定したマップのイベントが自由設置のオブジェクトとなります。
* イベントIDがそのままオブジェクトIDとなります。
*
* 〇設置条件[Conditions]
* 通行判定[Passable?]はプレイヤーの位置から設置距離まで判定を行います。
* 設置距離が0の場合はプレイヤーと同位置に設置します。
*
* 衝突判定[Collide?]・地形タグ[Tags]・リージョンID[Regions]は
* 設置位置のみ判定します。
*
* 〇地形タグ/リージョンIDの配列指定
* 数値を配列で設定する際、
* n-m と表記することでnからmまでの数値を指定できます。
* (例 : 1-4,8,10-12 => 1,2,3,4,8,10,11,12)
*
* 〇コマンドの名前変更について
* プラグインコマンドや注釈で使用するコマンドは、
* プラグインパラメータから変更できます。
*
* コマンドを短くしたり日本語にしたりなどして、
* 自分が使いやすいようにしてください。
*
* プラグインコマンドのみ、変更後もデフォルトのコマンドでも動作します。
*
*
* ================================================================
* ▼その他
* 〇設置したオブジェクトが[イベントの一時消去]を実行した場合、
* そのオブジェクトは削除されます。
*
* 〇イベントの画像にタイル画像を使う場合、
* 設置したマップのタイル画像が適用されます。
*
* 〇他のプラグインで、イベントのメモや注釈を使った機能には対応しています。
* ただし、他サイトさんのプラグインには対応できない可能性があります。
*
* ================================================================
* 制作 : 木星ペンギン
* URL : http://woodpenguin.blog.fc2.com/
* mail : wood_penguin@yahoo.co.jp
*
* @param Objects Map Id
* @type number
* @min 1
* @desc オブジェクトとして読み込むマップのID
* @default 1
*
* @param Conditions
* @type struct<Condition>[]
* @desc 設置条件の配列
* (上から順に番号 1,2,3... となります)
* @default []
*
* @param === Command ===
*
* @param Plugin Commands
* @type struct<Plugin>
* @desc プラグインコマンド名
* @default {”PlacementObj”:”PlacementObj”,”PlacementObjPos”:”PlacementObjPos”,”EraseObj”:”EraseObj”,”ClearObj”:”ClearObj”}
* @parent === Command ===
*
* @param Event Metadata
* @type struct<EventMeta>
* @desc イベントメモ欄のデータ名
* @default {”PlacementCondition”:”PlcCdt”}
* @parent === Command ===
*
*
*
*/
/*~struct~Condition:
* @param Distance
* @type number
* @desc 設置距離
* @default 1
*
* @param Passable?
* @type boolean
* @desc 通行判定を行うかどうか
* @default true
*
* @param Collide?
* @type boolean
* @desc 他のイベント(設置オブジェクト含む)との衝突判定を行うかどうか
* @default true
*
* @param Tags
* @desc 設置可能な地形タグ
* (範囲指定可 / 未設定で指定なし)
* @default
*
* @param Regions
* @desc 設置可能なリージョンID
* (範囲指定可 / 未設定で指定なし)
* @default
*
*/
/*~struct~Plugin:
* @param PlacementObj
* @desc プレイヤーの前方にオブジェクトを設置
* @default PlacementObj
*
* @param PlacementObjPos
* @desc 指定した座標(x,y)にオブジェクトを設置
* @default PlacementObjPos
*
* @param EraseObj
* @desc オブジェクトを削除
* @default EraseObj
*
* @param ClearObj
* @desc オブジェクトの全削除
* @default ClearObj
*
*/
/*~struct~EventMeta:
* @param PlacementCondition
* @desc 設置条件の番号
* @default PlcCdt
*/