本帖最后由 t1546542 于 2020-1-13 20:18 编辑
版本:1.14.4
如题
检测玩家的经验等级
1级处理一次,2级处理一次,3级处理一次……
这样的
@Chelove_C60 @SPGoding
版本:1.14.4
如题
检测玩家的经验等级
1级处理一次,2级处理一次,3级处理一次……
这样的
@Chelove_C60 @SPGoding
本帖最后由 xiang_xge 于 2020-1-13 20:55 编辑
/execute if entity @a[level=1] ,检测一级的玩家
以此类推即可
/execute if entity @a[level=1] ,检测一级的玩家
以此类推即可
本帖最后由 Chelove_C60 于 2020-1-13 21:26 编辑
/scoreboard objectives add level1 level
/scoreboard objectives add level2 dummy
循环
execute as @a unless score @s level1 = @s level2 run say 233
execute as @a if score @s level1 > @s level2 run say 233
execute as @a run scoreboard players operation @s level2 = @s level1
/scoreboard objectives add level1 level
/scoreboard objectives add level2 dummy
循环
execute as @a if score @s level1 > @s level2 run say 233
execute as @a run scoreboard players operation @s level2 = @s level1
Chelove_C60 发表于 2020-1-13 21:00
/scoreboard objectives add level1 level
/scoreboard objectives add level2 dummy
那level2是不是要add 0才能使用
Chelove_C60 的每刻执行的命令最开头再加个
execute as @a unless score @s level2 = @s level2 run scoreboard players operation @s level2 = @s level1
就行了。会在玩家没有 level2 分数时给个初始值。
execute as @a unless score @s level2 = @s level2 run scoreboard players operation @s level2 = @s level1
就行了。会在玩家没有 level2 分数时给个初始值。
SPGoding 发表于 2020-1-13 21:08
Chelove_C60 的每刻执行的命令最开头再加个
execute as @a unless score @s level2 = @s level2 run score ...
为什么我不
scoreboard players add @a level2 0
t1546542 发表于 2020-1-13 21:06
那level2是不是要add 0才能使用
测试了下,好像如果玩家的经验值不发生变动,level准则的计分板似乎就不会变化
所以不能用unless =
execute as @a if score @s level1 > @s level2 run say 233
execute as @a run scoreboard players operation @s level2 = @s level1
其他内容不需要做过多更改
测试中并不需要add 0
本帖最后由 Chelove_C60 于 2020-1-13 21:41 编辑
感觉不是很需要这一步骤,我测试中发现在scoreboard operation后,level1和leve2都会被自动设置为0(如果没有分数)。
这个命令的目的就是为了先给玩家指定level2上的分数为0,排除玩家以高等级进入游戏的情况。但是一般情况玩家进入地图时,等级都会是0吧
如果无法保证玩家等级是从0开始,那是不是还应该写一个递归来判断
话说我感觉你没必要编辑啊
SPGoding 发表于 2020-1-13 21:08
Chelove_C60 的每刻执行的命令最开头再加个
execute as @a unless score @s level2 = @s level2 run score ...
感觉不是很需要这一步骤,我测试中发现在scoreboard operation后,level1和leve2都会被自动设置为0(如果没有分数)。
这个命令的目的就是为了先给玩家指定level2上的分数为0,排除玩家以高等级进入游戏的情况。但是一般情况玩家进入地图时,等级都会是0吧