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

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


by Rpx & Just Dev


ギャラリー

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


:pushpin: これは何ですか?

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


:sparkles: 機能概要

  • 最大 999 レベル、各レベルの BP 要件には JS 数式を使用可能
  • 2つのトラック: 無料 + プレミアム、報酬は完全にカスタマイズ可能
  • MZ がサポートするあらゆる報酬タイプ:
    • ゴールド、アイテム、武器、防具、スキル
    • 変数、スイッチ、アクター、クラス
    • 経験値、レベル、ステート
    • BGM/BGS/ME/SE、コモンイベント
    • カスタムスクリプト (JS 実行)
    • 1レベルあたり複数の報酬
  • 完全なビジュアルエディタ — 報酬ティア、日次/週次ミッションは構造テーブルで、行をクリックして編集可能(もはや一行の JSON は不要!)
  • 柔軟なプレミアムコスト — ゴールド、変数、スイッチ、レベル、アイテム/武器/防具の組み合わせ(AND条件)
  • シーズンシステム — START/END 日付 + カウントダウン(自動/日/週/両方/時分秒形式)
  • 日次および週次ミッション — 自動リセット、それぞれが BP を付与
  • ポップアップ通知、オプションでメインメニュー統合
  • プラグインコマンド + $gameBattlepass API

:television: 動画チュートリアル

YouTube で完全なセットアップガイドをご覧ください:
youtu be / YOUR_VIDEO_ID (スペースを削除してください)


:high_voltage: クイックセットアップ

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

:clipboard: パラメータ概要

パラメータ 説明 デフォルト
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

:wrapped_gift: 報酬データの例

[
  {"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 オーディオファイル名

:bullseye: ミッションの例

日次ミッション:

[
  {"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}
]

週次ミッション:

[
  {"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 — プラグインコマンドまたはスクリプトコールを使用

:keyboard: プラグインコマンド (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 シーズン日数を追加/減算

:scroll: スクリプトコール

$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()

:crossed_swords: 戦闘数式の注意

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" — リーダーのレベルと部隊サイズに基づく

:artist_palette: キーボードショートカット

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

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


:artist_palette: テーマ

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

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

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


:wrench: パラメータリファレンス

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

パラメータ デフォルト 説明
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 (各種) キーボードキー

:hammer_and_wrench: トラブルシューティング

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

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

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

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

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


:package: ダウンロード

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

作者ウェブサイト: rpxgames.win


:memo: クレジット

作成者: Rpx & Just Dev
ウェブサイト: rpxgames.win

利用規約:

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

:link: リンク

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

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