请选择 进入手机版 | 继续访问电脑版
查看: 3345|回复: 45

[命令方块] 【记分板】个人数据显示

  [复制链接]

33

主题

299

帖子

156

积分

Lv.4 怪物猎人

UID
6216
小麦
45
金锭
783
下界之星
0
发表于 2018-12-23 17:38:08 | 显示全部楼层 |阅读模式
本帖最后由 氵每纳百彡 于 2018-12-24 23:50 编辑

大家好,我是氵每纳百彡,你可以叫我小海
Minecraft 2018_3_1 19_11_48.png
今天我们来讨论一下记分板的业余能力——显示信息
在没接触到记分板之前,我曾经认为记分板是这样显示信息的
(1420, 800) Minecraft 2018_12_23 14_57_19.png
然而,它却是这样显示的
(1420, 800) Minecraft 2018_12_23 15_05_54.png
而在游戏中,我们更关心自己的数据,有些数据需要时刻看着。对排行榜什么的并不怎么关心。而人多了后,会把自己的数据挤到找不到的地方去。
有什么办法只显示自己的数据呢?
答案是用title的actionbar模式
Screenshot_2018-12-23-16-10-45-67.png
毕竟title才是专门用来显示信息的。
我们知道,在title里输入目标选择器,会显示选中实体的名字。所以我们需要弄11个实体,分别命名为“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“+”
(1420, 800) Minecraft 2018_12_23 16_32_45.png
再创建几个记分项,分别命名为“个”、“十”、“百”、“千”、“万”……你需要title里显示几个数字,就创建几个记分项
再创个名为“Number”的记分项,让“0”的“Number”等于0,“1”的“Number”等于1,“2”的“Number”等于2……“9”的“Number”=9,“+”的“Number”等于10,
另外再创建几个辅助运算的记分项“a”、“b”、“c”……



系统原理:
1.先给【随机1个玩家】一个标记(a=1)
2.通过a=1这个标记让整个系统的命令方块都只认这1个玩家,把玩家【需要显示的记分项】里的数据读取出来,并写在盔甲架里。
3.向这个玩家显示内容:“金钱: @e[scores={千=0},type=armor_stand] @e[scores={百=0},type=armor_stand] @e[scores={十=0},type=armor_stand] @e[scores={个=0},type=armor_stand] @e[scores={万=0},type=armor_stand] ”(之所以把万放到最后,是因为超过1万统一显示9999+)
4.消除玩家的标记

这4步在1个游戏刻里完成,下一个游戏刻,系统会选中另一个玩家



这套系统的难点在于第2步,说是1步其实分很多小步,每多1个数字多7个命令方块,如果要计数到9999+,需要将近30个命令方块
算法:

1.让“+”把“Number”里的数赋值给自己的“万”
2.让【a=1,金钱≥10000的玩家】把“+”的“万”设置为0


3.让【所有盔甲架】把“Number”里的数赋值给自己的“千”
4.让【a=1,金钱≤999的玩家】把“0”的“千”清除
5.让【a=1,金钱≥10000的玩家】把“9”的“千”设置为0
6.让【a=1,1000≤金钱≤9999的玩家】把自己的“金钱”赋值给自己的“千”
7.让【a=1,1000≤金钱≤9999的玩家】的“千”等于【金钱÷10000的余数】(此处的10000来自一个虚拟实体的分数)(由于千是最高位,这里这1步没任何效果,但“百”需要这个步骤)
8.让【a=1,1000≤金钱≤9999的玩家】的“千”÷1000
9.让【a=1,1000≤金钱≤9999的玩家】的玩家去命令【所有盔甲架】把自己的“千”减去【a=1的玩家】的‘千”

10.参考3~9写“百”
11.参考3~9写“十”
12.参考3~9写“个”


就是这些内容了,希望对你有帮助。goodbye!


0

主题

3

帖子

1

积分

Lv.1 新手木匠

UID
5924335
小麦
0
金锭
8
下界之星
0
发表于 2018-12-23 18:31:19 来自手机 | 显示全部楼层
崇拜大佬

0

主题

3

帖子

1

积分

Lv.1 新手木匠

UID
5924335
小麦
0
金锭
8
下界之星
0
发表于 2018-12-23 18:46:34 来自手机 | 显示全部楼层
这个教程想看懂,真的不容易。

点评

太复杂了命令方块要进百(夸张)  发表于 2019-2-14 16:31

15

主题

114

帖子

45

积分

Lv.2 石器学徒

UID
5277726
小麦
0
金锭
64
下界之星
0
发表于 2018-12-23 18:49:36 来自手机 | 显示全部楼层
能出一个移除玩家下线的提示吗

15

主题

114

帖子

45

积分

Lv.2 石器学徒

UID
5277726
小麦
0
金锭
64
下界之星
0
发表于 2018-12-23 18:50:02 来自手机 | 显示全部楼层
apple.. 发表于 2018-12-23 18:49
能出一个移除玩家下线的提示吗

移除玩家下线的教程。。

点评

创建2个记分项,一个用来记录,另一个用来显示。reset * 可以删除所有实体的分数(包括下线玩家),再把记录赋值给显示  发表于 2018-12-23 19:21

21

主题

130

帖子

95

积分

Lv.3 矿物能手

UID
240585
小麦
41
金锭
452
下界之星
0
发表于 2018-12-23 18:51:28 | 显示全部楼层
这是手机版?

0

主题

3

帖子

1

积分

Lv.1 新手木匠

UID
5924335
小麦
0
金锭
8
下界之星
0
发表于 2018-12-23 19:02:31 来自手机 | 显示全部楼层
我想提醒你一句,手机版在用title时文本中的实体选择器末尾必须空一格再写下一个东西,不能直接挨着下一个选择器或者是文字,否则这个选择器将无法正常工作。

15

主题

114

帖子

45

积分

Lv.2 石器学徒

UID
5277726
小麦
0
金锭
64
下界之星
0
发表于 2018-12-23 21:34:30 来自手机 | 显示全部楼层
apple.. 发表于 2018-12-23 18:50
移除玩家下线的教程。。

大佬可以把指令发一下吗。有点糊涂,弄不来。

33

主题

299

帖子

156

积分

Lv.4 怪物猎人

UID
6216
小麦
45
金锭
783
下界之星
0
 楼主| 发表于 2018-12-23 22:46:03 | 显示全部楼层
apple.. 发表于 2018-12-23 21:34
大佬可以把指令发一下吗。有点糊涂,弄不来。

准备2个记分项,a用来记录数据,b用来显示数据
scoreboard players reset * b
就把显示区所有数据清空了
execute @a ~ ~ ~ scoreboard players operation @s b = @s a
b上就不会有下线玩家的数据了,但原始数据还在a上
把这两个命令方块连在一起,这两个步骤就在1个游戏刻里完成,不会让玩家察觉到变化

点评

使用了execute,这个很好哦!  发表于 2018-12-31 06:59

31

主题

285

帖子

100

积分

Lv.4 怪物猎人

UID
4198199
小麦
-6
金锭
468
下界之星
0
发表于 2018-12-23 23:08:39 | 显示全部楼层
这个.....
在线人数多时,做不到各自显示吧,还是轮流切换显示?

点评

人多时对单个玩家来说会有点延迟,不过影响不大  发表于 2018-12-23 23:17
显示什么

31

主题

285

帖子

100

积分

Lv.4 怪物猎人

UID
4198199
小麦
-6
金锭
468
下界之星
0
发表于 2018-12-23 23:19:49 | 显示全部楼层
你意思就是,重复命令方块,用r来不断遍历全服在线人员.....这样?

点评

心疼网易的服务器一秒。  发表于 2018-12-23 23:21
是滴  发表于 2018-12-23 23:20
显示什么

33

主题

299

帖子

156

积分

Lv.4 怪物猎人

UID
6216
小麦
45
金锭
783
下界之星
0
 楼主| 发表于 2018-12-25 10:07:51 来自手机 | 显示全部楼层
唯一彩色玻璃瓶 发表于 2018-12-23 19:02
我想提醒你一句,手机版在用title时文本中的实体选择器末尾必须空一格再写下一个东西,不能直接挨着下一个 ...

你是说的这样吗?花括号不能放参数最后

1

主题

5

帖子

2

积分

Lv.1 新手木匠

UID
5896851
小麦
0
金锭
10
下界之星
0
发表于 2018-12-25 12:09:25 来自手机 | 显示全部楼层
推荐小氵母(语文不好)阿不,小海的活噻磨万,啊呸,活塞魔方,作的,挺女子,不,挺好的。

22

主题

368

帖子

107

积分

Lv.4 怪物猎人

UID
461771
小麦
-7
金锭
590
下界之星
0
发表于 2018-12-25 17:26:10 来自手机 | 显示全部楼层
傻子的爱丽丝 发表于 2018-12-25 12:09
推荐小氵母(语文不好)阿不,小海的活噻磨万,啊呸,活塞魔方,作的,挺女子,不,挺好的。

不要闹(酷肖,啊不,哭笑)。

0

主题

3

帖子

1

积分

Lv.1 新手木匠

UID
5715971
小麦
0
金锭
23
下界之星
0
发表于 2018-12-26 13:04:12 来自手机 | 显示全部楼层
氵每纳百彡 发表于 2018-12-23 22:46
准备2个记分项,a用来记录数据,b用来显示数据
scoreboard players reset * b
就把显示区所有数据清空 ...

那个reset 和 b 之间的*是啥意思?

点评

星号是选择器的一种,只能用于scoreboard中,能选中一个计分项所追踪的所有目标(包括下线玩家和虚拟实体)不能填参数  发表于 2018-12-26 13:19
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部