HIME Party Manager - HIME_PartyManager.js
シェア用テキスト:
▼HIME Party Manager(HimeWorks様作) - HIME_PartyManager.js
https://plugin.fungamemake.com/archives/26773
ゲームで複数のパーティを作成および管理できます。
ふりがな:ぱーてぃまねーじゃー
機能概要: ゲームで複数のパーティを作成および管理できます。
利用規約(ライセンス):https://fungamemake.com/hime-japanese
作者:HimeWorks
作者サイト:https://himeworks.com/
ダウンロードページ:https://fungamemake.com/archives/3695
ファイル名:HIME_PartyManager.js
プラグインのヘルプ:
/*:ja ------------------------------------------------------------------------- @title Party Manager @author Hime --> HimeWorks (http://himeworks.com) @version 1.11 @date May 1, 2016 @filename HIME_PartyManager.js @url http://himeworks.com/2016/02/party-manager-mv/ あなたが私の仕事を楽しんでいるなら、 パトレオンで私への支援を検討してください! * https://www.patreon.com/himeworks ご質問や懸念がある場合、 次のサイトのいずれかで私に連絡できます。 * Main Website: http://himeworks.com * Facebook: https://www.facebook.com/himeworkscom/ * Twitter: https://twitter.com/HimeWorks * Youtube: https://www.youtube.com/c/HimeWorks * Tumblr: http://himeworks.tumblr.com/ --------------------------------------------------------------------------- @plugindesc v1.11 - 複数のパーティを作成/切り替え/合流等の機能を追加します。 @help 翻訳:ムノクラ https://munokura.tk/ https://twitter.com/munokura/ --------------------------------------------------------------------------- == 説明 == RPGツクールMVには「パーティ」があります。 パーティは、アクターのグループ、アイテム、武器、防具、通貨、 および潜在的にこのグループに関連するその他の情報で構成されます。 デフォルトでは、パーティは1つだけです。 プレーヤーがゲーム全体を通してコントロールするものです。 このプラグインは、追加のパーティと連携するための機能を提供します。 1.新しいパーティを作成できます。 ゲーム内の異なるパーティを表すために、別々のパーティを使用できます。 各パーティは、ストーリーが進むにつれて、 独自のフォロワーとインベントリのセットを持つ場合があります。 2.パーティを切り替えることができます。 ストーリーが1人のパーティから別のパーティに切り替わって、 その場所、パーティ、インベントリ、 その他のパーティ関連の情報を保持したい場合、 代わりに新しいパーティに切り替えることができます。 同じマップ上でパーティをリアルタイムで切り替えて、 複数パーティの制御に関連する追加のメカニズムを構築することもできます。 3.パーティを合流できます。 パーティを合流することにより、 異なるパーティを1つの大きなパーティとしてまとめることができます。 全てのメンバー、インベントリ、その他の情報が合流されます。 これら3つが、Party Manager で使用できる基本機能です。 == 利用規約 == - クレジットを表示する非営利プロジェクトでの使用は無料 - 商用プロジェクトでの使用は無料ですが、連絡してください - クレジット表示をHimeWorksにしてください == Change Log == 1.11 - May 1, 2016 * Implemented actor locking 1.10 - Apr 30, 2016 * added support for checking if actor is in party 1.9 - Apr 2, 2016 * added support for ”max party members” 1.8 - Mar 28, 2016 * fixed bug where merging to an idle party crashes * renamed ”mergeInventory” to ”mergePartyInventory” 1.7 - Mar 11, 2016 * added support for getting idle party event on map by party ID 1.6 - Feb 25, 2016 * Added `get` convenience method 1.5 - Feb 9, 2016 * Fixed bug where $gameParty did not reference the active party on reload * Implemented party inventory trading methods 1.4 - Feb 5, 2016 * fixed display bug where idle parties are drawn before map transfers 1.3 - Feb 4, 2016 * fixed bug where extra sprite remains if you go to the menu and back to map * fixed bug where idle parties on other maps are drawn on current map * fixed bug where starting a map doesn't setup idle party events * added ”anyAtRegion” and ”anyAtPosition” script calls 1.2 - Feb 3, 2016 * fixed bug where `setLocation` wasn't passing in the party ID 1.1 - Feb 2, 2016 * added support for checking party position * added support for checking party region * fixed bug where party position not updated as player moves 1.0 - Feb 1, 2016 * initial release == 使用法 == --- 簡単な要約 --- 複数のパーティの管理には、 1.パーティーの作成 2.パーティーの切り替え 3.パーティの合流 パーティを作成するには、パーティIDを選択する必要があります。 デフォルトのパーティIDは1です。 プラグインパラメーターでカスタマイズできます。 次に、パーティを作成し、アクターをいくつか追加し、 必要に応じて場所を選択します。 マップ5のロケーション(10、12)で、アクター3と4を使用して、 2と呼ばれるパーティを作成したいとします。 スクリプトは次のとおりです。 Party.create(2) Party.addActor(2, 3) Party.addActor(2, 4) Party.setLocation(2, 10, 12, 5) パーティーを設定したら、下記でパーティーを切り替えることができます。 Party.switch(2) 下記で元に戻すことができます。 Party.switch(1) もしセカンドパーティを終了し、パーティ1に合流する場合は下記になります。 Party.merge(2, 1) 複数のパーティを管理するために必要なのはこれだけです。 '待機中パーティ'の高度な使用法は下記をお読みください。 --- パーティ ID --- Party Managerは、'パーティID'の概念を使用し、 ゲーム内の各パーティを識別します。 パーティIDは基本的に、パーティに付ける名前です。 1、2、3のような数字でも、'sub'、'main'などのテキストでも使用できます。 パーティIDは、イベントを使用してパーティを管理するため、 ゲーム全体でパーティを管理する簡単な方法を提供することを目的としています。 --- パーティーの作成 --- プロジェクトはデフォルトで1つのパーティから始まります。 プラグインパラメータで割り当てられているIDをカスタマイズできます。 追加パーティは全て、イベントで作成する必要があります。 パーティを作成するには、スクリプトを使用します Party.create( PARTY_ID ); 次のようなパーティーを作成できます Party.create(2); Party.create(”sub”); --- パーティーアクターの変更 --- 新しいパーティを作成しただけでは、アクターは含まれていません。 下記のスクリプトを使用して、パーティアクターを追加/削除できます。 ACTOR_IDは、データベース内のアクターのIDです。 Party.addActor( PARTY_ID, ACTOR_ID ); Party.removeActor( PARTY_ID, ACTOR_ID); アクター3をパーティ2に追加するには、次のように記述します。 Party.addActor(2, 3); アクター3をパーティ'main'から外すには、次のように記述します。 Party.removeActor(”main”, 3); --- パーティの切り替え --- 追加のパーティを作成したら、それらを切り替えることができます。 パーティを切り替えるには、次のように記述します。 Party.switch( PARTY_ID ); パーティー2に切り替えたい場合、次のように記述します。 Party.switch(2); パーティを切り替えると、制御は選択したパーティに移り、 他のパーティは'待機中'ステートになります。 両方のパーティが同じマップ上にある場合、マップ上で相手を見ることができます。 詳細については、以下の'待機中パーティ'のセクションを参照してください。 --- パーティーの場所の変更 --- このシステムでは、全てのパーティに場所があります。 パーティを切り替えると、ゲームはパーティの現在の場所に変わります。 デフォルトでは、パーティを作成すると、 現在のパーティが置かれている場所に配置されます。 ゲーム中にパーティの場所を変更したい場合、次のように記述します。 Party.setLocation( PARTY_ID, X, Y ); Party.setLocation( PARTY_ID, X, Y, MAP_ID ); XとYはマップ上の位置であり、 MAP_IDはパーティの場所を設定するマップのIDです。 マップIDを省略すると、現在のマップであると見なされます。 --- パーティの合流 --- 2つのパーティを合流したい場合、次のように記述します。 Party.merge(PARTY_ID1, PARTY_ID2) 'パーティID1がパーティID2に合流する'ことを意味します。 最初のパーティが現在のパーティである場合、 ゲーム中では自動的に2番目のパーティに切り替わります。 --- パーティ間取引 --- パーティ間でアイテムと通貨を取引できます。 パーティから別のパーティにアイテムを渡したい場合、次のように記述します。 Party.tradeItem( ID1, ID2, ITEM, COUNT ) ID1はアイテムを受け取るパーティのIDであり、 ID2はアイテムを渡すパーティのIDです。 ITEMはアイテムオブジェクトです。 ゲームには、アイテム、武器、防具、アイテムがあります。 デフォルトでは、次のように記述します。 $dataItems[2] - アイテム 2 $dataWeapons[3] - 武器 3 $dataArmors[12] - 防具 12 COUNT は、取引したいアイテムの量です。 ファーストパーティに十分な量がない場合、失敗するのではなく、 できる限り取引します。 パーティから別のパーティに通貨を取引したい場合、次のように記述します。 Party.tradeGold( ID1, ID2, amount ) パーティID1からパーティID2に一定量の通貨を取引しします。 パーティ1に十分な通貨がない場合、できるだけ多くを取引します。 -- 待機中パーティ -- デフォルトでは、複数のパーティがいる場合、 いつでも1つのパーティのみが'アクティブ'になります。 他のパーティは'待機中'であるとしています。 アクティブなパーティとは、現在管理しているパーティです。 パーティを切り替えると、現在アクティブなパーティとは切り替わります。 待機中パーティは、同じマップ上にある場合、 イベントとしてマップ上に表示されます。 この時点では、それらは単なる視覚的なインジケータであり、何もしません。 ただし、独自のイベントを作成して、 これらの待機中パーティと対話する時、動作を決定することができます。 --- アクティブなパーティー変数 --- プラグインパラメータでは、 'アクティブなパーティ変数'と呼ばれるものを選択できます。 現在アクティブなパーティを追跡する単なるゲーム変数です。 主に、イベントの利便性を目的としています。 RPGツクールMVは変数が数字であると想定していますが、テキストも保存できます。 ただし、条件付き分岐では、 確認するためにスクリプトの条件付き分岐を使用する必要があります。 --- パーティーの場所を確認 --- 待機中パーティはマップ上のイベントですが、 マップイベントとは異なり、これらのイベントには固定IDがありません。 代わりに、パーティの位置を直接確認します。 パーティが特定の場所にいるかどうかを確認したい場合、次のように記述します。 Party.atLocation( PARTY_ID, X, Y ); Party.atLocation( PARTY_ID, X, Y, MAP_ID); MAP_IDが指定されない場合、現在のマップIDであると見なされます。 異なるマップ全体でパーティの位置を確認できることを意味します。 指定の場所にパーティがいるかどうかを知りたい場合、次のように記述します。 Party.anyAtLocation( X, Y ); Party.anyAtLocation( X, Y, MAP_ID ); パーティーが特定のリージョンにいるか確認したい場合、次のように記述します。 Party.atRegion( PARTY_ID, REGION_ID ); 特定のリージョンにパーティがいるか確認したい場合、次のように記述します。 Party.anyAtRegion( REGION_ID ); リージョンIDチェックは、 現在のマップに対してのみ実行できることに注意してください。 --- 待機中パーティイベントリファレンスの取得 --- 待機中パーティを表すイベントへの参照が必要な場合、 次のように記述します。 $gameMap.idlePartyEvent(PARTY_ID) Game_PartyEventオブジェクトへの参照を返します。 特別な待機中パーティーロジックを除き、基本的にGame_Eventと同じです。 --- パーティメンバーの最大数の設定 --- デフォルトでは、 パーティに参加できるメンバーの数に制限はありません。 戦闘に参加するメンバー数とは異なります。 プラグインパラメータでは、 各パーティに入れられるパーティメンバーの上限数を指定できます。 現在のパーティ/特定のパーティ人数が上限か確認したい場合、 次のように記述します。 $gameParty.isPartyFull() Party.isPartyFull( PARTY_ID ) パーティ人数が上限かどうかによって、true / false を返します。 制限を変更したい場合、次のように記述します。 Party.setMaxPartyMembers( PARTY_ID, NUMBER ) --- アクターがパーティに参加しているかどうかを確認する --- アクターが特定のパーティにいるかどうかを確認したい場合、 次のように記述します。 Party.hasActor( PARTY_ID, ACTOR_ID ) 指定されたアクターがそのパーティにいる場合、trueを返します。 --- アクターをパーティにロックする --- アクターをパーティにロックしたい場合、次のように記述します。 ACTOR_IDは、操作するアクターのIDです。 $gameActors.actor( ACTOR_ID ).lockToParty(true) ロックを解除したい場合、次のように記述します。 $gameActors.actor( ACTOR_ID ).lockToParty(false) --------------------------------------------------------------------------- @param Default Party ID @desc 'デフォルトパーティ'のID。ゲームを開始する時の最初のパーティです。 @default 1 @param Active Party Variable @desc 現在のアクティブなパーティを保存するために使用する変数。条件分岐・他のプラグインに便利です。 @default 999 @param Max Party Members @desc パーティに参加できるパーティメンバーの最大数。戦闘に参加しないメンバーを含みます。 @default -1 --------------------------------------------------------------------------- */