Minecraft指令手册

你好MC

首页 >> Minecraft指令手册 >> Minecraft指令手册最新章节(目录)
大家在看踏天境 我在精神病院学斩神 授徒万倍返还,为师从不藏私 一念之私 千仞雪:天使与龙的共舞 洪荒之最强天帝 西游:反正很无聊,随便打个劫呗 神话解析,知道剧情的我无敌了 高武27世纪 洪荒:我夺舍了葫芦娃 
Minecraft指令手册 你好MC - Minecraft指令手册全文阅读 - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - 好看的玄幻魔法小说

第四十九章 目标选择器中的记分板

上一章书 页下一章阅读记录

网易我的世界手机版中,有一个租贷服在循环发布的服务器公告上写着如下信息:

你知道吗,在xxx服中,花费金币总量超过一定数额可以解锁更多特权!

花费金币总量超过5000,开放资源区2区

花费金币总量超过2万,开放跑酷地图-大日御舆

花费金币总量超过5万,开放主城-双料高级商店

......

更多相关信息请到主城大厅处查看

从指令方面研究这个信息,我们可以想到至少两种判定玩家是否拥有指定特权的方法:

1创建一个专门记录消费的计分项,每次玩家成功消费均增加该玩家在这个计分项上的分数。判定玩家是否拥有权限时都使用test子命令。

2创建一个专门记录消费的计分项,每次玩家成功消费均增加该玩家在这个计分项上的分数。准备一个重复执行的命令方块,每隔一段时间(或是在玩家消费完后检测一遍)给达到条件者添加特殊的tag标签。判定玩家是否拥有权限时,就根据该玩家是否拥有指定的标签来判定。

不管是第一种还是第二种方法,我们都是使用test子命令来判断玩家的分数是否达到了范围内。这样做明显效率会比较低下,而且不适用于Java1.13更新后的版本。

而且,在第二种方法中,我们该如何判断一个玩家是否拥有指定标签呢?难不成用remove试着删除一下,看看能否成功并输出红石信号激活接下来的命令方块?

这两个技术问题其实很好解决:使用目标选择器中的记分板相关参数。

在目标选择器中,检测目标在指定计分项上的分数是否满足条件的参数是score(Java1.13更新之前)和scores(Java1.13更新后和基岩版)。

虽然两者仅仅差一个“s”,但用法大径相庭。

先来说说Java1.13更新之前的score参数。这个score参数的用法如下:

score_<计分项名称>=<最大值>

score_<计分项名称>_min=<最小值>

和许多其他Java1.13更新前的参数类似(如r和rm,范围最大值和范围最小值),score参数也被分成了max和min两个细分参数。举个简单的例子:

\/give @a[score_coin=20,score_coin_min=15] diamond

这条指令的意思是:给予所有在coin计分项上的分数满足大于等于15并小于等于20的在线玩家一颗钻石。如果运行这条指令时,当前服务器有五个在线玩家:老张(coin为1)、老李(coin为15)、老黄(coin为18)、老刘(coin为20)和老邓(coin为27)。那么在运行这条指令之后,老李、老黄还有老刘将会得到一颗钻石,但是老邓和老张不会得到。

现在你明白如何使用score参数了吧?

再来说说scores参数。该参数和Java1.13更新后的许多参数类似(如distance,采用典型的“两点区间法”以确定值范围)。其格式如下:

scores={计分项A=值或范围,计分项b=值或范围......}

其中的“值或范围”,我们已经很熟悉了:

0..——大于等于5

..2 ——小于等于2

0..2 ——大于等于5且小于等于2

1 ——等于1

举个例子:

\/tag @a[scores={gamepoint=150..,killnumber=20..,dienumber=0..3}] add gold

这条指令的作用是:寻找gamepoint分数大于等于150,killnumber分数大于等于20且dienumber的分数大于等于0且小于等于3的所有玩家,给他们添加“gold”标签。

现在你也会用scores参数了吧?是不是很简单?

当然,目标选择器中的记分板相关参数不止这两个,还有另外两个参数:

team(队伍)和tag(标签)。

这两个的使用就更简单了。和type还有name参数类似,它们的格式是:

team=<队伍名>——选取属于指定队伍的目标

team=!<队伍名>——选取不属于指定队伍的目标

tag=<标签>——选取拥有指定标签的目标

tag=!<标签>——选取没有拥有指定标签的目标

举个例子:

\/tp @a[team=yellow,tag=skywarplayer]@e[type=armor_stand,name=yellowplace,limit=1,sort=nearest]

这条指令的作用是:寻找属于队伍yellow且持有skywarplayer标签的所有玩家,并将他们传送到距离执行地点最近的叫做yellowplace的盔甲架处。

需要注意一点。在一个目标选择器中,只能有一个“team=指定队伍”。原因相信你是知道的:一个玩家或非玩家在同一时间同一存档的情况下最多只能在一个队伍中。因此,minecraft中是不会出现一个玩家同时在两个队伍中的情况。如果出现了,那就是bug(特性)!

team、tag两个参数和type、name两个参数类似,但是也只是类似。由于队伍功能和标签功能的特殊性,并不是所有实体和玩家必须要属于一个队伍或挂着一个标签。那么如何选取那些不属于任何队伍或者是没有任何标签的玩家、实体呢?更进一步的话,如何选取所有有队伍归属或者是有标签的玩家、实体呢?

其实很简单。team和tag参数还有两个特殊格式:

team=——选取所有无队伍归属的目标

team=!——选取所有有队伍归属的目标

tag=——选取所有没有标签的目标

tag=!——选取所有有任意标签的目标

是不是很特殊?我们来尝试用一用:

\/spawnpoint @a[team=]~~~

这条指令的作用是:选取所有无队伍归属的玩家,并将他们的出生点设置在指令执行处。

这就是记分板的所有基础内容了。本卷也到此结束。

上一章目 录下一章存书签
站内强推一胎三宝:妈咪你别跑 赶尸道长 穿越豪门之娱乐后宫 黑驴蹄子专卖店 绿龙博士 大奉打更人 赤心巡天 重生过去震八方 钓鱼万倍返还,开局钓起国民女神 锦绣清宫:四爷,偏要宠 爱你入骨·隐婚总裁,请签字! 千仞雪:天使与龙的共舞 乾坤剑神 断袖战王的野蛮王妃 穿越战锤世界,但我没有哭出声 时齿轮盘:墟界行者的宿命轮回 刚上大学,我家多了个姐姐! 踏星 盘龙之圆满之上 小饭馆 
经典收藏踏天境 诸天影视剧变 震惊:我在新手村苟到系统崩了 学霸的军工科研系统 开局被逐出圣地,觉醒满级悟性 我晒了晒太阳,就超神了 我都要退休了,你说剧情没开始? 抗战:浴血太行侧 木叶:从被纲手领养开始 诡异星巫 从一只残破骷髅开始进化 巫师追逐着真理 随身带了个仙府 神级选择系统 无限先知 凡人宗门:称霸诸天万界 斗罗开局,盗窃诸天! 家族修仙,我体内修炼出一个世界 逼我重生是吧 十方乱世,人间武圣! 
最近更新灵璃 人魔之子成了神 一不小心端起地府铁饭碗 开局模拟器,我带着家族证道飞升 我能去天庭搬救兵 我靠签到成圣才不做赘婿 废柴女驭兽师:神兽大军踏碎凌霄 校花召唤,抽中光头强后悔哭了 我作为系统,锄强扶弱 苍天之上永恒至尊 斗武穹顶从青铜擂台到竞技场之神 从一穷二白到散修大能 广寒执杵兔 我的熟练度系统专点冷门 玄门逆命:天煞为尊 开局召唤佩恩,我创建晓组织 长生从点化纸人开始 穿成修仙界的小乞丐,躺平修仙 杀伐果断:开局灭世,我横推诸天 我的夫人竟是最终Boss 
Minecraft指令手册 你好MC - Minecraft指令手册txt下载 - Minecraft指令手册最新章节 - Minecraft指令手册全文阅读 - 好看的玄幻魔法小说