计入之后,我们该如何减少分数呢?这就要用到remove(删除):
... remove <目标选择器><计分项><减少的分数>[NBT(仅Java1.13之前)]
比如我想要将玩家“张三666”在“金钱”计分项中的分数减少10,这就需要执行:
/scoreboard players remove 张三666 金钱 10
假设他原本的分数是3。执行该指令过后,他的分数就变为了-7。
需要注意。记分板的分数其值是个Int整形类变量,也就是其值的范围只能是-~。如果一个玩家的分数已经是-,你再减去个1,他的分数就会变为。关于为什么会这样,以及Int整形究竟是个什么,你以后就会了解到。
如果你对此很感兴趣,那么你可以跳到后面135~140章尝试你是否能够理解。
分数可以增加和减少,当然也可以快速设定为指定的值。这时候就要用到set:
... set <目标选择器><计分项><分数>[NBT(仅Java1.13之前)]
设置成功后,该变量的数将会变成设置的分数。比如我想要将“张三666”的“金钱”设为2,就可以:
/scoreboard players set 张三666 金钱 2
你可能注意到了,在本章开头列出的格式中,还有一个reset(重置)。这个reset可和set没多大关系,因为reset是重置(更准确的说是清除数据)。其格式如下:
... reset <目标选择器>[计分项]
举个例子,假设我们运行了下面的指令:
/scoreboard players reset 张三666
你就会惊奇地发现“张三666”的名字从右边侧栏的“金钱排行榜”中消失了。这并不是说他被挤出了该排行榜,或是他的分数被重置为了0,而是他的所有在记分板上的数据全部没掉并且记分板也不再跟踪他,直到他重新计入到某个计分项中。
这哪里是reset啊,这简直是clear啊!
如果你不信,你可以试试/scoreboard list 张三666(列出张三666在记分板上的数据)或/scoreboard get 张三666(获取张三666的分数),看看你能不能再次找到他的数据。
这确实太狠了。如果你只想clear掉他在“金钱”计分项中的数据,在“张三666”后面加上“金钱”即可,即:/scoreboard players reset 张三666 金钱
(实际上还可以更狠。目标选择器使用*可以代指所有正在被追踪的目标,也就是说/scoreboard players reset *可以完全清除整个记分板上所有玩家和非玩家的数据)
你现在可以尝试弄一个你自己的虚拟货币用于服务器中。
这个货币的名称自己想。作者想的是:$。
没错,名字允许你填$等符号。我们就以这个符号为名字举例子,输入并运行下面的指令:
/scoreboard objectives add $ dummy §a$
(Java版:
/scoreboard objectives add $ dummy {“text“:“$“,“color“:“yellow“})
你就成功创建了一个叫做$的虚拟货币!
作者现在没钱,所以作者我要给自己钱:
/scoreboard players add @s $
OK,现在作者有100万美元了!(当然是游戏里)。
现在你可以尝试做一个记分板商店。我们运用clear指令和scoreboard指令结合即可建成一个收购商店(使用物品换取虚拟币)。而使用scoreboard和give指令可以建成一个用虚拟币购买实物的商店。
但是,计分项的分数可以是负数!我们既然要搞虚拟货币,就要防止这种负数欠账的事情发生。
此时,test子命令就派上用场了!
喜欢Minecraft指令手册请大家收藏:(m.zjsw.org)Minecraft指令手册爪机书屋更新速度全网最快。