|
本帖最后由 Mirence 于 2024-6-15 20:19 编辑 命令方块进阶教程之 玩家序数统计系统Plus 前言: 旧版原理回顾:在每次给予序数后,用标签t2来表示已被统计过的玩家,于是没有标签t2的玩家就是刚刚进入游戏或者是未被统计过的玩家,此后通过目标选择器参数[tag=!t1]就可以选择到未被统计过的玩家,每次检测到有未被统计过的玩家出现时,为虚拟实体e1在计分板上的分数加1,再将e1的分数赋值给这位玩家,这时这位玩家的分数便为玩家序数,最后再为他添加t2标签即可。然而由于原装置中有给予标签和给予分数两个步骤,无法保证这两个个命令方块执行命令时的命令执行者是同一个玩家,所以为了使装置没有漏洞,还需要加上“跟踪”这一步骤:也就是先将跟踪标签t1给予一个不拥有t2的玩家,再对拥有t1的玩家先后进行给予序数和添加标签t2这些操作,最后删除这位玩家的t1标签即可。 这样玩家序数统计系统一共需要5个命令方块(所以说以前的3个命令方块的UID系统是有漏洞的哦)。 导语: 由于1.19版本的/execute指令中新增了条件子命令,其拥有检测分数以及否定功能,因此我们可以利用/execute指令将这两种功能结合,来直接检测和选择在指定计分板上没有分数记录的玩家。当然我们也可以直接检测和选择在计分板s1上没有分数记录的玩家(即未被统计过的玩家),所以说玩家序数统计系统可以简化,麦仁丝称之它为“玩家序数统计系统plus”。 玩家序数统计系统plus
(这里采用了盔甲架代替玩家) 玩家序数统计系统plus的简要内容如下表:
玩家序数统计系统plus的简易流程图如下图: 【麦仁丝课堂】玩家哎叙述统计系统plus 简易流程图
注意:该装置不适用于1.18及以下版本。 正文: 既然1.19版本的/execute指令可以直接检测没有分数记录的玩家(或者是不在某个分数范围内的玩家),那么我们也可以直接检测在玩家序数计分板s1上没有分数记录的玩家。由于麦仁丝还没有找到能够用新版/execute指令来只选择一个符合条件玩家的方法,所以这里需要先“标记*”可能出现的多个没有分数记录的玩家,然后下一步再选择被标记玩家中的其中一个。第一步:标记未统计玩家 不过,我们这里可以就使用玩家序数计分板s1对玩家进行标记,一般来说玩家序数从1开始算起,所以可以将所有没有有数记录的玩家在s1上的分数设定为0。于是这时未被统计过的玩家在s1上没有分数记录或者分数为0,也就是分数范围不在[1,+∞]之内的玩家。 我们可以将以下指令输入第一个“循环 开启”命令方块中:
若这里不对未被统计过的玩家进行“标记”,那么便有可能会出现“重号”的情况。 第二步:给予被标记的玩家玩家序数(UID) 当上一步执行成功后,便说明游戏中出现了未被统计过的玩家,于是接下来的步骤与旧版一样,我们先将表示最高序数的虚拟实体e1在计分板se上加1分,然后再将e1在se上的分数随机赋值给其中一个被标记的玩家即可。(本教程开头的图片中为了方便测试将e1也放在了s1中) 我们可以将以下指令输入第二个“连锁 有条件”命令方块中:
玩家在s1上的分数从0变为了他们自己的玩家序数,在给予了玩家在线序数的同时,也实现了“标记”的清除,所以说利用计分板来进行标记往往能够出现一举两得的效果。 由于没有进行“跟踪”和tag标签统计,且“标记”也只用了一个命令方块,所以没有原先的添加t1、t2,删除t1的操作,于是命令方块的数量便从原来的5个缩减到现在的3个,实现完全相同的功能且同样没有漏洞。 玩家序数统计系统plus思维流程图: 【麦仁丝课堂】玩家序数统计系统plus 思维流程图
展开查看“中文翻译”版: 玩家序数统计系统指令内容汇总: 【麦仁丝课堂】玩家序数统计系统plus
1 execute as @a unless score @s s1 matches 1..2147483647 run scoreboard players set @s s1 0 2 scoreboard players add e1 s1 1 3 scoreboard players operation @r[scores={s1=0}] s1 = e1 se 玩家序数统计系统事物名称汇总:
玩家序数统计系统plus(动图)
今天的教程到这里就结束了。麦仁丝在学习了1.19版本更新的/execute指令后发现,/execute指令实在有太多的妙用和新功能,麦仁丝认为在1.19版本以后,基岩版的指令界将由/execute指令统治。 这两年麦仁丝课堂的更新会非常缓慢,这篇教程也是麦仁丝挤时间做出来的,而且内容也比较“氵”,教程做起来也不会困难。实际上麦仁丝还有许多的作品,都希望能够分享给大家,但不知道又会搁置到什么时候。大家的支持就是对我最大的鼓励,如果麦仁丝课堂中出现了错误,甚至是错别字、语病等,或者是麦仁丝课堂中有什么不足的地方,希望大家能够指正和提出来! 点击前往 麦仁丝课堂 目录 点击前往 命令方块进阶教程 食用指南 (本期教程视频板尚未发布) |
-
-
星河***
铁粒 +15
原创奖励
-

提升卡
观察者