在阅读此教程之前,请确保你会使用命令方块的基础功能
记分板是什么
记分板是一个以/scoreboard 为首的一系列命令的组合
记分板中的项目其实就是一个变量
变量,能理解吧 如果理解不了的话就把它看成一个未知数x
而这个x的值可以通过各种操作来改变
换句话说,记分板可以设定一个未知数x,改变它的值,然后再根据这个x的大小来作出相应的反应
这里举个例子
如果我想要用记分板来做个任务的话【RPG地图】
我可以设定一个未知数x,起个名字叫【任务】,这时x=0
然后在完成任务时【比如交出某一物品,触发某个机关】时,把这个x的值改成1
然后再做一个机关,当触发时判定x的值是否是1,如果是的话就发出完成任务的信息
那么就是这样,一个任务就做好了
当然这只是一个非常简单的例子
下面我就会详细地说这个例子是怎么实现的
首先我们需要创建一个变量【也就是那个未知数x
/scoreboard objectives add RenWu dummy
这里的RenWu是BL的名字
而那个dummy则是判定条件,这里的dummy是虚拟变量
也就是说,这个变量是不受任何因素影响,只会被其他命令改变
左下角可以看到,我创建了一个变量
这个命令可以改变特定变量的值
而这里我是将RenWu变量的值改成了1
相对的,如果我把set改成:
add=》加一
remove=>减一
而后面的1则是代表相应的值
而另外一个命令则可以检测某个变量是否达到了某个值
比如如果我需要做出像是例子中的效果
【当变量=1时,输出信号】
就可以这样做:
/testfor @p[score_RenWu_min=1]
使用这个命令可以在命令方块被通入信号时,判断变量[RenWu]的值是否等于1
如果是的话,则向旁边的比较器输出信号
从而点亮红石灯
而对于一开始的那个做任务的例子,现在也可以很轻松地做出来了
这是接受任务的地方
触发机关时,创建【RenWu】这个变量
而当我们的英雄费尽千辛万苦来到了任务的终点时,他丢下了火把,触发了机关
此时将那个变量的值改为1
而这个就是接收器了
用高频的脉冲不断地判断变量的值
当它【终于】等于1时,向旁边的比较器输出信号
从而激发接下来的机关
如果任务的完成条件不是1,而是3,4,5,6之类的呢?
也就是说,如果这个任务有多个完成的条件呢?
再或者,如果这个任务有很多的完成条件,但是完成任务时根本就不需要全部做完呢?
又或者,如果这个任务的每个目标加的分不一样,而完成任务只是要求达到特定的分数呢?
这样的情况下,用传统的红石电路是难以达到的