如何做出结界(不是屏障)有那种一条一条的
如何检测计分板分数
如何用计分板做出计时系统
还有如何在一个限定的时间内,然后时间结束,谁分数高就传送到一个地方~
http://minecraft-zh.gamepedia.com/%E5%91%BD%E4%BB%A4#worldborder
普通的检测
/testfor @e[score_计分板名字=分数]
/testfor @e[score_计分板名字=分数,score_计分板名字_min=分数]
score_计分板名字=0,分数小于或等于0的玩家
score_计分板名字_min=0,分数大于或等于0的玩家
score_计分板名字=0,score_计分板名字_min=0,分数为0的玩家
score_计分板名字=10,score_计分板名字_min=0,分数为0~10的玩家
https://minecraft-zh.gamepedia.com/%E8%AE%B0%E5%88%86%E6%9D%BF
建立一个dummy类计分板,用于计时
summon一个用于记录分数的实体,比如一个带tag的armor_stand,
使用scoreboard players set ... 设置此盔甲架分数为20,
使用scoreboard players remove @e[type=armor_stand,tag=标签,score_时间计分板_min=1] ... 持续移除盔甲架1分,直到分数扣到0分时停止扣分
以时间分数为0的盔甲架,执行
→以游戏分数大于等于1的一个玩家,执行
→→所有玩家游戏分数减1分
execute @e[type=armor_stand,tag=标签,score_时间分_min=0,score_时间分=0] execute @p[score_游戏分_min=1] scoreboard players remove @a 游戏分 1分
那么,如果我没想错的话...1分1分的减去,到最后,
最高游戏分的玩家分数为0,非最高分的玩家分数为负数,
(如果是要分名次的话,扣分的同时可以检测分数为0,没有指定标签的玩家,给予标签...略)
所以最后,/teleport @a[score_游戏分_min=0,score_游戏分数=0] 坐标
普通的检测
/testfor @e[score_计分板名字=分数]
/testfor @e[score_计分板名字=分数,score_计分板名字_min=分数]
score_计分板名字=0,分数小于或等于0的玩家
score_计分板名字_min=0,分数大于或等于0的玩家
score_计分板名字=0,score_计分板名字_min=0,分数为0的玩家
score_计分板名字=10,score_计分板名字_min=0,分数为0~10的玩家
https://minecraft-zh.gamepedia.com/%E8%AE%B0%E5%88%86%E6%9D%BF
建立一个dummy类计分板,用于计时
summon一个用于记录分数的实体,比如一个带tag的armor_stand,
使用scoreboard players set ... 设置此盔甲架分数为20,
使用scoreboard players remove @e[type=armor_stand,tag=标签,score_时间计分板_min=1] ... 持续移除盔甲架1分,直到分数扣到0分时停止扣分
以时间分数为0的盔甲架,执行
→以游戏分数大于等于1的一个玩家,执行
→→所有玩家游戏分数减1分
execute @e[type=armor_stand,tag=标签,score_时间分_min=0,score_时间分=0] execute @p[score_游戏分_min=1] scoreboard players remove @a 游戏分 1分
那么,如果我没想错的话...1分1分的减去,到最后,
最高游戏分的玩家分数为0,非最高分的玩家分数为负数,
(如果是要分名次的话,扣分的同时可以检测分数为0,没有指定标签的玩家,给予标签...略)
所以最后,/teleport @a[score_游戏分_min=0,score_游戏分数=0] 坐标
⊙v⊙ 发表于 2017-12-3 14:42
http://minecraft-zh.gamepedia.com/%E5%91%BD%E4%BB%A4#worldborder
比分数那里,,,建议先用operation >获取最高分,再用玩家分数减最高分,结果为0的玩家即是最高分
pineapple_ 发表于 2017-12-2 22:44
比分数那里,,,建议先用operation >获取最高分,再用玩家分数减最高分,结果为0的玩家即是最高分 ...
是为了显示的玩家最高分吗?
也就是扣分在后台执行。是这样吗
不然,我没看懂operation的意义在哪里...
⊙v⊙ 发表于 2017-12-3 17:01
是为了显示的玩家最高分吗?
也就是扣分在后台执行。是这样吗
不然,我没看懂operation的意义在哪里... ...
http://www.mcbbs.net/thread-718654-1-1.html
里面的分数处理\记分板取最高分数
只要一个execute命令就能取出最高分,不用循环-1
但是那样只能取得分数,不能确定是哪个玩家
用玩家原分数减取得的分数,等于0的玩家就是最高分玩家
处理分数过程只要两条命令
worldborder
worldborder
限制条件
是管理员
加入版本
1.8(14w17a )
此命令管理世界边界。
语法
该命令有8个变种,参数各不相同:
worldborder add <距离> [时间](增减世界边界的直径,即正方形边长)
worldborder center <x> <z>(设置世界边界的中心)
worldborder damage amount <每方格伤害值>(指定世界边界外伤害速度)
worldborder damage buffer <距离>(指定世界边界伤害缓冲区距离)
worldborder get(返回世界边界的当前直径)
worldborder set <距离> [时间](设置世界边界的直径大小)
worldborder warning distance <距离>(指定世界边界出现警告的距离)
worldborder warning time <时间>(指定世界边界的警告时间)
参数
距离(仅add、damage buffer、set和warning distance模式)
指定以方格数表示的距离:
add — 指定世界边界直径的加数。
damage buffer — 指定玩家超出边界后受到伤害前的缓冲区方格数。必须至少为0.0。初始值为5.0。
set — 设定新的世界边界的直径。必须介于1.0和60,000,000之间(含,不输入逗号)。
warning distance – 指定在世界边界内开始向玩家显示靠近边界警告信息时与世界边界的距离。必须至少为0。初始值为5。
时间(仅add、set和warning time模式)
以秒为单位指定时间:
add – 指定原世界边界变化至新边界的秒数。必须至少为0。若未指定,默认为0。
set – 指定原世界边界变化至新边界的秒数。必须至少为0。若未指定,默认为0。
warning time – 指定在世界边界内的玩家在其当前位置即将被移动的世界边界越过前显示警告的秒数。必须至少为0。若未指定,默认为15。
x z(仅center模式)
指定世界中心的水平坐标。必须介于-30,000,000和30,000,000之间(含)。可以使用波浪号表示与命令执行处的相对坐标。
每方格伤害值(仅damage amount模式)
指定玩家在越过世界边界外缓冲区后每秒受到的伤害。例如,如果每方格伤害值是0.1,则处于缓冲区5方格外的玩家每秒会受到0.5点伤害(伤害少于半颗心可能不会改变生命条的视觉效果,但仍会累积)。必须至少为0.0。预设为0.2。
效果
若参数指定不正确,或指定的世界边界大小小于1.0或大于60,000,000时,命令失败。
成功时:
add — 世界边界的直径开始根据指定值变化。若距离为正,则世界边界变为绿色且开始扩增;若为负,世界边界变为红色且开始缩减。若时间为0或未指定,则世界边界的变化会立即完成,否则边界每秒增减速率为(距离/2)/时间)方格每秒。
center — 世界边界中心会立刻更改为指定值。
damage amount — 设定世界边界外造成的伤害量至指定值。任何超出世界边界外缓冲区的玩家每超出一方格每秒会受到此数值的伤害。
damage buffer — 设定玩家允许超出边界的距离。玩家在超出此范围前不会受到伤害。
get — 在聊天框中显示当前的世界边界直径大小。
set — 开始增减世界边界的直径。若距离比当前半径大,则世界边界变绿色且开始扩增;若比当前的半径小,世界边界变红色且开始缩减。若时间为0或未指定,则世界边界的变化会立即完成,否则边界每秒增减速率为(距离/2)/时间)方格每秒。
warning distance — 设定世界边界的警告距离。
warning time — 设定世界边界的警告时间。
来自Minecraftwiki文章
worldborder
限制条件
是管理员
加入版本
1.8(14w17a )
此命令管理世界边界。
语法
该命令有8个变种,参数各不相同:
worldborder add <距离> [时间](增减世界边界的直径,即正方形边长)
worldborder center <x> <z>(设置世界边界的中心)
worldborder damage amount <每方格伤害值>(指定世界边界外伤害速度)
worldborder damage buffer <距离>(指定世界边界伤害缓冲区距离)
worldborder get(返回世界边界的当前直径)
worldborder set <距离> [时间](设置世界边界的直径大小)
worldborder warning distance <距离>(指定世界边界出现警告的距离)
worldborder warning time <时间>(指定世界边界的警告时间)
参数
距离(仅add、damage buffer、set和warning distance模式)
指定以方格数表示的距离:
add — 指定世界边界直径的加数。
damage buffer — 指定玩家超出边界后受到伤害前的缓冲区方格数。必须至少为0.0。初始值为5.0。
set — 设定新的世界边界的直径。必须介于1.0和60,000,000之间(含,不输入逗号)。
warning distance – 指定在世界边界内开始向玩家显示靠近边界警告信息时与世界边界的距离。必须至少为0。初始值为5。
时间(仅add、set和warning time模式)
以秒为单位指定时间:
add – 指定原世界边界变化至新边界的秒数。必须至少为0。若未指定,默认为0。
set – 指定原世界边界变化至新边界的秒数。必须至少为0。若未指定,默认为0。
warning time – 指定在世界边界内的玩家在其当前位置即将被移动的世界边界越过前显示警告的秒数。必须至少为0。若未指定,默认为15。
x z(仅center模式)
指定世界中心的水平坐标。必须介于-30,000,000和30,000,000之间(含)。可以使用波浪号表示与命令执行处的相对坐标。
每方格伤害值(仅damage amount模式)
指定玩家在越过世界边界外缓冲区后每秒受到的伤害。例如,如果每方格伤害值是0.1,则处于缓冲区5方格外的玩家每秒会受到0.5点伤害(伤害少于半颗心可能不会改变生命条的视觉效果,但仍会累积)。必须至少为0.0。预设为0.2。
效果
若参数指定不正确,或指定的世界边界大小小于1.0或大于60,000,000时,命令失败。
成功时:
add — 世界边界的直径开始根据指定值变化。若距离为正,则世界边界变为绿色且开始扩增;若为负,世界边界变为红色且开始缩减。若时间为0或未指定,则世界边界的变化会立即完成,否则边界每秒增减速率为(距离/2)/时间)方格每秒。
center — 世界边界中心会立刻更改为指定值。
damage amount — 设定世界边界外造成的伤害量至指定值。任何超出世界边界外缓冲区的玩家每超出一方格每秒会受到此数值的伤害。
damage buffer — 设定玩家允许超出边界的距离。玩家在超出此范围前不会受到伤害。
get — 在聊天框中显示当前的世界边界直径大小。
set — 开始增减世界边界的直径。若距离比当前半径大,则世界边界变绿色且开始扩增;若比当前的半径小,世界边界变红色且开始缩减。若时间为0或未指定,则世界边界的变化会立即完成,否则边界每秒增减速率为(距离/2)/时间)方格每秒。
warning distance — 设定世界边界的警告距离。
warning time — 设定世界边界的警告时间。
来自Minecraftwiki文章