# \[RPG Maker MZ プラグイン\] バトルパスシステム v1.2.0

**URL:** <https://guild.rpgmakerofficial.com/t/topic/2835>\
**Category:** プラグイン\
**Tags:** english, plugin, mz\
**Created:** [2026 年 9 月 4 日午後 2:17 UTC](https://guild.rpgmakerofficial.com/t/topic/2835 "2026-09-04T14:17:37Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![JustDeveloper](https://sea2.discourse-cdn.com/flex002/user_avatar/guild.rpgmakerofficial.com/justdeveloper/32/6224_2.png) [@JustDeveloper](https://guild.rpgmakerofficial.com/u/JustDeveloper)\
**Post date:** [2026 年 9 月 4 日午後 2:17 UTC](https://guild.rpgmakerofficial.com/t/topic/2835/1 "2026-09-04T14:17:37Z")

</div>

# [RPG Maker MZ プラグイン] Battlepass System v1.2.0 — 最大限の自由度、ビジュアルエディタ、日次/週次クエスト

* * *

### **by Rpx & Just Dev**

* * *

# ギャラリー

 ![Screenshot 2026-09-04 155217](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/9/978c57d12db2b2cb443d25fd356660d031b06ac7.jpeg)  
 ![Screenshot 2026-09-04 155540](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/5/577737c758e0d7b254689123ce04bffbba584d0b.jpeg)  
 ![Screenshot 2026-09-04 155553](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/a/a3f6cbdbada7cdcabb0492791d47b5b87d4ebd32.jpeg)  
 ![Screenshot 2026-09-04 155742](https://us1.discourse-cdn.com/flex002/uploads/rpgmaker_community/original/2X/e/ef44646c620dc916457b6ea724ebd7170815e3cf.jpeg)

> **RPG Maker MZ 用の商業グレードのバトルパスシステム。最大限の自由度を提供：あらゆる報酬タイプ、柔軟なプレミアムコスト、シーズン日程、そして完全なビジュアルエディタを搭載しています。**

* * *

## **📌 これは何ですか？**

このプラグインは、RPG Maker MZ のゲームを **フォートナイト、ブロルハル、または季節進行システムを備えたAAAタイトルのようなモダンなバトルパス体験** に変換します。プレイヤーはゲームプレイを通じて **バトルポイント (BP)** を獲得し、ティアをレベルアップして、 **無料** および **プレミアム** トラックの報酬をアンロックします。

* * *

## **✨ 機能概要**

- **最大 999 レベル** 、各レベルの BP 要件には JS 数式を使用可能
- **2つのトラック：** 無料 + プレミアム、報酬は完全にカスタマイズ可能
- **MZ がサポートするあらゆる報酬タイプ：**
  - ゴールド、アイテム、武器、防具、スキル
  - 変数、スイッチ、アクター、クラス
  - 経験値、レベル、ステート
  - BGM/BGS/ME/SE、コモンイベント
  - カスタムスクリプト (JS 実行)
  - 1レベルあたり複数の報酬

- **完全なビジュアルエディタ** — 報酬ティア、日次/週次ミッションは構造テーブルで、行をクリックして編集可能（もはや一行の JSON は不要！）
- **柔軟なプレミアムコスト** — ゴールド、変数、スイッチ、レベル、アイテム/武器/防具の組み合わせ（AND条件）
- **シーズンシステム** — START/END 日付 + カウントダウン（自動/日/週/両方/時分秒形式）
- **日次および週次ミッション** — 自動リセット、それぞれが BP を付与
- **ポップアップ通知** 、オプションでメインメニュー統合
- **プラグインコマンド** + `$gameBattlepass` API

* * *

## **📺 動画チュートリアル**

> YouTube で完全なセットアップガイドをご覧ください：  
> **youtu be / YOUR\_VIDEO\_ID** _(スペースを削除してください)_

* * *

## **⚡ クイックセットアップ**

1. `BattlepassSystem.js` を `js/plugins/` フォルダにコピー
2. プラグインマネージャーで有効化
3. `MaxLevel`、`BPFormula`、`RewardData` を設定
4. (オプション) `PremiumCost` / `PremiumItemId` を設定
5. メニューに自動追加するか、プラグインコマンドで呼び出し：  
`Battlepass OpenBattlepass`
6. イベントから BP を付与：`Battlepass AddBP 100`

* * *

## **📋 パラメータ概要**

| パラメータ | 説明 | デフォルト |
| --- | --- | --- |
| **MaxLevel** | 到達可能な最大レベル | `50` |
| **BPFormula** | `level` を使用する JS 式 | `100 * level` |
| **BattlepassName** | ヘッダータイトル | `Battlepass` |
| **MenuIcon / AddToMenu** | メニュー統合 | `0` / `true` |
| **PremiumCost** | ゴールド価格 | `1000` |
| **PremiumItemId** | 代替通貨 | `0` (無効) |
| **GainBPOnVictory** | 勝利時に自動 BP 付与 | `false` |
| **BPAwardPerVictory** | 数値または数式 | `15` |
| **RewardData / RewardTiers** | 視覚的ティアエディタ | `[]` |
| **SeasonDurationDays** | シーズンの長さ | `60` |
| **SeasonCountdownFormat** | タイマー表示形式 | `auto` |
| **SeasonStartDate** | 固定開始日 | 空 |
| **SeasonExpireBehavior** | なし / リセット通知 | `none` |
| **DailyMissions / WeeklyMissions** | 視覚的ミッションエディタ | (例) |
| **DailyResetHour** | 日次リセット時刻 | `5` |
| **WeeklyResetWeekday** | 週次リセット曜日 | `1` |
| **NotificationDuration** | ポップアップのフレーム数 | `120` |
| **SoundEffectClaim / LevelUp** | SE 名 | `Item3` / `Up4` |

* * *

## **🎁 報酬データの例**

```auto
[
  {"level":1, "free":[{"type":"gold","value":300}], "premium":[{"type":"item","id":5,"amount":2}]},
  {"level":2, "free":[{"type":"weapon","id":3}], "premium":[{"type":"skill","id":10}]},
  {"level":3, "free":[{"type":"variable","id":10,"value":1,"mode":"add"}], "premium":[{"type":"switch","id":5,"value":true}]},
  {"level":5, "free":[{"type":"commonEvent","id":3}], "premium":[{"type":"script","value":"$gameVariables.setValue(20, 999)"}]},
  {"level":10,"free":[{"type":"armor","id":4,"amount":1}],"premium":[{"type":"gold","value":1500},{"type":"item","id":1,"amount":5}]}
]

```

### **サポートされている報酬タイプと必須フィールド：**

| タイプ | 必須フィールド | 備考 |
| --- | --- | --- |
| `gold` | `value: number` | ゴールドの量 |
| `item` | `id: number`, `amount?: number` | アイテムデータベースID |
| `weapon` | `id: number`, `amount?: number` | 武器データベースID |
| `armor` | `id: number`, `amount?: number` | 防具データベースID |
| `skill` | `id: number` | 部隊リーダーに習得 |
| `variable` | `id: number`, `value: any`, `mode?: “set” | “add”` |
| `switch` | `id: number`, `value?: boolean` | デフォルト: true |
| `commonEvent` | `id: number` | “common\_event” / “event” も可 |
| `script` | `value: string` | JS 実行; `a`=リーダー, `v`=変数, `s`=スイッチ |
| `actor` | `id: number` | アクターを部隊に追加 |
| `class` | `actorId: number`, `classId: number`, `keepExp?: boolean` | デフォルト keepExp: true |
| `exp` | `value: number`, `actorId?: number` | 0 = 部隊全員 |
| `level` | `value: number`, `actorId?: number` | 0 = 部隊全員 |
| `state` | `id: number`, `actorId?: number` | 0 = 部隊全員 |
| `bgm` / `bgs` / `me` / `se` | `name: string` | オーディオファイル名 |

* * *

## **🎯 ミッションの例**

### **日次ミッション：**

```auto
[
  {"id":"d1","name":"戦士の義務","desc":"3戦勝利","type":"win_battle","target":3,"bp":30,"icon":76},
  {"id":"d2","name":"宝探し","desc":"500ゴールド獲得","type":"earn_gold","target":500,"bp":25,"icon":314},
  {"id":"d3","name":"スレイヤー","desc":"10体の敵を倒す","type":"kill_enemies","target":10,"bp":40,"icon":16}
]

```

### **週次ミッション：**

```auto
[
  {"id":"w1","name":"ベテラン","desc":"15戦勝利","type":"win_battle","target":15,"bp":120,"icon":160},
  {"id":"w2","name":"金持ちで有名に","desc":"5000ゴールド獲得","type":"earn_gold","target":5000,"bp":150,"icon":314}
]

```

### **ミッションタイプ：**

- `win_battle` — X 戦勝利
- `kill_enemies` — X 体の敵を倒す
- `earn_gold` — X ゴールド獲得
- `gain_item` — X 個のアイテムを取得
- `use_item` — X 個のアイテムを使用
- `gain_bp` — X BP 獲得
- `custom` — プラグインコマンドまたはスクリプトコールを使用

* * *

## **⌨ プラグインコマンド (MZ 1.5+)**

| コマンド | 例 | 説明 |
| --- | --- | --- |
| `Battlepass AddBP` | `Battlepass AddBP 100` | BP を追加 |
| `Battlepass RemoveBP` | `Battlepass RemoveBP 20` | BP を削除（下限あり） |
| `Battlepass SetBP` | `Battlepass SetBP 350` | BP を絶対値に設定 |
| `Battlepass SetLevel` | `Battlepass SetLevel 10` | レベルにジャンプ |
| `Battlepass AddLevel` | `Battlepass AddLevel 5` | レベルを追加（負の値で減算） |
| `Battlepass SubtractLevel` | `Battlepass SubtractLevel 3` | レベルを減算 |
| `Battlepass UnlockPremium` | — | プレミアムを即時付与 |
| `Battlepass SetPremium` | `Battlepass SetPremium true/false` | プレミアムを有効/無効化 |
| `Battlepass ResetBattlepass` | — | 進行状況を消去（テスト用） |
| `Battlepass OpenBattlepass` | — | Scene\_Battlepass を開く |
| `Battlepass OpenMissions` | — | ミッションシーンを開く |
| `Battlepass AddMissionProgress` | `Battlepass AddMissionProgress kill_enemies 5` | ミッションタイプを進める |
| `Battlepass ClaimMission` | `Battlepass ClaimMission d1` | ID でミッションを報酬受け取り |
| `Battlepass ResetDaily` | — | 日次ミッションを強制リセット |
| `Battlepass ResetWeekly` | — | 週次ミッションを強制リセット |
| `Battlepass SetSeasonDays` | `Battlepass SetSeasonDays 30` | シーズン日数を上書き |
| `Battlepass AddSeasonDays` | `Battlepass AddSeasonDays 7` | シーズン日数を追加/減算 |

* * *

## **📜 スクリプトコール**

```auto
$gameBattlepass.addBP(100)
$gameBattlepass.removeBP(20)
$gameBattlepass.setBP(350)
$gameBattlepass.setLevel(10)
$gameBattlepass.addLevel(5)
$gameBattlepass.subtractLevel(3)
$gameBattlepass.isPremium() // boolean
$gameBattlepass.getLevel() // number
$gameBattlepass.getBP() // number
$gameBattlepass.getProgress() // {level, bp, need, ratio, nextLevel}
$gameBattlepass.claim(level, track, index) // track "free"|"premium"
$gameBattlepass.claimAll() // 現在利用可能なすべての報酬を受け取り
$gameBattlepass.reset() // ResetBattlepass と同じ
$gameBattlepass.getSeasonInfo() // {days, weeks, remainingMs, isExpired, ...}
$gameBattlepass.getDailyMissions() // ミッションオブジェクトの配列
$gameBattlepass.getWeeklyMissions() // ミッションオブジェクトの配列
$gameBattlepass.addMissionProgress(type, amount, extra)
$gameBattlepass.claimMission(id)
$gameBattlepass.resetDaily()
$gameBattlepass.resetWeekly()

// エイリアス
BattlepassSystem.isPremium()
BattlepassSystem.open() // OpenBattlepass
BattlepassSystem.openMissions()

```

* * *

## **⚔ 戦闘数式の注意**

`BPAwardPerVictory` は固定数値または JS 数式にできます：

**利用可能な変数：**

- `enemyLevel` — 敵のレベル（敵のメタデータまたはデフォルト 1）
- `level` — enemyLevel のエイリアス
- `a` — `$gameParty.leader()`
- `b` — 敵バトラー
- `troop` — 部隊配列

**例：**

- `"12"` — 敵ごとに固定 12 BP
- `"enemyLevel * 5 + 10"` — 敵のレベルに比例
- `"Math.floor(a.level * 0.5) + troop.length * 2"` — リーダーのレベルと部隊サイズに基づく

* * *

## **🎨 キーボードショートカット**

| キー | アクション | パラメータ |
| --- | --- | --- |
| `Shift` | すべての報酬を受け取り | `KeyClaimAll` |
| `P` | プレミアムを購入 | `KeyBuyPremium` |
| `M` | ミッションを開く | `KeyOpenMissions` |
| `Q` / `W` | タブの切り替え（左/右） | `KeyTabLeft` / `KeyTabRight` |
| `Space` / `Enter` | 決定 / 報酬受け取り | `KeyConfirm` |
| `Esc` | キャンセル / 閉じる | `KeyCancel` |

_すべてのキーはプラグインパラメータを通じて完全にカスタマイズ可能です。_

* * *

## **🎨 テーマ**

プラグインには 8 つの組み込みテーマが含まれています：

- **Default Dark**
- **Light**
- **Midnight Blue**
- **Royal Purple**
- **Emerald**
- **Crimson**
- **Gold**
- **Cyan Neon**
- **Minimalist**

`VisualConfig.json` を介して独自の色で **Custom** テーマを作成することもできます。

* * *

## **🔧 パラメータリファレンス**

_(プラグインヘルプからの完全なパラメータリスト)_

| パラメータ | 型 | デフォルト | 説明 |
| --- | --- | --- | --- |
| MaxLevel | number | 50 | 最高バトルパスレベル |
| BPFormula | string | 100 \* level | BP 要件の JS 式 |
| BattlepassName | string | Battlepass | ヘッダータイトル |
| MenuIcon | number | 0 | メニュー項目のアイコン |
| AddToMenu | boolean | true | メインメニューにコマンドを追加 |
| MenuText | string | Battlepass | メニューラベル |
| MenuPosition | number | 4 | メニューコマンドの位置 |
| PremiumCost | number | 1000 | ゴールドコスト |
| PremiumItemId | number | 0 | 代替通貨アイテムID |
| PremiumItemAmount | number | 1 | 必要な数量 |
| GainBPOnVictory | boolean | false | 戦闘後に自動 BP 付与 |
| BPAwardPerVictory | string | 15 | 数値または JS 数式 |
| RewardData / RewardTiers | struct | | 視覚的ティアエディタ |
| NotifyOnLevelUp | boolean | true | レベルアップポップアップを表示 |
| NotifyOnRewardUnlock | boolean | true | 報酬ポップアップを表示 |
| NotificationDuration | number | 120 | ポップアップの表示フレーム数 |
| NotificationPosition | select | top | top / bottom / center |
| SoundEffectClaim | string | Item3 | 報酬受け取り SE |
| SoundEffectLevelUp | string | Up4 | レベルアップ SE |
| LevelUpCommonEvent | number | 0 | レベルアップ時のイベント |
| SeasonDurationDays | number | 60 | シーズンの長さ |
| SeasonCountdownFormat | select | auto | auto / days / weeks / both / hms |
| SeasonStartDate | string | (空) | YYYY-MM-DD |
| SeasonEndDate | string | (空) | YYYY-MM-DD |
| SeasonExpireBehavior | select | none | none / reset\_notify |
| PremiumCosts | struct | | 柔軟なコストリスト |
| DailyMissions / WeeklyMissions | struct | (例) | 視覚的ミッションエディタ |
| DailyMissionsData / WeeklyMissionsData | struct | | 追加ミッション |
| DailyResetHour | number | 5 | 0-23 |
| WeeklyResetWeekday | number | 1 | 0=日..6=土 |
| MissionCompleteSE | string | Item2 | ミッション完了時の SE |
| ConfirmTitle / Desc / Yes / No | string | (各種) | ダイアログのカスタマイズ |
| KeyClaimAll / BuyPremium / etc. | string | (各種) | キーボードキー |

* * *

## **🛠 トラブルシューティング**

> **AddBP で何も起こらない：**  
> MaxLevel がすでに到達しているか、BPFormula が 0/NaN を返していないか確認してください — コンソールに警告が表示され、`100*level` にフォールバックします。

> **報酬が表示されない：**  
> オンラインバリデータで RewardData JSON を検証してください — コンソールには不正なエントリごとに警告が表示されますが、クラッシュすることはありません。

> **バトルパスのない古いセーブデータ：**  
> 初回ロード時にデフォルト値に自動移行します。

> **アイコン/サウンドがない：**  
> 0 / 無音にグラシフルフォールバックします。

> **ウルトラワイドでのビジュアルグリッチ：**  
> シーンは `Graphics.boxWidth/Height` を動的に使用します。

* * *

## **📦 ダウンロード**

**ダウンロード：** _(説明欄 / 添付ファイルにリンクあり)_

**作者ウェブサイト：** `rpxgames.win`

* * *

## **📝 クレジット**

> **作成者：** Rpx & Just Dev  
> **ウェブサイト：** `rpxgames.win`

**利用規約：**

- 商業および非商業プロジェクトで無料
- クレジット表示必須
- 再配布または再販売禁止

* * *

## **🔗 リンク**

## **プラグインウェブサイト：** `rpxgames.win/` **YouTube チュートリアル：** ` https://www.youtube.com/watch?v=XYFTDyimx4c` **itchio** `https://r-px.itch.io/battlepass-system-for-rpg-maker-mz`

_Battlepass System をご利用いただきありがとうございます！問題が発生した場合やご提案がある場合は、ぜひお知らせください。_ 🎮
