《我的世界》随机刷怪系统教程
小编:简简单单时间:2018-01-30 15:00:19 来源:游戏堡整理
我的世界怎么制作一个随机刷怪系统?我的世界随机刷怪系统制作方法是什么?下面就来看看小编给大家带来的简单方法代码介绍吧!
一个做RPG,生存等地图会用到的怪物随机生成系统,代码运行环境版本v1.11.2,思路全版本适用。
整体思路:
说到随机生成,首先想到的就是spreadplayers了,在游戏里,可以用spreadplayers实现随机传送,同样的,将范围限制后,根据玩家位置执行扩散实体(僵尸),岂不是就能达到随机生成的效果了呢?所以实现步骤是:每隔一段时间,在玩家头顶生成特定的实体(僵尸),并立马在玩家位置进行小范围扩散,进而达到随机生成的目的。
代码操作部分如下:
每隔一段时间执行:
1、/execute @a[m=2] ~ ~ ~ summon Zombie ~ ~2 ~ {CustomName:"一只随机生成的可爱的僵尸酱"}
2、/execute @a[m=2] ~ ~2 ~ spreadplayers ~ ~ 6 30 false @e[type=zombie,r=1]
拓展:
以上代码会有一些小缺陷,例如任何一只僵尸来到玩家头顶,并且恰好到上诉指令执行时,那么那只僵尸就会和新生成的一起被传送。这里,我用一个标签来解决这个问题。
1、/execute @a[m=2] ~ ~ ~ summon Zombie ~ ~2 ~ {CustomName:"一只随机生成的可爱的僵尸酱",Tags:["newz"]}
2、/execute @a[m=2] ~ ~2 ~ spreadplayers ~ ~ 6 30 false @e[type=zombie,r=1,tag=newz]
3、scoreboard players tag @e[type=zombie,tag=newz] remove newz
如果你使用的版本不支持{Tags:[""]},则可以用下面的方法(此方法有极小极小极小几率不会选中新生成僵尸)。
1、/execute @a[m=2] ~ ~ ~ summon Zombie ~ ~2 ~ {CustomName:"一只随机生成的可爱的僵尸酱"}
2、/execute @a[m=2] ~ ~2 ~ scoreboard players tag @e[type=zombie,r=1,c=1] add newz
3、/execute @a[m=2] ~ ~2 ~ spreadplayers ~ ~ 6 30 false @e[type=zombie,r=1,tag=newz]
4、scoreboard players tag @e[type=zombie,tag=newz] remove newz
拓展:
当此命令被过多执行时,僵尸就会变得很多,所以我们只需要在僵尸数量没有超过一定值时随机生成。只需要在生成是检测一下玩家附近僵尸数量即可。指令如下:
创建变量:
/scoreboard objectives add ZombieCount dummy
(定时执行)检测僵尸数量:
1、/scoreboard players set @a ZombieCount 0
2、/execute @a ~ ~ ~ execute @e[type=Zombie,r=45] ~ ~ ~ scoreboard players add @p ZombieCount 1
(定时执行)僵尸随机生成:
1、/execute @a[score_ZombieCount=15,m=2] ~ ~ ~ summon Zombie ~ ~2 ~ {CustomName:"一只随机生成的可爱的僵尸酱",Tags:["newz"]}
2、/execute @a[score_ZombieCount=15,m=2] ~ ~2 ~ spreadplayers ~ ~ 6 30 false @e[type=zombie,r=1,tag=newz]
3、scoreboard players tag @e[type=zombie,tag=newz] remove newz
我的世界1.3.2
版本:中文版 | 大小:31115
8.0
下载
相关合集: