秋华酱鸭 发表于 2024-12-15 11:06:07

RoleSystem-仿照原神、鸣潮的角色系统

RoleSystem


基础功能介绍
● 角色列表可配置指定格子显示角色 允许自定义显示的物品 提供一系列内置占位符解析 例如显示是否解锁 出战状态 等级 血量等
● 装备隔离装备存储在对应角色内 每个角色互不影响
● 属性隔离切换角色时一同切换对应的属性 暂时只支持 AttributeSystem改插件站内有贴
● 血量隔离角色独立血量
● 技能定制给角色设置技能 支持左右键组合交互触发技能 支持定时执行 切换角色前执行 切换后执行
● 技能升级可以配置技能的升级方案 并提自定义属性占位符可以在mm技能内使用获取技能属性
● 角色升级可配置角色的升级方案 提升属性血量等
● 预览他人角色支持使用指令预览他人角色列表 查看全部信息
● 套装效果装备足够数量的指定装备时触发套装效果 提升属性 也提供了mm占位符获取当前套装数量提供mm技能条件判断套装数量
● 武器绑定(可选是否启用)支持角色绑定一种武器类型并且在使用该角色时提供武器到指定槽位
● 死亡锁定(可选是否启用)当前使用的角色死亡时 将会被锁定 无法切换过去 可以使用指令复活
额外功能介绍● QiuhuaItemSpace兼容该插件为物品空间(仓库)自动拾取 neigeitem物品获取兼容支持配置指定格子显示指定仓库的物品 可以拿取或者放入 用于快速在仓库拿取装备和放入装备
图片展示
使用说明需要前置插件: MythicMobs、PlaceholderAPI、Vault指令:重载配置 -- /RoleSystem rolead 权限.RoleSystem.reload给指定玩家打开其他玩家角色界面 -- /RoleSystem gui <观察玩家名> <被观察玩家名> 权限.RoleSystem.gui.targetPlayer给指定玩家打开角色界面-- /RoleSystem gui <玩家名> 权限.RoleSystem.gui复活玩家的指定角色 -- /RoleSystem respawn <玩家名> <角色名> 权限.RoleSystem.respawn
插件配置都有注释 就不放出来了这里贴一下内置占位符说明和mm那边的占位符 技能说明内置占位符:
技能yml内 {PlaceholderId} 返回指定的占位符   {Level} 返回技能等级 支持lore 支持name
角色yml内 {level} 返回等级 {state} 返回状态 {health} 返回角色血量 {maxhealth} 返回角色最大血量 支持lore 支持name
Config的出战按钮 {state} 返回状态 {roleId_1} 返回第一个场上角色 以此类推无角色返回空支持lore 支持name
config内的LevelInfo按钮{materials}返回材料名称 {value}返回需要的数量 {have}返回当前拥有format格式内有效
{level}返回角色等级 {AttributesId} 返回指定的属性值 支持lore 支持name
{isUpgrade}返回可以是否升级 可以替换的位置有 skill的展示物品    LevelInfo的物品 支持lore和名称


血量的占位符的加载 未加载前 是默认的20生命值 需要使用角色出战 才会加载生命值 因为需要再属性插件那边获取生命值
血量的占位符更新 仅在切换角色 恢复生命值 扣除生命值 关闭角色界面时刷新
最大生命值只有切换角色和关闭角色界面时刷新 会按当时的最大生命值记录这两的默认值是config内的Attribute.baseHealth节点    配置

papi占位符:
%role_a_<key>%获取当前角色的指定属性   后面加上_<角色id>就能获取指定角色的的属性
%role_s_<技能id>_<key>%获取技能指定的属性 后面加上_<角色id>就能获取指定角色
%role_al% 获取角色的等级 后面加上_<角色id>就能获取指定角色
%role_sl_<技能id>% 获取技能的等级 后面加上_<角色id>就能获取指定角色
%role_id_<顺序id>%0开始 获取当前队伍第X个角色名称
%role_id% 获取当前使用的角色
%role_h% 获取当前就角色生命值 后面加上_<角色id>就能获取指定角色
%role_mh% 获取当前就角色生命值 后面加上_<角色id>就能获取指定角色

mm占位符:
和papi格式一样把%%改成mm的占位符括号就行

mm技能:
角色切换功能 roleId可选switchCd可选 单位是毫秒 玩家下一次切换的间隔 可以临时取消玩家切换角色
roleId不填则为切换到无角色   随便填一个 如果没有 那将不会切换
switchCd如果不填 默认为配置文件内的间隔
两个参数均支持占位符解析
- roleSwitch{roleId=要切换的角色id;switchCd=500}

恢复队伍内角色生命值 可指定是否恢复全队   恢复全队无视roleid   不填roleid默认回当前角色
- roleHealth{health=恢复的生命值;isAll=是否全队回复;roleId=角色名称}

mm条件:
当前角色是否有指定套装的条件roleid不填则为当前角色    value支持mm的那套范围和对比符 例如 > < 1to2
- suitTag{roleId=角色名称,tag=套装id;value=数量}










页: [1]
查看完整版本: RoleSystem-仿照原神、鸣潮的角色系统