Skip to content

数学与随机

最大值

  • 用法:最大值(值1, 值2, ...)
  • 参数:1 个或更多数字
  • 返回值:double
text
本轮最高伤害 = 最大值(120, 185, 143)
if 本轮最高伤害 >= 180 {
    消息.广播("&c有一波伤害已经超过 180")
}

最小值

  • 用法:最小值(值1, 值2, ...)
  • 参数:1 个或更多数字
  • 返回值:double
text
最低贡献 = 最小值(玩家A输出, 玩家B输出, 玩家C输出)
日志("本场最低输出: " + 最低贡献)

绝对值

  • 用法:绝对值(值)
  • 参数:1 个数字
  • 返回值:double
text
偏差 = 绝对值(Boss目标血量 - 当前Boss血量)
if 偏差 >= 500 {
    消息.发送("&eBoss 血量已经偏离预期很多")
}

向下取整

  • 用法:向下取整(值)
  • 参数:1 个数字
  • 返回值:long
text
整层奖励 = 向下取整(当前积分 / 3)
玩家.设置变量("奖励层数", 整层奖励)

向上取整

  • 用法:向上取整(值)
  • 参数:1 个数字
  • 返回值:long
text
需要波次 = 向上取整(总怪物数 / 6)
副本.设置变量("预计波次", 需要波次)

四舍五入

  • 用法:四舍五入(值, [小数位])
  • 参数:数值;可选保留位数
  • 返回值:不写小数位时是整数,写了以后是小数
text
当前倍率 = 四舍五入(1.236, 2)
消息.广播("&e当前难度倍率: " + 当前倍率)

平方根

  • 用法:平方根(值)
  • 参数:1 个数字
  • 返回值:double
text
距离评分 = 平方根(玩家距离平方)
if 距离评分 >= 30 {
    消息.发送("&7你已经离开核心战区")
}

  • 用法:幂(底数, 指数)
  • 参数:底数、指数
  • 返回值:double
text
爆发倍率 = 幂(1.15, 连击层数)
副本.设置变量("爆发倍率", 爆发倍率)

随机整数

  • 用法:随机整数(最大值)随机整数(最小值, 最大值)
  • 参数:1 个或 2 个整数
  • 返回值:int
text
下一波编号 = 随机整数(1, 4)
怪物组.生成("波次_" + 下一波编号)

随机小数

  • 用法:随机小数(最大值)随机小数(最小值, 最大值)
  • 参数:1 个或 2 个数字
  • 返回值:double
text
浮动倍率 = 随机小数(0.85, 1.15)
最终伤害 = 基础伤害 * 浮动倍率

加权随机

  • 用法:加权随机(权重1, 值1, 权重2, 值2, ...)
  • 参数:成对写入,奇数位是权重,偶数位是结果
  • 返回值:对应被抽中的值
text
品质 = 加权随机(70, "普通", 25, "稀有", 5, "史诗")
消息.广播("&6本轮掉落品质: " + 品质)

TQ Minecraft Server Plugin Docs