NGK3
请问如何用原版指令做出每个玩家单独的计分板??


SPGoding
你想说什么?记分板就是记录不同玩家的分数的啊


/scoreboard objectives add test dummy


/scoreboard players set A test 1
/scoreboard players set B test 2
这样 A 玩家的 test 分数就是 1,B 玩家的 test 分数就是 2。


或者你有别的什么需求,请详细描述

NGK3
SPGoding 发表于 2018-10-3 19:05
你想说什么?记分板就是记录不同玩家的分数的啊

/scoreboard objectives add test dummy

这样显示出来的计分板会变成这样:

test
A 1
B 2



而我希望变成这样

对A:

A
abc 1
def 2

对B:

B
abc 3
def 1

Belanga
NGK3 发表于 2018-10-3 19:11
这样显示出来的计分板会变成这样:

test

那何必呢?
记分板:abc,def
玩家信息分别存储在abc和def中

NGK3
Belanga 发表于 2018-10-3 19:16
那何必呢?
记分板:abc,def
玩家信息分别存储在abc和def中

可以让 玩家之间无法看到对方的数据,且保证对象都在侧边栏的么?

Belanga
本帖最后由 Belanga 于 2018-10-3 19:30 编辑
NGK3 发表于 2018-10-3 19:20
可以让 玩家之间无法看到对方的数据,且保证对象都在侧边栏的么?

好吧,那我的思路是这样的
先给玩家标个号
玩家到齐后一次性执行
  1. /tag @a[c=1] add 1
  2. /tag @a[c=2,tag=!1] add 2
  3. /tag @a[c=3,tag=!1,tag=!2] add 3
  4. ...
复制代码
这样每个玩家身上的tag都不同
然后预设好记分板1,2,3,4....
tag=1计入记分板1
显示记分板1的内容

如果要用记分板的不同准则,用operation即可,不过运算量较大...若需要可以再回复


楼上的只能显示一个数据吧...

SPGoding
行吧,看着 100 金粒,认真答一波


给玩家分配编号这事儿挺简单的,以下命令全部 1.13 编写
#load
scoreboard objectives add uid dummy "玩家编号"
scoreboard players set $next uid 1


#tick
scoreboard players add @a uid 0
execute as @a[scores={uid=0}] run function foobar:set_uid


foobar:set_uid
scoreboard players operation @s uid = $next uid
scoreboard players add $next uid 1
execute if score $next uid matches 17.. run scoreboard players reset * uid
scoreboard players add $next uid 0
execute if score $next uid matches 0 run scoreboard players set $next uid 1


然后接下来是设置队伍,我就设置两个了,你需要更多的话自己做
#load
team add team_1
team modify team_1 color aqua
team add team_2
team modify team_2 color black
scoreboard objectives add scb_1 dummy
scoreboard objectives add scb_2 dummy
scoreboard objectives setdisplay sidebar.team.aqua scb_1
scoreboard objectives setdisplay sidebar.team.aqua scb_2


#tick
team join team_1 @a[scores={uid=1}]
team join team_2 @a[scores={uid=2}]


然后,假设你要在每个玩家的记分板下面都显示血量,就这样
#load
scoreboard objectives add health health


#tick
scoreboard players operation §c血量 scb_1 = @a[scores={uid=1}] health
scoreboard players operation §c血量 scb_2 = @a[scores={uid=2}] health


需要添加其他的项目,比如死亡数,就继续修改上面命令
#load
scoreboard objectives add deathCount deathCount


#tick
scoreboard players operation §c死亡数 scb_1 = @a[scores={uid=1}] deathCount
scoreboard players operation §c死亡数 scb_2 = @a[scores={uid=2}] deathCount


效果如图