[RPG Maker MZ 插件] 战斗通行证系统 v1.2.0

[RPG Maker MZ 插件] Battlepass System v1.2.0 — 最大自由度、可视化编辑器、每日/每周任务


由 Rpx & Just Dev 制作


先看截图

一款适用于 RPG Maker MZ 的商业级 Battlepass 系统,提供最大自由度:支持任意奖励类型、灵活的付费成本、赛季日期以及完全可视化的编辑器。


:pushpin: 这是什么?

此插件将您的 RPG Maker MZ 游戏转变为现代的 Battlepass 体验,类似于《堡垒之夜》(Fortnite)、《爆裂球球》(Brawlhalla) 或任何拥有季节性进度系统的 AAA 级作品。玩家通过游戏获得战斗点数 (BP),通过等级提升解锁奖励,并在免费和高级两条路线上解锁奖励。


:sparkles: 功能概览

  • 最多 999 级,每级可通过 JS 公式计算所需的 BP
  • 两条路线: 免费 + 高级,奖励完全可定制
  • 支持 MZ 的任何奖励类型:
    • 金币、物品、武器、防具、技能
    • 变量、开关、角色、职业
    • 经验值、等级、状态
    • BGM/BGS/ME/SE、公共事件
    • 自定义脚本(JS 执行)
    • 每级多个奖励
  • 完全可视化的编辑器 — 奖励阶梯、每日/每周任务均为结构化表格,点击行即可编辑(不再需要一行行的 JSON!)
  • 灵活的付费成本 — 金币、变量、开关、等级、物品/武器/防具的组合(AND 条件)
  • 赛季系统 包含开始/结束日期 + 倒计时(自动/天/周/两者/时:分:秒)
  • 每日和每周任务 自动重置,每项任务均提供 BP
  • 弹窗通知,可选的主菜单集成
  • 插件命令 + $gameBattlepass API

:television: 视频教程

观看 YouTube 上的完整设置指南:
youtu be / YOUR_VIDEO_ID (请移除空格)


:high_voltage: 快速设置

  1. 将 BattlepassSystem.js 复制到 js/plugins/ 文件夹
  2. 在插件管理器中启用它
  3. 配置 MaxLevel、BPFormula 和 RewardData
  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 — 打开 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()          // 布尔值
$gameBattlepass.getLevel()           // 数字
$gameBattlepass.getBP()              // 数字
$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 种内置主题:

  • 默认深色
  • 浅色
  • 午夜蓝
  • 皇家紫
  • 翡翠绿
  • 深红
  • 金色
  • 青色霓虹
  • 极简主义

您还可以通过 VisualConfig.json 使用自己的颜色创建自定义主题。


:wrench: 参数参考

(来自插件帮助文件的完整参数列表)

参数 类型 默认值 描述
MaxLevel number 50 最高 Battlepass 等级
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 领取音效
SoundEffectLevelUp string Up4 升级音效
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 任务完成音效
ConfirmTitle / Desc / Yes / No string (各种) 对话框自定义
KeyClaimAll / BuyPremium / etc. string (各种) 键盘按键

:hammer_and_wrench: 故障排除

AddBP 没有任何反应:
检查是否已达到 MaxLevel,或 BPFormula 返回 0/NaN — 控制台将发出警告并回退到 100*level。

奖励未显示:
使用在线验证器验证 RewardData JSON;控制台会对格式错误的条目发出警告,但不会崩溃。

没有 Battlepass 的旧存档:
首次加载时自动迁移到默认值。

图标/声音缺失:
优雅地回退到 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: