2971 字
15 分钟
一次骰够!!!!!——FVTT的骰点系统

前言#

FVTT作为虚拟桌面,掷骰功能是游戏过程中必不可少的一环,毕竟我们都是和骰子打交道,那么怎么使用骰点系统呢?

骰点系统#

以下内容参考FVTT官网,请以官网为准。

骰点的结果会显示在聊天消息中,根据可见性关系分为下列四种投掷方式:

  • 公开掷骰:最常见的掷骰方式,也是默认的掷骰方式,该模式下掷骰的点数所有人均可见。命令如下:/pr/publicroll
  • 暗骰:此模式下投掷的结果只有投掷者和GM可见,命令如下:/gmroll/gmr
  • 盲骰:此模式下投掷的结果只有GM可见,命令如下:/blindroll/broll/br
  • 自骰:此模式下投掷的结果只有自己可见,命令如下:/selfroll/sr

OK,这是掷骰命令,那么如何掷骰呢?下面就是讲解掷骰公式了。

首先,掷骰公式是一个包含了四则运算和特殊运算符如d(dice)等的运算式。因此你可以直接将其作为运算式进行书写。

最基础的运算公式#

首先我们来讲解掷骰的基本运算语法,前面我们已经提到了掷骰公式是一个运算式,因此掌握运算符号即可。

  1. x d yx\ d\ y:这是一个二元运算符ddxx表示有几个骰子,yy表示骰子的数量。如:3d83d8即为掷3个8面骰的结果。
  2. +/+ - * /:这些都是二元运算符,作用如四则运算中的原本作用,如:(1d8+1d42)/4(1d8 + 1d4 * 2) /4,将1d81d81d421d4*2的结果相加后除以4。
  3. ()(),作用是改变运算次序。

那么运算优先级,四则运算保存不变,dd的优先级处于最高,其次是四则运算。你可以通过括号改变运算次序。

思考

我知道你在想什么,3d(2d8+1)3d(2d8+1)这种运算是否可以生效?

image-20250808225649194

看来可以。

特殊运算符#

以下是你可以用的特殊运算符,注意,一些运算符的简写可能会混淆,同时这些运算符是基于骰点操作的,因此它只能作为掷骰运算符后作为修饰用。你不可以将其接到其他运算符后。

  • kh/k: 取最高,顾名思义,在你骰出的骰子中取最大的前n个骰子,如:3d8kh23d8kh2,即在3个8面骰结果中取最高的2个。
  • kl: 取最低,和kh相反,它会取走最小的前n个骰子。
  • dl/d:丢弃最低,和kh类似,它会在骰出的骰子中丢弃最小的前n个骰子,这些骰子将不参与运算结果。如:3d8dl23d8dl2,在3个8面骰结果中丢弃前2个最小的,保留最大的1个。
  • dh : 丢弃最高
  • min : 替换最小值为指定结果,在你骰出的骰子中选择低于x的骰值,将其替换为x,注意这里是绝对小于的关系。如4d10min24d10min2代表将4个10面骰中小于2的结果替换为2,即将1替换为2。
  • max :替换最大值为指定结果,和min类似,它会替换大于x的结果为x,注意是绝对大于。

成功/失败#

在这一章节,我们主要介绍这个运算符: cs, 计算成功次数。

在不给定任何条件下,cs会将前文提到的所有骰子记作成功,因为这是与掷骰运算相关的,因此你也不可以将其接到其他运算符后

以下是你可以使用的条件:

  • cs={y}: 计算骰出y的骰子数量
  • cs>{y}
  • cs>={y}: 计算骰出大于等于y的骰子数量
  • cs<{y}: 计算骰出小于y的骰子数量
  • cs<={y}: 计算骰出小于等于y的骰子数量
  • even : 计算骰出偶数的骰子数量,这是一个单独的运算符,所以不需要加上cs前缀。
  • odd : 计算骰出奇数的骰子数量,这是一个单独的运算符,所以不需要加上cs前缀。

当然我们也有相反的计算失败次数的运算符:cf,它的约束条件与上文相同。

下面是对于成功/失败操作数量本身的操作符:

  • df : 扣除失败次数:这个操作符用于指定操作失败的条件,和上文的约束相同,然后从成功计数中减去失败次数,将每次失败计数为-1。失败的标准与计数成功相同。
  • sf : 减去失败骰子:这个操作符用于指定操作失败的条件,与上文约束相同,然后从骰点结果中减去失败的骰子骰点的值
  • ms : 成功幅度:这个操作符从掷骰子的结果中减去用户设置的目标值,并返回差值作为最终总数。如果骰点小于目标,则输出负数,反之则输出正数。

以下是示例,读者可以直接在FVTT运行,来观察结果:

掷十个二十面骰子,每个掷出 20 的骰子算成功。

/r 10d20cs20

掷出十个二十面骰子,每个掷出 10 以上的骰子计算成功。

/r 10d20cs>10

掷六个十面骰子,每个掷出 6 或更高的骰子计算成功。

/r 6d10cs>=6

掷一个一百面骰子,如果结果为 20 或更低,则算为成功。

/r 1d100cs<=20

掷三个六面骰子,每个掷出偶数的骰子算成功。

/roll 3d6even

掷三个六面骰子,每个掷奇数的骰子计算成功。

/roll 3d6odd

掷出五个十面骰子,将任何掷出 6 或更高的骰子计为成功,同时扣除任何掷出 1 的骰子数量。

/r 5d10cs>=6df=1

掷出五个十面骰子,每掷出 8 或更高的骰子计算成功,并在掷出 10 的结果时再掷一个骰子。

/r 5d10cs>=8x=10

掷 5 个骰子,每掷 8 个或更高的骰子计算成功,并在掷出 9 或 10 时再掷一个 d10。

/r 5d10cs>=8x>=9

掷十个骰子,每掷出一个骰子 8 或更高,就算成功一次,每掷出 8 或更高的骰子,就会再掷出 d10。

/r 10d10cs>=8x>=8

掷十个二十面骰子,每个掷出 20 的骰子计算一次失败。

/r 10d20cf20

掷十个二十面骰子,每个掷骰子掷出 10 的骰子都算一次失败。

/r 10d20cf>10

掷六个十面骰子,每个掷出 6 或更高的骰子计算一次失败。

/r 6d10cf>=6

掷一个一百面骰子,如果结果为 20 或更低,则算失败。

/r 1d100cf<=20

掷四个六面骰子,将任何恰好掷出 6 的骰子视为成功,并从每个掷出 1 的骰子的最终结果中删除 1。

/r 4d6cs6df1

掷十个十面骰子,将任何掷出 6 或更好的骰子视为成功,并为每个掷出 1 的骰子从最终结果中删除 1。

/r 10d10cs>5df1

掷一个十面骰子,将 10 算作成功,算 1 算作失败。

/r 1d10cs=10df=1

掷出三个六面骰子,并减去任何掷出低于 3 的骰子的值。

/r 3d6sf<3

掷三个六面骰子,从最终结果中减去 10。

/r 3d6ms10

硬币与命运骰子#

硬币是双面骰子,有两个结果:正面(heads)或反面(tails)。它们可以像任何其他骰子一样掷骰子,但不受运算符的影响,尽管它们仍然可以与其他骰子类型组合。

想要骰出硬币,你只需要将xdyxdy中的yy设置为c即可。

如果你需要判断成功失败,你只需要再后接c即可,默认情况下,不给任何条件则判断正面为默认成功。如:

/roll 4dc # 扔四枚硬币.
/roll 3dcc1 # 扔三枚硬币,统计正面朝上的数量
/roll 3dcc0 # 扔三枚硬币,统计反面朝上的数量

命运骰子是六面骰子,可以掷出正、减或空白面。它们不受运算符的影响,因为它们的空白面没有数值并且被认为是零。

想要骰出命运骰子,你只需要将xdyxdy中的yy设置为f即可。

/r 4df # 扔四枚命运骰子
特殊骰子的骰点示例

重新掷骰和爆炸掷骰#

TIP

笔者言:原文就是Exploding Dice,很怪异的名字

这些运算符也是基于掷骰结果的,因此你也不可以将其接到其他运算符后

以下是这些运算符的讲解:

  • r: 重投,根据设定的条件重新掷骰子,无论结果是否更优,都会保持结果。重掷只会重掷骰子一次。

  • rr : 递归重投

    根据设定的条件重新掷骰子,如果也符合条件,则重新掷骰子,如果不符合条件,则保留该结果。与重投骰子一次的重投不同,只要结果符合重投的条件,递归重投就会继续投掷。

  • x:爆炸掷骰(好生草的名字)根据设定的条件不断重新掷骰子,以便每次出现该数字都会再次掷骰子,从而不断增加总结果。

  • xo : 爆炸一次,根据设定的条件重新掷骰子一次,从而增加总结果。

  • x{y}:用数字上限爆炸

    根据设定的条件重新掷骰子,但最多只能掷y次。例如,在掷骰中添加 x5 将允许它最多爆炸 5 次,而在掷骰中添加 x1 与添加 x0 相同。

以下是示例:

  • 掷一个十面骰子,如果结果是 1,则重新掷骰子。
/roll 1d10r1
  • 掷一个二十面骰子,如果结果小于10,则重新掷骰子。
/r 1d20r<10
  • 掷一个二十面骰子,如果结果小于 3,则重新掷骰子,包括任何同样小于 3 的结果。
/r 1d20rr<3
  • 掷出五个十面骰子,如果任何一个结果是 10,则掷出另一个十面骰子,将结果添加到总数中。
/r 5d10x10
  • 掷一个二十面骰子,如果结果小于 10,则再掷骰子,直到其中一个骰子是 10 或更好,这个骰点是它唯一保留的结果。
/r 1d20x<10kh
  • 掷六个十面骰子,每掷 10 个骰子再掷一个骰子,但不要在额外的骰子上重新掷 10 个骰子,将它们添加到总数中。
/r 6d10xo10
  • 掷六个十面骰子,每掷 10 个骰子再掷一个骰子(最多 5 次),将它们添加到总数中。
/r 6d10x5=10
  • 掷六个十面骰子,每掷 9 或 10 个骰子(最多 2 次)再掷一个骰子,将它们添加到总数中。
/r 6d10x2>=9
  • 掷五个十面骰子,重新掷任何低于 8 的骰子,并重新掷任何得分为 10 的骰子,然后计算掷骰的总成功次数。
/r 5d10xo<8x10cs>=8

骰池#

骰池是一类骰点或常数的集合,在运算时将会把骰池内的所有骰子全部进行运算,而后作为一个整体参与后续的运算,它可以视作是一个骰子的运算符。

骰池通过{}包裹,内部的元素通过,分隔。请看示例:

  • 掷出 4d6、3d8 和 2d10,仅保留最高结果。
/roll {4d6, 3d8, 2d10}kh
  • 掷一个二十面骰子,结果只能是 10 或更高。
/roll {1d20, 10}kh
  • 掷一个二十面骰子,用其结果或数字 10 中的较高者,然后加 5。
/r {1d20,10}kh + 5
  • 眼熟吗?请查阅DnD5e的创建人物章节理解此骰池
/roll {4d6kh3, 4d6kh3, 4d6kh3, 4d6kh3, 4d6kh3, 4d6kh3}

掷出 6d6、5d8、4d10、3d12 并计算有多少个结果大于 15。

/roll {6d6, 5d8, 4d10, 3d12}cs>15

掷一个八面骰子和一个六面骰子,如果它们掷出最大值,它们都会额外掷出相同大小的骰子。使用最高的结果。

/roll {1d8x, 1d6x}kh
一次骰够!!!!!——FVTT的骰点系统
https://leave-time.me/posts/一次骰够fvtt的骰点系统/
作者
Leave_Time
发布于
2025-08-08
许可协议
CC BY-NC-SA 4.0
上次更新时间:2025年08月09日-17:52:37

部分信息可能已经过时