MPP オブジェクト自由設置 - MPP_ObjectFreePlacement.js

シェア用テキスト:
▼MPP オブジェクト自由設置(木星ペンギン様作) - MPP_ObjectFreePlacement.js
https://plugin.fungamemake.com/archives/2239
イベントを自由に設置できる機能を追加します。

ふりがな:おぶじぇくとじゆうせっち

機能概要: イベントを自由に設置できる機能を追加します。

利用規約(ライセンス): MITライセンス

作者:木星ペンギン

作者サイト:http://woodpenguin.blog.fc2.com/

ダウンロードページ:http://woodpenguin.web.fc2.com/MV_Plugin/ObjFreePlc.htm…

ファイル名: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
 */

スポンサードリンク

スポンサードリンク

Copyright© #ツクプラ , 2024 All Rights Reserved.