这是一个计分板教程,计分板又称记分板,反正都一样。有耐心的话可以试试看!相信想学计分板的人一定会有耐心的!
首先,计分板的指令是/scoreboard 它的分支有3个指令他们分别是objectives,players,teams翻译为目标(或项目),玩家和队伍。objectives是控制计分板的计分项目,players是控制玩家的分数,team就是队伍。命令可以通过队伍来改变某队的玩家分数
objectives支指令教程:
objectives分为list/add/remove/setdisplay.
list就是列出所有计分项目,包括它的类型,显示的名字,和它的真正名字.
add就是添加一个计分项目指令为 /scoreboard objectives add <名称> <类型> [显示的名称] 注意:<>是必须要填 []是可填可不填
/scoreboard objectives add <名称> <类型> [显示的名称]
名称就是你用命令或者命令方块来修改玩家分数时的名字,用它的显示名字是不行的,除非你没有打显示的名称就可以。类型的话就是得到分数的方法,玩家可以通过做一些事情去获得分数,类型一般分为 dummy,health,totalKillCount,playerKillCount,deathCount. dummy就是虚拟的,只能通过命令或者命令方块去修改分数。health是不可修改的,它是根据玩家的生命值而变化。totalKillCount只要玩家杀死任何生物(包括玩家)就可以获得的分数,playerKillCount就是玩家杀死玩家所得的分数。deathCount是由玩家的死亡次数而增加的,可以说是可以记住玩家死亡的次数。显示的名称随便写,就是显示出来的名字。
举一个例子,假如我新建一个计分项目是这样的/scoreboard objectives add Kills totalKillCount 杀敌数
/scoreboard objectives add Kills totalKillCount 杀敌数
那么我只要杀任何东西(包括杀人)就可以获得分数了,显示的名字则是杀敌数,命令控制的名字就是Kills.每杀一个生物就可以得到一分。
接下来的是objectives的remove,remove就是移除的意思,不用说,就是移除一个计分项目的。
/scoreboard objectives remove <名称> 名称就是你添加计分项目的名称,也就是命令执行要的那个名字。
/scoreboard objectives remove <名称>
有人说,得到了分数,怎么才可以看到自己的分数呢?
那就得用到objectives的setdisplay了,setdisplay是设置计分项目的显示位置,显示的位置分为list/sidebar/belowname.list是显示在多人联机的人数列表(按Tab键可以看得到),sidebar就是显示在你游戏屏幕内的右边,belowname 则是显示在玩家的头上(需要多人联机才可以)
/scoreboard objectives setdisplay <位置> [目标]
如果不打目标,那会就清空那个显示位置的计分项目
举一个例子,我之前已经创建了一个“杀敌数”的计分项目(看上面)
那么显示位置list/sidebar的效果图分别为:
计分板objectives支命令章结束
players支指令教程
players支命令分为set/add/remove/reset/list. list指令可以列出哪一些玩家获得了分数(可以这样说),通过这样你可以知道有哪些人获得了参与了计分. set指令则是设置玩家某计分项目的分数,add指令则是增加多少分到某玩家的某计分项目,remove指令则是移除某玩家在某计分项目多少分,reset则是重置某玩家所有计分项目的分数(清空他的分数,并且退出计分)。如果你想修改一个dummy的计分项目的玩家玩家分数,那么你只能通过这个players支命令来修改玩家的分数。
/scoreboard players <设置(set)|添加(add)|移除(remove)重置|(reset)|列表(list)>
设置某玩家的某计分项目的分数(目标则是计分项目):
/scoreboard players set <玩家> <目标> <分数>
添加(加上)多少分至某玩家的某计分项目的分数(目标则是计分项目):
/scoreboard players add <玩家> <目标> <分数>
移除(减去)多少分至某玩家的某计分项目的分数(目标则是计分项目):
/scoreboard players remove <玩家> <目标> <分数>
重置某玩家所有计分项目的分数(目标则是计分项目,直接退出计分):
/scoreboard players reset <玩家>
假如我输入:/scoreboard set hacccc Kills 100 那么,这个命令则是设置hacccc的Kills计分项目的分数为100,输入后,我的Kills分数就有100了。
假如我输入:/scoreboard add hacccc Kills 100 那么,这个命令则是加上100分到hacccc的Kills计分项目,输入后,我的Kills分数就多了100了。
其他也是这样,依次内推。相信这很容易理解吧?
players支命令章结束
teams支命令教程
teams支指令分为list/add/remove/empty/join/leave/option.
list列出所有队伍,add添加队伍,remove移除队伍,empty清空某队伍的人(T光某队的人),join加入某队,leave退出某队,option设置某队
/scoreboard teams <list|add|remove|empty|join|leave|option>
list-略添加队伍指令:
/scoreboard teams add <队名> [显示的名字]
移除一个队伍:
/scoreboard teams remove <队名>
加入一个队伍:
/scoreboard teams join <队名> [玩家ID]
玩家ID不写则为自己,队名则是必须写现有的队伍。
退出队伍:
/scoreboard teams leave [玩家ID]
不写玩家ID则为自己。
使某队的所有玩家退出该队伍:
/scoreboard teams empty <队名>
option支指令教程:
/scoreboard teams option <队名> <friendlyfire|color|seeFriendlyInvisibles> <数值>
option分为friendlyfire/color/seeFriendlyInvisibles.
friendfire翻译的意思是误伤,它的数值有true和false,true则是开启误伤,false则是关闭误伤。
/scoreboard teams option <队名> friendlyfire <true|false>
color则是设置某队伍的颜色请按Tab键进行选择颜色,数值就是颜色。(太多种颜色了,不打出来了= =)
/scoreboard teams option <队名> color <颜色>
seeFriendlyInvisibles则是设置是否可以看到自己队伍的人隐身,它的数值有true和false,true则是可见,false则是关闭可见。
/scoreboard teams option Red seeFriendlyInvisibles <true|false>
teams支命令章结束
好了,阅读完了上面,相信你已经大致懂得了如何使用记分板,你可能还觉得记分板只是个计分数的,没有啥用,那你就大错特错了。记分板它不但可以记住你的分数,而且,你还可以使用它制作更多的东西,例如是商店、用户组(当然,服务器最好用基础插件)、机械的使用限制。但是你前提是要学会以下的东西,以下内容由浅到深请注意。首先,你必须要学习players如何跟teams支命令连接在一起,意思是怎么使用队伍来控制玩家的分数。教程如下:
teams与players支命令的联系(必学!)
首先,先用players里的set来举例子。我们可以知道players的set的指令是这样子用的/scoreboard players set <玩家> <计分项目> <分数>,在命令方块里,我们可以把 “<玩家>” 改成 "@p"即最近的玩家。如果在@p的右边用[]括号贴着它可以弄附加条件,请参照学习MCWiKi命令方块←学习完后再看这里= = 那么,现在怎么弄呢? 先给你个例子/scoreboard players set @p[team=Red] ABC 123这个例子就是让执行该命令的命令方块找到离自己最近,队伍为Red的玩家,然后设置这个玩家的ABC计分项目的分数为123。这样类似于/testfor指令(不要问我)。当然,也可以放个比较器在这个命令方块附近,像/testfor指令一样。
P.S:players的其他子命令都可以,例如add、remove、reset。
/scoreboard players set @p[team=Red] <计分项目> <分数>
接下来就是更复杂一些的了,请看以下例子!
/scoreboard players set @p[team=Red,score_ABC_min=123] EFG 23333
这个例子是先让这个执行命令的命令方块找到队伍为Red的人,然后这个人的计分项目ABC的分数必须最小为123,如果这些条件符合接着就会设置这个人的EFG计分项目的分数为23333,如果找不到符合条件的玩家,这个命令将会失效。
/scoreboard players set @p[team=Red,score_计分项目_min=N] <计分项目> <分数>