Skip to content

成就、变量与标记

本页收录 GlobalVariableBuiltins 和成就状态读取函数,主要覆盖全局变量、玩家变量、临时变量、标记、时间标记以及跨成就状态查询。

设置全局变量

  • 用法:设置全局变量(变量名, 值)
  • 参数:变量名、值
  • 返回值:Object
text
设置全局变量("活动阶段", "第二周")
发送消息("&a已写入全局阶段")

取全局变量

  • 用法:取全局变量(变量名)
  • 参数:变量名
  • 返回值:Object
text
赋值 stage = 取全局变量("活动阶段")
发送消息("&f当前阶段: " + stage)

增加全局变量

  • 用法:增加全局变量(变量名, 数值)
  • 参数:变量名、增量
  • 返回值:Number
text
赋值 total = 增加全局变量("全服击杀", 1)
发送消息("&e全服击杀已变更为: " + total)

存在全局变量

  • 用法:存在全局变量(变量名)
  • 参数:变量名
  • 返回值:Boolean
text
判断 (存在全局变量("活动阶段")) {
  发送消息("&a活动阶段变量已存在")
}

删除全局变量

  • 用法:删除全局变量(变量名)
  • 参数:变量名
  • 返回值:Boolean
text
删除全局变量("测试变量")
发送消息("&c已删除测试变量")

设置时间标记

  • 用法:设置时间标记(标记名)
  • 参数:标记名
  • 返回值:Number
  • 补充说明:源码会同时写入当前 ScriptContext 和玩家变量 _timemark_<标记名>,因此后续复制上下文或重新读取时都能继续取到这条时间标记。
text
设置时间标记("last_kill")
发送消息("&7已记录当前时间标记")

获取时间差

  • 用法:获取时间差(标记名)
  • 参数:标记名
  • 返回值:Number
  • 补充说明:会先查当前上下文,再回退读取玩家变量 _timemark_<标记名>;如果标记不存在,返回 -1
text
赋值 diff = 获取时间差("last_kill")
发送消息("&f距离上次记录: " + diff + " 秒")

存在时间标记

  • 用法:存在时间标记(标记名)
  • 参数:标记名
  • 返回值:Boolean
  • 补充说明:判断时同样会同时检查当前上下文和玩家变量中的 _timemark_<标记名>
text
判断 (存在时间标记("last_kill")) {
  发送消息("&7时间标记已存在")
}

删除时间标记

  • 用法:删除时间标记(标记名)
  • 参数:标记名
  • 返回值:Boolean
  • 补充说明:删除时会同时清掉当前上下文和玩家变量里的 _timemark_<标记名>
text
删除时间标记("last_kill")
发送消息("&c已删除时间标记")

设置标记

  • 用法:设置标记(标记名)
  • 参数:标记名
  • 返回值:Boolean
text
设置标记("已完成新手任务")
发送消息("&a已设置玩家标记")

检查标记

  • 用法:检查标记(标记名)
  • 参数:标记名
  • 返回值:Boolean
text
判断 (检查标记("已完成新手任务")) {
  发送消息("&a检测到完成标记")
}

删除标记

  • 用法:删除标记(标记名)
  • 参数:标记名
  • 返回值:Boolean
text
删除标记("已完成新手任务")
发送消息("&c已删除该标记")

取玩家变量

  • 用法:取玩家变量(变量名)
  • 参数:变量名
  • 返回值:Object
text
赋值 value = 取玩家变量("签到次数")
发送消息("&f签到次数: " + value)

设置玩家变量

  • 用法:设置玩家变量(变量名, 值)
  • 参数:变量名、值
  • 返回值:Boolean
text
设置玩家变量("签到次数", 7)
发送消息("&a已设置玩家变量")

增加玩家变量

  • 用法:增加玩家变量(变量名, 数值)
  • 参数:变量名、增量
  • 返回值:Number
text
赋值 value = 增加玩家变量("签到次数", 1)
发送消息("&a新的签到次数: " + value)

存在玩家变量

  • 用法:存在玩家变量(变量名)
  • 参数:变量名
  • 返回值:Boolean
text
判断 (存在玩家变量("签到次数")) {
  发送消息("&7玩家变量已存在")
}

删除玩家变量

  • 用法:删除玩家变量(变量名)
  • 参数:变量名
  • 返回值:Boolean
text
删除玩家变量("测试字段")
发送消息("&c已删除玩家变量")

设置临时变量

  • 用法:设置临时变量(变量名, 值)
  • 参数:变量名、值
  • 返回值:Object
  • 补充说明:临时变量走 GlobalVariableManager 的玩家临时变量存储,不会持久化,服务端重启后丢失;它和“局部变量”不是同一层东西。
text
设置临时变量("当前阶段", "boss")
发送消息("&7已写入临时变量")

取临时变量

  • 用法:取临时变量(变量名)
  • 参数:变量名
  • 返回值:Object
  • 补充说明:读取不到时返回空字符串 "",不是 null
text
赋值 phase = 取临时变量("当前阶段")
发送消息("&f临时阶段: " + phase)

设置局部变量

  • 用法:设置局部变量(变量名, 值)
  • 参数:变量名、值
  • 返回值:Object
  • 补充说明:局部变量直接写进当前 ScriptContext;它只在当前脚本执行链和 copy() 出来的上下文里存在,不会写入全局变量管理器。
text
设置局部变量("roundScore", 12)
发送消息("&7已设置局部变量")

取局部变量

  • 用法:取局部变量(变量名)
  • 参数:变量名
  • 返回值:Object
  • 补充说明:读取不到时返回空字符串 "",不是 null
text
赋值 score = 取局部变量("roundScore")
发送消息("&f局部分数: " + score)

获取进度

  • 用法:获取进度()
  • 参数:无
  • 返回值:Number
text
赋值 progress = 获取进度()
发送消息("&a当前成就进度: " + progress)

获取时间戳

  • 用法:获取时间戳()
  • 参数:无
  • 返回值:Number
text
赋值 now = 获取时间戳()

获取成就ID

  • 用法:获取成就ID()
  • 参数:无
  • 返回值:String
text
赋值 id = 获取成就ID()
发送消息("&f当前成就 ID: " + id)

获取成就名称

  • 用法:获取成就名称()
  • 参数:无
  • 返回值:String
text
赋值 name = 获取成就名称()
发送消息("&f当前成就名称: " + name)

获取目标进度

  • 用法:获取目标进度(目标ID)
  • 参数:目标 ID
  • 返回值:Number
text
赋值 value = 获取目标进度("kill_dragon")
发送消息("&f当前目标进度: " + value)

获取成就进度

  • 用法:获取成就进度(成就ID[, 玩家名])
  • 参数:成就 ID,可选玩家名
  • 返回值:Number
text
赋值 value = 获取成就进度("daily_sign")
发送消息("&7指定成就进度: " + value)

获取成就数据

  • 用法:获取成就数据(成就ID, 字段)
  • 参数:成就 ID、字段名
  • 返回值:Any
text
赋值 percent = 获取成就数据("daily_sign", "percent")
发送消息("&b指定成就百分比: " + percent)

获取成就标记

  • 用法:获取成就标记(成就ID, 标记名)
  • 参数:成就 ID、标记名
  • 返回值:Boolean
text
判断 (获取成就标记("main_line", "dragon_done")) {
  发送消息("&a目标成就已有龙击杀标记")
}

获取成就目标进度

  • 用法:获取成就目标进度(成就ID, 目标ID[, 字段])
  • 参数:成就 ID、目标 ID、可选字段
  • 返回值:Any
text
赋值 value = 获取成就目标进度("boss_line", "dragon", "complete")
发送消息("&f目标完成状态: " + value)

成就是否已解锁

  • 用法:成就是否已解锁(成就ID[, 玩家名])
  • 参数:成就 ID,可选玩家名
  • 返回值:Boolean
text
判断 (成就是否已解锁("daily_sign")) {
  发送消息("&6该成就已经解锁")
}

成就任务是否已接取

  • 用法:成就任务是否已接取(成就ID[, 玩家名])
  • 参数:成就 ID,可选玩家名
  • 返回值:Boolean
text
判断 (成就任务是否已接取("daily_task")) {
  发送消息("&e该任务型成就已接取")
}

TQ Minecraft Server Plugin Docs