2015-01-09 16:54:09 k73游戏之家 作者:sola
我的世界相信大家都不陌生,游戏中大家用过计分板命令么?下面小编为大家带来我的世界计分板命令使用教程,一起看看吧。
在谈起任何的指令以前
我们先来讲解一下何谓记分板
不知道各位是不是有看过成绩每个学生的成绩
大概长这个样子
以上范例纯属虚构,如有雷同纯属巧合
老师决定他想要登记各位同学建筑和技术的成绩
于是他建立了这个表格以便可以快速查询他关心的事情
相对的在Minecraft中也有这种机制
建立建筑记分板
首先我们先建立建筑记分板
/scoreboard objectives add build dummy
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
添加(add)一个叫做build的项目
另外我只想以指令来更改这个值(dummy)
记分板的命名
即使输入中文作为名称也是可以被接受的
只是因为中文无法直接输入在Minecraft
因此在习惯上还是会以英文当作名称
而且在目标选择子嵌入时会有问题
记分板的命名限制
不可以与现存的记分板重复
最多十六字符
记分板添加指令可以让玩家自订显示的名称,也就是
/scoreboard objectives add build dummy 建筑
显示名称的命名限制
最多三十二字符
移除记分板的方法
/scoreboard objectives remove build
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
移除(remove)一个叫做build的项目
加入玩家
接着我们加入玩家
/scoreboard players set kyob1010 build 0
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
设置(set)一个叫做kyob1010的玩家在build记分板上的分数为0
补充
记分板可以记录的数值范围在 -2147483648 ~ 2147483647
【1.8】实体也可以拥有自己的记分板分数
【1.8】以后记分板实际纪录的是实体的UUID(全域独一识别码)
但是如果该实体是玩家的话就显示名称(玩家显示方式照旧)
【1.8】可以加入NBTtag作为选择玩家的依据
举例
/scoreboard players set kyob1010 build 0 {NBTtag组}
/scoreboard players add kyob1010 build 1 {NBTtag组}
/scoreboard players remove kyob1010 build 1 {NBTtag组}
注意
如果没有利用设值加入玩家
那么在某些地方询问记分板值的时候可能会发生错误
就像你问老师的建筑分数是多少
老师就没有自己的分数
你还要问老师的分数是多少
加与减的功能
记分板提供了加与减的功能
/scoreboard players add kyob1010 build 1
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
添加(add)一个叫做kyob1010的玩家在build记分板上的分数1
/scoreboard players remove kyob1010 build 1
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
减少/移除(remove)一个叫做kyob1010的玩家在build记分板上的分数1
补充
被加/减的记分板数值一定要是正整数
移除玩家
如果我想要把某个玩家
从某个记分板上移除又该怎么做
/scoreboard players reset <玩家> [记分板]
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
重设(reset)一个玩家
换句话说把这个玩家直接从记分板系统上移除
如果没有给记分板参数的话
那么代表将该玩家在所有的记分板上移除
补充
玩家参数支援 *
意思是所有记分板上的玩家
/scoreboard players reset *
记分板摆放
有时候老师会希望把成绩张贴给大家看
【1.5】记分板提供了三个位置摆放记分板
画面的旁边(sidebar)
玩家清单(list)
名字下方(belowname)
画面的旁边(sidebar)
玩家清单(list)
名字下方(belowname)
也就是
/scoreboard objectives setdisplay sidebar build
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
设置展示位置(setdisplay)在画面的旁边(sidebar)
而这个对象项目是build
补充
如果想要将旁边的显示移除,那么就将空记分板显示
也就是 /scoreboard objectives setdisplay sidebar
【1.8】可以让不同的队伍看到不同的记分板
显示位置像是 sidebar.team.
代表说在某个颜色的队伍上显示
判断依据
有时候老师不想要自己手动登记所有同学的分数
因此他会要求小老师来帮忙他纪录
我们可以将记分板与某个判断依据绑起来
例如build记分板就和建筑考试的分数绑起来
或是Health(血量)记分板就和health(血量)判据绑起来
/scoreboard objectives add Health health
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
添加(add)一个叫做Health的项目
另外我想以玩家的血量(health)来更改这个值
这样当玩家的血量被更动时
这个记分板也会与玩家的血量同步更动
【1.5】判据共有五个
health : 血量
deathCount : 死亡次数
playerKillCount : 当玩家杀死其它玩家时分数会增加
totalKillCount : 当玩家杀死其它生物时分数会增加
dummy : 只希望以指令来更动这个记分板的值
附注
你不能对着绑于health判据的记分板设值
因为那必须要代表血量
补充
【1.8】将有关于物品ID的判据全部更改为名称
【1.8】加入四个判据
stat.crouchOneCm
stat.sprintOneCm
stat.timeSinceDeath
trigger
名字的字段可以使用缩写
也就是@p(最近的玩家)、@a(所有玩家)、@r(随机玩家)
补充
【1.8】添入新选择子@e(所有实体)
【1.8】玩家选择标签只会针对在在线的玩家
如果要对所有加入记分板的玩家(不论是否在在线)作修改记分板
那么请使用 *
也就是/scoreboard players set * build 0
记分板数据嵌入玩家选择子的方法
@p[score_build=1]
代表这个玩家的build记分板的值最高只能有 1 ,也就是 <= 1
@p[score_build_min=1]
代表这个玩家的build记分板的值最低要有 1 ,也就是 >= 1
@p[score_build=10,score_build_min=1]
代表这个玩家的build记分板的值最高只能有 10 而且最低要有 1
也就是 1 <= build记分板的数值 <=10
特殊用法
@p[score_build=1,score_build_min=1]
代表这个玩家的build记分板的值最高只能有 1 而且最低要有 1
也就是 build记分板的数值 一定要 1
我该如何知道现在地图上面的记分板有哪一些
请输入以下指令
/scoreboard objectives list
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
显示清单(list)
补充
/scoreboard objectives list <玩家>
这行指令代表要求记分板(scoreboard)的对象项目(objectives)
显示清单(list)上特定玩家的记分板数值
【1.8】支持虚拟玩家
有念公民的应该知道有个东西叫做法人
法人的意思是在法律上假装有这个人
以下范例纯属虚构,如有雷同纯属巧合
我们会在新闻上听到台积电对鸿海提告
却不会听到张忠谋对郭台铭提告
这是因为在法律上台积电和鸿海被视为一个人
在Minecraft里面也有红队与蓝队这样的法人,而这样的人要怎么样加入记分板呢
/scoreboard players set TeamRED build 0
我们当作TeamRED是一个人
让他也可以进入记分板
但是有时候我们虽然想要把这个数值记录下来
却不想要让他出现在显示区域
毕尽他真的不是一个人
我们就在TeamRED前面加上一个 #
也就是
/scoreboard players set #TeamRED build 0
这样这个虚拟的人就不会被显示出来了
以往我们使用/testfor来侦测是不是有这样一个特定的人,但是虚拟人物本身并不是一个人,我们又要如何监控他的数值呢?
我们使用
/scoreboard players test [Max]
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
测试(test)某个玩家(player)在某个记分板(objective)上的分数
最低是(min)而且最高是(Max)
补充
如果想要表示记分板的最大或是最小数值
也就是只规定最大不规定最小
或是只规定最小不规定最大
那么使用 * 填入最大或是最小的格子
有时候我们会想要把记分板的数值加起来,比如说TeamRED有自己的队伍分数,然后队伍分数是来自队员的分数加总
这时候我们就可以使用以下指令
/scoreboard players operation <玩家1> <记分板> <算术运算子(op=)> <玩家2> <记分板>
/scoreboard players operation TeamRED build += member build 1
这行指令代表要求记分板(scoreboard)中的玩家项目(players)
做运算(operation)
将TeamRED的build记分板执行加法运算(+=)
被运算的另一个数值是玩家(member)在build记分板上的分数
讲白了就是 (后来的TeamRED的build) = TeamRED的build + 玩家的build
运算子共有五种
+= :加法
-= : 减法
*= : 乘法
/= :除法
%= :余,也就是前面的会变成除法剩下的余数
= :指派运算,也就是把前面的值变成和后面的一样
< :小于运算,如果后面的比前面还要小,那么将前面的数值变为后面的数值
> :大于运算,如果后面的比前面还要大,那么将前面的数值变为后面的数值
>< :交换运算,交换前面和后面的数值
补充
记分板可以不用一样
有人会想既然他就是做运算
为什么不要用单一个运算子
而要后面加上等于
这其实是程序语言上面的用法
Trigger 与 Tellraw 的关系
任何被创造出来的事物
都是为了解决实际上遇到的问题
在【1.7】时
/tellraw内嵌的指令按钮
必需要触发者本身有权限可以使用
如果可以触发的话
只要重复按下按钮就可以被重复触发
为了解决这个问题
在【1.8】时新增了一个判据trigger
与指令/scoreboard players enable <玩家>
和指令/trigger <对象> <设置或增加> <值>
trigger系统有点像是老师抽屉
你需要获得老师给的钥匙才能打开抽屉
首先我们先将记分板和老师的抽屉绑起来
/scoreboard objectives add build trigger
接着
如果老师想给你这抽屉的钥匙
那么就要用这样的指令
/scoreboard players enable @p build
这个指令让你可以打开一次老师的抽屉
获得更动里面的物品一次的权限
接着
你使用以下的指令来更改他
/trigger build set 0
/trigger build add 1
被更动过的trigger类型记分板会恢复到不能更动的状态
这个指令最大的价值在于
只要获得存取权
即使不是OP也可以使用这个指令
队伍记分板
记分板还支持了队伍的功能