请问如何用原版指令做出每个玩家单独的计分板??
你想说什么?记分板就是记录不同玩家的分数的啊
/scoreboard objectives add test dummy
/scoreboard players set A test 1
/scoreboard players set B test 2
这样 A 玩家的 test 分数就是 1,B 玩家的 test 分数就是 2。
或者你有别的什么需求,请详细描述
/scoreboard objectives add test dummy
/scoreboard players set A test 1
/scoreboard players set B test 2
这样 A 玩家的 test 分数就是 1,B 玩家的 test 分数就是 2。
或者你有别的什么需求,请详细描述
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 于 2018-10-3 19:30 编辑
好吧,那我的思路是这样的
先给玩家标个号
玩家到齐后一次性执行
复制代码这样每个玩家身上的tag都不同
然后预设好记分板1,2,3,4....
tag=1计入记分板1
显示记分板1的内容
如果要用记分板的不同准则,用operation即可,不过运算量较大...若需要可以再回复
楼上的只能显示一个数据吧...
NGK3 发表于 2018-10-3 19:20
可以让 玩家之间无法看到对方的数据,且保证对象都在侧边栏的么?
好吧,那我的思路是这样的
先给玩家标个号
玩家到齐后一次性执行
- /tag @a[c=1] add 1
- /tag @a[c=2,tag=!1] add 2
- /tag @a[c=3,tag=!1,tag=!2] add 3
- ...
然后预设好记分板1,2,3,4....
tag=1计入记分板1
显示记分板1的内容
如果要用记分板的不同准则,用operation即可,不过运算量较大...若需要可以再回复
楼上的只能显示一个数据吧...
行吧,看着 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
效果如图

给玩家分配编号这事儿挺简单的,以下命令全部 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
效果如图
