Skip to content

变量、公式与 PAPI

GTDungeonTeam 的 GUI、消息、动作、副本条件、体力、消耗、竞拍配置都会走变量渲染。能写变量的地方尽量保持同一套写法。

内置变量写法

两种写法都支持:

text
<player>
{player}

推荐在配置里统一用尖括号:

text
<team_name>
<members>
<dungeon_name>

PAPI

安装 PlaceholderAPI 后,可以直接写:

text
%player_level%
%player_name%
%player_world%
%vault_eco_balance%

例如:

yaml
stamina:
  max: "{calc:120+%player_level%*2}"

PAPI 读取的是当前参与渲染的玩家。跨服或离线玩家不能保证能读到本服变量。

公式

text
{calc:公式}
<calc:公式>

示例:

yaml
stamina:
  max: "{calc:120+%player_level%*2}"

dungeon:
  cost:
    money: "{calc:100*<members>}"

公式结果是整数时显示整数,不是整数时显示两位小数。

基础变量

变量说明
<player>玩家名
<player_uuid>玩家 UUID
<uuid>玩家 UUID
<server>当前服务器 ID

队伍变量

变量说明
<team>队伍 ID
<team_id>队伍 ID
<team_name>队伍显示名
<team_description>队伍介绍
<team_requirements>入队条件摘要
<leader>队长名称
<has_team>是否有队伍,0 或 1
<is_leader>是否队长,0 或 1
<members>当前成员数
<max_members>队伍人数上限
<public>是否公开
<allow_apply>是否接收申请
<allow_pvp>是否允许队友伤害
<random_distribution>是否开启掉落分配

成员变量

text
<member_1_name>
<member_1_uuid>
<member_1_role>
<member_1_online>
<member_1_server>

数字从 1 开始。
第 2 个队员就是:

text
<member_2_name>
<member_2_server>

这些变量适合 GUI、PaiUI、AX、DragonCore、KongCore、BetterHud、计分板。

副本变量

变量说明
<dungeon>当前副本 ID
<dungeon_id>副本 ID
<dungeon_name>副本显示名
<provider>副本适配器
<engine_dungeon>副本插件里的真实 ID
<min_players>最少人数
<max_players>最多人数
<stamina_cost>体力消耗
<money_cost>金币消耗

副本详情页还会有:

text
<dungeon_detail_id>
<dungeon_detail_name>
<dungeon_detail_provider>
<dungeon_detail_engine>
<dungeon_detail_min_players>
<dungeon_detail_max_players>
<dungeon_detail_stamina>
<dungeon_detail_money>
<dungeon_detail_description>
<dungeon_detail_difficulties>
<dungeon_detail_requirements>
<dungeon_detail_drops>

房间详情变量

text
<room_detail_id>
<room_detail_name>
<room_detail_description>
<room_detail_leader>
<room_detail_members>
<room_detail_max_members>
<room_detail_dungeon>
<room_detail_requirements>
<room_detail_member_lines>

公开房间详情页用这些变量显示队伍信息。

体力变量

变量说明
<stamina>当前体力
<stamina_max>当前体力上限
<stamina_recover>单次恢复量

示例:

yaml
Lore:
  - "&7当前: &f<stamina>/<stamina_max>"
  - "&7恢复量: &f<stamina_recover>"
  - "&7距离满体力: &f{calc:<stamina_max>-<stamina>}"

结算变量

变量说明
<success>是否成功
<duration>持续秒数
<damage>当前玩家伤害

结算页可以配合 damage-list 动态列表展示全队伤害。

竞拍变量

界面常用:

text
<auction_active>
<auction_item>
<auction_item_type>
<auction_amount>
<auction_highest_bid>
<auction_highest_bid_raw>
<auction_bidder>
<auction_left_seconds>
<auction_next_min_bid>
<auction_next_min_bid_raw>
<auction_currency>
<auction_currency_name>
<auction_start_price>
<auction_min_increment>
<auction_reset_seconds>
<auction_rule>

竞拍消息和动作还会有:

text
<auction_id>
<picker>
<picker_uuid>
<bidder>
<bidder_uuid>
<bid_amount>
<highest_bid>
<item_name>
<item_type>
<item_amount>
<start_price>
<min_increment>
<next_min_bid>
<currency>
<currency_name>
<tax_rate>
<tax_amount>
<share_amount>
<share_members>

PlaceholderAPI 扩展

安装 PlaceholderAPI 后,GTDungeonTeam 注册标识:

text
gtd

可用变量:

PAPI说明
%gtd_team_id%队伍 ID
%gtd_team_name%队伍名
%gtd_team_description%队伍介绍
%gtd_team_leader%队长
%gtd_team_members%成员数
%gtd_team_max_members%最大人数
%gtd_team_dungeon%目标副本
%gtd_team_provider%目标适配器
%gtd_team_public%是否公开
%gtd_team_allow_apply%是否允许申请
%gtd_team_allow_pvp%是否允许 PVP
%gtd_team_random_distribution%是否开启掉落分配
%gtd_team_requirements%入队条件

成员变量:

text
%gtd_team_member_1_name%
%gtd_team_member_1_uuid%
%gtd_team_member_1_role%
%gtd_team_member_1_online%
%gtd_team_member_1_server%

读取某个队员自己的 PAPI:

text
%gtd_team_member_1_papi_player_level%
%gtd_team_member_1_papi_player_zhandouli%

含义:以第 1 个队员作为目标,读取 %player_level%%player_zhandouli%

变量为空时怎么处理

没有队伍时,队伍变量多半为空或 0:

text
<team_name> = 空
<members> = 0
<has_team> = 0
<is_leader> = 0

GUI 里不要只写 -/-。建议用不同按钮和条件分开:

yaml
C:
  Condition: "!<has_team>"
  Display:
    Name: "&a创建队伍"

T:
  Condition: "<has_team>"
  Display:
    Name: "&a队伍房间"