前言
FVTT作为虚拟桌面,掷骰功能是游戏过程中必不可少的一环,毕竟我们都是和骰子打交道,那么怎么使用骰点系统呢?
骰点系统
以下内容参考FVTT官网,请以官网为准。
骰点的结果会显示在聊天消息中,根据可见性关系分为下列四种投掷方式:
- 公开掷骰:最常见的掷骰方式,也是默认的掷骰方式,该模式下掷骰的点数所有人均可见。命令如下:
/pr
或/publicroll
- 暗骰:此模式下投掷的结果只有投掷者和GM可见,命令如下:
/gmroll
或/gmr
- 盲骰:此模式下投掷的结果只有GM可见,命令如下:
/blindroll
或/broll
或/br
- 自骰:此模式下投掷的结果只有自己可见,命令如下:
/selfroll
或/sr
OK,这是掷骰命令,那么如何掷骰呢?下面就是讲解掷骰公式了。
首先,掷骰公式是一个包含了四则运算和特殊运算符如d
(dice)等的运算式。因此你可以直接将其作为运算式进行书写。
最基础的运算公式
首先我们来讲解掷骰的基本运算语法,前面我们已经提到了掷骰公式是一个运算式,因此掌握运算符号即可。
- :这是一个二元运算符,表示有几个骰子,表示骰子的数量。如:即为掷3个8面骰的结果。
- :这些都是二元运算符,作用如四则运算中的原本作用,如:,将与的结果相加后除以4。
- ,作用是改变运算次序。
那么运算优先级,四则运算保存不变,的优先级处于最高,其次是四则运算。你可以通过括号改变运算次序。
思考我知道你在想什么,这种运算是否可以生效?
看来可以。
特殊运算符
以下是你可以用的特殊运算符,注意,一些运算符的简写可能会混淆,同时这些运算符是基于骰点操作的,因此它只能作为掷骰运算符后作为修饰用。你不可以将其接到其他运算符后。
- kh/k: 取最高,顾名思义,在你骰出的骰子中取最大的前n个骰子,如:,即在3个8面骰结果中取最高的2个。
- kl: 取最低,和kh相反,它会取走最小的前n个骰子。
- dl/d:丢弃最低,和kh类似,它会在骰出的骰子中丢弃最小的前n个骰子,这些骰子将不参与运算结果。如:,在3个8面骰结果中丢弃前2个最小的,保留最大的1个。
- dh : 丢弃最高
- min : 替换最小值为指定结果,在你骰出的骰子中选择低于x的骰值,将其替换为x,注意这里是绝对小于的关系。如代表将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)。它们可以像任何其他骰子一样掷骰子,但不受运算符的影响,尽管它们仍然可以与其他骰子类型组合。
想要骰出硬币,你只需要将中的设置为c
即可。
如果你需要判断成功失败,你只需要再后接c
即可,默认情况下,不给任何条件则判断正面为默认成功。如:
/roll 4dc # 扔四枚硬币./roll 3dcc1 # 扔三枚硬币,统计正面朝上的数量/roll 3dcc0 # 扔三枚硬币,统计反面朝上的数量
命运骰子是六面骰子,可以掷出正、减或空白面。它们不受运算符的影响,因为它们的空白面没有数值并且被认为是零。
想要骰出命运骰子,你只需要将中的设置为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
部分信息可能已经过时