版本:1.13以上和1.13以下
我想用summon生成一个血量为1,不会攻击且不会移动的僵尸
玩家打死僵尸后会给该玩家的金钱计分板加1分
死亡后立即复活
求大佬解答
我想用summon生成一个血量为1,不会攻击且不会移动的僵尸
玩家打死僵尸后会给该玩家的金钱计分板加1分
死亡后立即复活
求大佬解答
本帖最后由 CHElover_C60 于 2019-6-25 13:35 编辑
首先,建立一个判据为杀死僵尸数量的计分板
复制代码
1.13检测指定位置是否有标签为coin的僵尸,如果没有,则给最近的kills为1的玩家加1分,后生成僵尸并加上coin标签,后重置玩家的kills
复制代码
1.12难度过大
1.12
先给距离指定位置最近的,kills分数至少为1的玩家加一个coin的标签,然后execute该僵尸给所有玩家清除coin标签。后检测是否有玩家拥有coin标签,如果有,给该玩家加分,并重新生成僵尸。最后移除所有人的coin标签并重置分数
复制代码
首先,建立一个判据为杀死僵尸数量的计分板
- /scoreboard objectives add kills minecraft.killed:minecraft.zombie
1.13检测指定位置是否有标签为coin的僵尸,如果没有,则给最近的kills为1的玩家加1分,后生成僵尸并加上coin标签,后重置玩家的kills
- execute unless entity @e[x=<x>,y=<y>,z=<z>,type=zombie,tag=coin] run scoreboard players add @p[x=<x>,y=<y>,z=<z>,scores={kills=1}] coin 1
- execute unless entity @e[x=<x>,y=<y>,z=<z>,type=zombie,tag=coin] run summon zombie <x> <y> <z> {Health:1f,NoAI:1,Tags:["coin"]}
- scoreboard players reset @a kills
1.12
先给距离指定位置最近的,kills分数至少为1的玩家加一个coin的标签,然后execute该僵尸给所有玩家清除coin标签。后检测是否有玩家拥有coin标签,如果有,给该玩家加分,并重新生成僵尸。最后移除所有人的coin标签并重置分数
- scoreboard players tag add @p[x=<x>,y=<y>,z=<z>,score_kills_min=1] coin
- execute @e[type=zombie,tag=coin] ~ ~ ~ scoreboard players tag remove @a coin
- scoreboard players add @a[tag=coin] coin 1
- execute @a[tag=coin] ~ ~ ~ summon zombie <x> <y> <z> {Health:1f,NoAI:1,Tags:["coin"]}
- scoreboard players tag remove @a coin
- scoreboard players reset @a kills
本帖最后由 Alxeh 于 2019-6-25 14:04 编辑
1.13:
创建队伍:
复制代码复制代码
创建计分板:
复制代码
检测该僵尸是否存在,若不存在,则重新生成一只新的僵尸:
循环复制代码
(ps:此处僵尸设置为0.5生命值,是因为僵尸自带一定的护甲,1生命值的僵尸不会被空手玩家一击杀死。)
1.12的用法跟1.13大同小异,需要注意的是1.12的team命令是整合在scoreboard中的,1.13的execute命令可以用testfor比较器非门连接summon做到。
复制代码复制代码复制代码复制代码复制代码
1.13:
创建队伍:
- team add gold "gold"
- team modify gold color red
创建计分板:
- scoreboard objectives add <计分板名> teamkill.red <计分板展示名,json文本>
检测该僵尸是否存在,若不存在,则重新生成一只新的僵尸:
循环
- execute unless entity @e[tag=gold] run summon minecraft:zombie <x> <y> <z> {Health:0.5,NoAI:1b,Team:gold,Tags:["gold"]}
(ps:此处僵尸设置为0.5生命值,是因为僵尸自带一定的护甲,1生命值的僵尸不会被空手玩家一击杀死。)
1.12的用法跟1.13大同小异,需要注意的是1.12的team命令是整合在scoreboard中的,1.13的execute命令可以用testfor比较器非门连接summon做到。
- scoreboard objectives add <计分板名> teamkill.red <计分板展示名,json文本>
- scoreboard teams add gold "gold"
- scoreboard teams option gold color red
- testfore @e[tag=gold]
- summon minecraft:zombie <x> <y> <z> {Health:0.5,NoAI:1b,Team:gold,Tags:["gold"]}
