更新时间:2024-01-03 17:05
计分板,又称记分板,是游戏《Minecraft》中的一种指令,指令单词为scoreboard。计分板系统是一套通过命令操纵的复杂游戏机制。主要为地图作者与服务器运营者准备,可用多种形式追踪、设置并列出玩家及实体的分数。这些命令管理记分板的目标、玩家和队伍。
PC的计分板有三个分支,分别是objectives、players和teams。
表格信息来源
objectives
objectives在游戏中的意思是“计分项”,作用为控制计分板的计分项目。该分支又分为分为add、remove、list和setdisplay。
表格信息来源
“显示的名称”指这个计分项目对外显示的名称。
players
players在游戏中的翻译为玩家,作用是控制玩家的分数。该分支又分为list、add、remove、set和reset。
teams
teams在游戏中的翻译为队伍,有分为list、add、remove、empty、join、leave和option。
(信息来源)
PE的计分板功能相对于PC来说,比较少。PE的计分板(scoreboard)分为objectives和players。除了比java版少了大部分准则,其他的基本一样。
objectives分支格式
list:/scoreboard objectives list
remove:/scoreboard objectives remove <计分项目名称>
add:/scoreboard objectives add <计分项目名称> <计分项目类型> [显示的名称]
setdisplay:
PC版 /scoreboard objectives setdisplay <显示位置> [显示的计分项目名称] [排序方法]
如果不打名称,会删除在那个位置显示的计分项目。
(注:“<>”是必须要填,“[]”是可以不用填)
players分支格式
set:/scoreboard players set <玩家名称> <要设置分数的计分项目名称> <设置的分数> [NBT标签]
add:/scoreboard players add <玩家名称> <要增加分数的计分项目名称> <增加的分数> [NBT标签]
remove:/scoreboard players remove <玩家名称> <要减去分数的计分项目名称> <减去的分数> [NBT标签]
reset:/scoreboard players reset <玩家名称> [要重置的项目名称]
list:/scoreboard players list <玩家名称>
test:/scoreboard players test <玩家名称> <要检测的计分项目名称> <最小值> <最大值>
operation:/scoreboard players operation <玩家1名称> <要计算的计分项目> <计算方式> <玩家2名称> <要计算的计分项目>
random:/scoreboard players random <玩家> <计分项目> <随机数的最小值> <随机数的最大值>
(注:“<>”为必须要写,“[]”为可以不写)
teams分支格式(仅PC版)
list:/scoreboard teams list
add:/scoreboard teams add <队名> [显示的名字]
remove:/scoreboard teams remove <队名>
join:/scoreboard teams join <队名> [玩家ID]
玩家id不写为自己
leave:/scoreboard teams leave [玩家id]
empty:/scoreboard teams empty <队名>
(注:“<>”为必须要写,“[]”为可以不写)
option分分支格式
/scoreboard option <队名> <数值>
下面格式的前半部分重复的(是上面的格式)用“......”来表示。
/...... friendfire
/...... color <颜色英文>
/......eeFriendlyInvisibles
(格式信息来源)
表格信息来源
作用1:计分板计时器
计分板计时器相对于传统的红石循环计时器占地面积更小,更简单。
例子一:10秒倒计时
主要原理:
红石循环1秒,命令方块就被激活一次,减少(remove)1分数。当到达0分数时,循环命令块检测(test)到,输出信号,重新将该虚拟玩家的分数设置(set)为10,这样循环下去。
例子二:计分板时钟
主要原理:
红石循环1秒,命令方块就被激活一次,给“秒”增(add)加1分数。当到达60分数(test)时,将“秒”设置(set)回0,给“分”增加(add)1分数。当“分”达到60时(test),将“分”设置(set)回0,给“时”增加(add)1分数。当“时”达到24时(test),将“时、分、秒”重新设置(set)回0。
作用2:计分板商店
计分板货商店比clear商店要好的地方在于不会吞币,不会占用背包空间。(仅对于购买而言)
主要原理:
如果玩家需要购买货物,可以首先检测(可依照“/scoreboard test 玩家名 记分板名称 商品价格”这一格式)最近的玩家货币是否达到了单价,如果是,则发送红石信号,激活下一个命令块。然后删除(/scoreboard remove 玩家名 记分板名称 商品价格)最近的玩家商品单价的分数,最后给予(可使用“/give”这一指令)最近的玩家商品。
相应的,如果玩家需要要卖出自己的东西,也可以使用类似的方式,不过传统的漏斗商店效率低(漏斗每秒只能传输2.5个物品,在货物数量大的时候低效是尤为显著的),此时可以借用部分clear商店的思路:首先建立一个循环型命令方块,以每秒10个的速度清除(可使用“/clear 玩家名 商品名 特殊值 1”这一指令防止吞货物),而后每吞掉一个货物,就为这个玩家加上指定数量的分数(也就是货币,可以用指令“/scoreboard add 玩家名 记分板名称 商品价格),这样只需要2个命令方块便可以实现售卖型商店。但请注意,为防止玩家货物卖光后(即/clear指令无法执行时)仍在为玩家添加货币,一定要把第二个命令方块设置为“有条件的”(即必须前一个命令方块内指令可以成功执行时才执行该命令方块内的指令)