✨ ZUltraTrainer 插件使用手册
一款为宝可梦服务器打造的超强自定义训练师对战插件,支持丰富规则与语句自定义,助力实现顶级RPG玩法。
📜 插件主要功能
- 支持自定义训练师AI、规则、宝可梦终极Buff
- 支持灵活的事件语句解析、对战自动化操作
- 支持多种操作模式与批量配置热重载
🚀 插件指令(/zultratrainer 或 /zut)
主指令(可简写为 /zut):
/zultratrainer
玩家指令:
/zultratrainer getFlags <精灵槽位>
- 查看背包指定槽位宝可梦的 Flags 标识(1-6)
/zultratrainer getUuid <精灵槽位>
- 查看背包指定槽位宝可梦的 UUID(1-6)
/zultratrainer checkFlags <玩家名>
- 查看指定玩家队伍中所有宝可梦的 Flags 标识
管理员(OP)指令:
/zultratrainer mode <模式名>
- 切换操作模式(支持 NORMAL/FLAG/BUFF 等,支持 tab 补全)
/zultratrainer checkMode
- 查看自己当前的操作模式
/zultratrainer upload <训练师文件名>
- 上传当前背包宝可梦队伍到指定训练师文件(文件需先存在)
/zultratrainer battle <玩家名> <训练师文件名>
- 让指定玩家与指定训练师对战
/zultratrainer addFlag <槽位> <flag名>
- 为自己指定槽位宝可梦添加一个 flag
/zultratrainer removeFlag <槽位> <flag名>
- 为自己指定槽位宝可梦移除一个 flag
/zultratrainer addFlagPlayer <玩家名> <槽位> <flag名>
- 为指定玩家指定槽位宝可梦添加 flag
/zultratrainer removeFlagPlayer <玩家名> <槽位> <flag名>
- 为指定玩家指定槽位宝可梦移除 flag
/zultratrainer removeFlagPlayerAll <玩家名> <槽位>
- 移除指定玩家指定槽位宝可梦的所有 flag
/zultratrainer debug [<buff类型> <buff名> <form>]
- 查看当前已加载的 UltraBuff,可选参数调试指定类型
/zultratrainer reload
- 重载所有插件配置文件
/zultratrainer moveinfo <槽位>
- 查看指定槽位宝可梦的全部招式名
/zultratrainer setlevel <槽位> <等级>
- 设置指定槽位宝可梦等级
/zultratrainer allpokedex <玩家名>
- 一键将指定玩家的宝可梦图鉴全部设为已捕获
- 说明:
- 玩家名参数支持在线玩家名或 UUID,训练师文件名无需后缀,槽位为 1-6。
- 带有 橙色 标签为管理员(OP)专用命令,普通玩家无法执行。
- 常用示例:
/zut getFlags 1— 查看你第一个宝可梦的 Flags。/zut addFlag 2 buff_test— 给第二个宝可梦添加名为 buff_test 的 flag(需 OP 权限)。/zut battle 玩家名 mytrainer— 让玩家与指定训练师对战(需 OP 权限)。
🔀 操作模式说明
saveRules:保存训练师规则loadRules:加载训练师规则saveTrainer:保存训练师数据loadTrainer:加载训练师数据nbtOperator:NBT操作模式NORMAL:无特殊操作(默认)
📁 配置文件结构
| 目录/文件 | 作用 |
|---|---|
| rules | 训练师规则文件夹(保存 zrules 文件) |
| trainers | 训练师数据文件夹(保存 znc 文件) |
| ultrabuff | 终极Buff效果文件夹(保存 flag名.yml) |
| Convert.yml | NPC数据伤害折算配置 |
| config.yml | 插件主配置文件 |
📝 终极语句(UltraBuff语句)
一句一效果,支持分组与条件、多属性操作。
格式:
(例如:user Attack 2 50 # 50%概率自己的宝可梦攻击提升2级)
格式:
作用对象 操作名 [参数...] 概率
(例如:user Attack 2 50 # 50%概率自己的宝可梦攻击提升2级)
【常用操作语句一览】
| 格式/语法 | 说明 |
|---|---|
[user|target] [属性名] 数值 概率 |
属性提升/下降 属性名支持:HP, Attack, Defence, SpecialAttack, SpecialDefence, Speed, Accuracy, Evasion |
[user|target] addStatus 状态名 [参数] 概率 |
赋予状态(详细见文档后附支持状态名) |
[user|target] cleanStatus 状态名 概率 |
清除异常状态。ALL 为全部清除。 |
[user|target] move 技能名 概率 |
释放一次额外技能 |
[user|target] healPP 概率 |
恢复全部技能 PP |
[user|target] healHP 百分比 概率 |
回血(如 0.3 代表回血30%最大生命) |
[user|target] setTera Tera类型ID 概率 |
设置太晶形态 |
[user|target] command |服务器命令| 概率 |
后台执行命令,%player%变量为玩家名,可支持占位符API |
[user|target] group 组名 概率 |
执行 ultrabuff.yml 内 Group.组名 下所有效果 |
[user|target] randomgroup 随机组名 概率 |
从 ultrabuff.yml 内 RandomGroup.组名 随机抽取一组,执行其 Group.下的所有效果 |
[user|target] settempvalue_变量名 数值 概率 |
设置临时计数器 |
[user|target] addtempvalue_变量名 数值 概率 |
增加临时计数器 |
[user|target] setlongvalue_变量名 数值 概率 |
设置持久计数器(如跨战斗/跨局持久) |
[user|target] addlongvalue_变量名 数值 概率 |
增加持久计数器 |
[user|target] setpower 脚本表达式 概率 |
直接设置本次技能伤害(可用%power%等变量) |
[user|target] sendToAll 消息内容 概率 |
向所有对战参与者广播消息 |
[user|target] sendToPlayer 消息内容 概率 |
仅向本人或目标发送消息 |
[user|target] condition 条件 剩余语句... |
判断条件成立才执行剩下的语句,条件可用变量参考下文 |
你可以在 ultrabuff 配置文件使用 Group/RandomGroup 定义分组组合式效果,详见官方示例。
【终极语句变量说明】
你可以在 condition 条件表达式、脚本、命令文本等场景使用下列所有变量。
所有变量均分为己方和敌方两套,前缀 t_ 表示敌方。
- 【基础属性】
%poke_health%/%t_poke_health%:当前血量%poke_lastHP%/%t_poke_lastHP%:上一回合血量%poke_health_total%/%t_poke_health_total%:最大血量%poke_hasFullHealth%/%t_poke_hasFullHealth%:是否满血(true/false)%poke_level%/%t_poke_level%:等级
- 【六维属性】
%poke_stat_hp%/%t_poke_stat_hp%:HP 种族值%poke_stat_attack%/%t_poke_stat_attack%:物攻种族值%poke_stat_defence%/%t_poke_stat_defence%:物防种族值%poke_stat_specialAttack%/%t_poke_stat_specialAttack%:特攻种族值%poke_stat_specialDefence%/%t_poke_stat_specialDefence%:特防种族值%poke_stat_speed%/%t_poke_stat_speed%:速度种族值
- 【状态/阶段】
%poke_status_状态名%/%t_poke_status_状态名%:是否处于指定异常状态(如%poke_status_PARALYSIS%,返回 true/false)%pokemon_isMega%/%t_pokemon_isMega%:是否 Mega 进化%pokemon_isDynamax%/%t_pokemon_isDynamax%:是否极巨化%pokemon_isGiantamax%/%t_pokemon_isGiantamax%:是否超极巨化
- 【对战信息】
%isFirstTurn%/%t_isFirstTurn%:是否第一回合%turnCount%/%t_turnCount%:对战总回合数%turnForPokemon%/%t_turnForPokemon%:该宝可梦本场已出战回合数%isSwitching%/%t_isSwitching%:本回合是否正准备交换%switchedThisTurn%/%t_switchedThisTurn%:本回合是否已换人
- 【属性信息】
%pokemon_type_1%/%t_pokemon_type_1%:主属性类型名%pokemon_type_2%/%t_pokemon_type_2%:副属性类型名(无副属性时等于主属性)
- 【天气/场地信息】
%weather%/%t_weather%:当前天气类型(无天气时为 null)
- 【计数器/动态变量】
%getTempValue_变量名%/%t_getTempValue_变量名%:获取当前对战(临时)计数变量,如%getTempValue_comboCount%%getLongValue_变量名%/%t_getLongValue_变量名%:获取长期(持久)计数变量
【举例说明】
%poke_status_PARALYSIS%:返回是否被麻痹%getTempValue_damageCount%:获取本场对战累计伤害次数%pokemon_type_1%:返回如FIRE、WATER等属性名
【使用说明】
- 所有变量均可直接在脚本表达式、条件判断、文本显示等场合使用。
- 动态变量如
%getTempValue_xxx%可自定义任意变量名,适合实现战斗统计等高级功能。 - 前缀
t_表示敌方宝可梦相关变量,否则为己方。
【进阶说明】
- 你可根据自身需求扩展支持的状态、计数器等,所有变量均通过脚本/配置动态解析,无需硬编码。
- 可嵌套使用变量,如
%poke_stat_attack% > 150 && %poke_health% < 50可直接用于条件判断。
【ultrabuff配置文件示例】
# 终极Buff配置示例
target:
Attack_Use:
- "target SpecialAttack -2 30.0"
- "user Speed 1 20"
user:
TurnEnd:
- "user condition %poke_health%<=%poke_health_total%*0.3 Attack 2 40.0"
- "user Speed 1 20"
- "target condition %poke_health%<=%poke_health_total%*0.3 addStatus Poison 60.0"
- "user cleanStatus Poison 20.0"
- "user move Bite 20.0"
- "user command |say %player%本回合数:%turnCount%| 100.0"
Attack_Use:
- "user healPP 20.0"
- "user group 强化组 100.0"
Group:
强化组:
- "user Attack 1 100.0"
- "user Speed 1 100.0"
RandomGroup:
随机奖励:
- "强化组"
- "回血组"
更多Buff语句玩法可自行组合 group/randomgroup/condition 实现分支、随机、嵌套等复合效果!
🔬 制作超越原版限制的训练师
- 制作训练师:使用宝可梦编辑器生成训练师,切换到
saveTrainer模式后右键NPC保存。 - 上传队伍:
/zultratrainer upload [NPC文件名]上传当前背包队伍。 - 加载队伍:切换到
loadTrainer,右键目标NPC,输入文件名加载。 - 高级:NBT修改:切换
nbtOperator,右键目标训练师,聊天框输入:槽位ID NBT键名 NBT值
如0 IVATTACK 100—— 将0号宝可梦的攻击个体值改为100 - NPC血量设定:
Convert.yml可设定 NPC血量折算:DamageConvert: npc名称: HP: 5000 # 最终伤害 = NPC实际血量/NPC配置血量 × 实际伤害
🎯 常用支持的异常状态名举例(addStatus/cleanStatus用)
Burn, Freeze, Paralysis, Poison, PoisonBadly, Sleep, Confusion, Flinch, Taunt, Leech, Encore, Substitute, Protect, LightScreen, Reflect, AuroraVeil, Mist, Curse, Disable, Perish, Nightmare, HealBlock, Yawn, Sandstorm, Hail, Sunny, Rainy, GrassyTerrain, ElectricTerrain, PsychicTerrain, MistyTerrain, Flying, Roosting, Endure, AquaRing, MagnetRise, Telekinesis, Minimize, Stockpile, FollowMe, FutureSighted, MeanLook, LockOn, Rage, NoRetreat, NoStatus, etc.
⚡ 注意:
- 状态支持Pixelmon原生状态与部分高级Buff(详细可咨询开发者)。
- condition 语句中变量可进行多种数值比较、四则运算、逻辑组合。
- 状态支持Pixelmon原生状态与部分高级Buff(详细可咨询开发者)。
- condition 语句中变量可进行多种数值比较、四则运算、逻辑组合。
—— Powered by Z菌[QQ:1109132] 2024-2025 ——
如需详细开发文档/API接口说明请联系插件作者。
如需详细开发文档/API接口说明请联系插件作者。