您的位置:>我的世界>资讯资讯>

【我的世界命令教程】20综合运用-命令方块制作副本(上)

开始吐槽

*所有内容均为原创内容,未经允许禁止转载或摘编

MC小知识:在游戏中按F1可以隐藏玩家界面。

命令方块制作副本

因为这一期的相关坐标参数出了up这个图就用不了,所以大部分只贴命令格式,给大家一个思路,讲解偏少。制作副本绝对不难,只是可能有些繁琐,加油吧!

先规划一下副本的元素:进入试炼肯定要付出money,那么就要检测玩家是否符合条件。要在副本大厅分配玩家去哪个试炼场。

up打算建四个试炼场,2个初级的、2个高级的。为什么分别建两个呢?第一个试炼场有玩家了话就把后面的玩家传送到第二个试炼场,当然你们也可以建更多的试炼场用来分流玩家,就看你的地图玩家流量有多少了。

最后给每个试炼场建一个小小的奖励房间 给玩家发放奖励。

副本规划图

建筑部分个人随意,up就跳过了啊。本期做好规划,建好记分板和副本大厅。红石部分试做了一个视频在末尾链接供参考,图片实在看不懂的可以去看视频。

规划:

初级试炼场的有效击杀怪物是 僵尸 (1分)、 蜘蛛 (2分)和 猪人 (4分)。进入试炼 扣除 20 暗币 (服务器的记分板货币)。达到 50 副本积分 完成试炼。

高级告示牌命令见13期‍

高级试炼场有效击杀怪物是 僵尸 (1分)、 蜘蛛 (2分)、 烈焰人 (5分)和 猪人 (8分)。进入试炼 扣除 60 暗币 (服务器的记分板货币)。达到 100 副本积分 完成试炼。

记分板

副本需要什么基础命令的支持呢, 记分板!

记分板不可缺少

需要统计玩家杀死了多少怪,先创建一些记分板,聊天栏输入:

统计杀死僵尸数量 /scoreboard objectives add zombie stat.killEntity.Zombie

统计杀死蜘蛛数量 /scoreboard objectives add spider stat.killEntity.Spider

统计杀死蜘蛛数量 /scoreboard objectives add blaze stat.killEntity.Blaze

统计杀死僵尸猪人数量 /scoreboard objectives add pigzombie stat.killEntity.PigZombie

副本积分记分板 /scoreboard objectives add fbjf dummy 副本积分

货币记分板 /scoreboard objectives add money dummy 暗币

将副本积分显示在玩家界面侧边 :/scoreboard objectibes setdisplay sidebar fbjf

将货币显示在玩家Tab键列表 :/scoreboard objectibes setdisplay list money

红字 是记分板名称(可自定义), 蓝字 是记分板加分准则(不可改变), 绿字 是显示出来的名称(可自定义)。

思路:前四个记分板分别统计玩家杀死不同怪物的数量,但只有玩家“存在于试炼场”时才会将分数加到副本积分记分板上。需要在玩家进入试炼时将记分板清零,保证分数的有效性。

副本积分记分板只能通过命令操作,将有效的击杀分数都加到这个记分板上统计。循环检测副本积分记分板的玩家分数,如果达到试炼完成的分数就结束玩家的试炼。

货币记分板可以和04期的服务器商店连用:过滤玩家,减少流量。

建好记分板后在聊天栏输入: /scoreboard objectives list 查看现有所有记分板。

记分板列表

制作分配区

思路:

第一部分: 首先命令方块循环检测有没有玩家站在传送点上面的空间。检测到玩家站在传送点上后检测其他试炼场有没有玩家,确定将玩家传送走还是告诉玩家试炼场已经有人了。

第二部分: 先检测玩家的暗币够不够试炼一次,如果不够就把玩家传送回大厅,告诉他赚钱去,免得他碍事;如果分数够了就扣掉20分,避免怪物数量影响试炼,相关记分板分数清零,最后把玩家传送走。

up建的分配区 只要有传送点就行了

第一部分:

以初级副本传送点为例:然后设置命令方块 ( 循环 不受制约 保持开启 ) /testfor @p[x=***,y=*,z=***,dx=0.5,dy=3,dz=0.5]

红字 是检测有没有玩家站在传送点上方。检测到玩家后输出红石信号。区域选择玩家详见:

之后的 区域选择玩家参数 坐标参数 均用红色汉字表达。

分配区的红石部分,大家照图建就行了(原创!原创!原创!!!!!):

海晶灯为辅助方块,不用建 但要留出位置

检测第一个试炼场有无玩家 ( 循环 不受制约 保持开启 ) :/testfor @p[第一个试炼场 区域 ]

白色部分背面图‍

检测第二个试炼场有无玩家 ( 循环 不受制约 保持开启 ) :/testfor @p[第二个试炼场 区域 ]

白色部分正面图

然后加上橙色部分:

加上橙色部分,活塞是粘性活塞

橙色部分的作用是如果第一个试炼场有玩家就检测第二个试炼场,若果第二个也有玩家就...。这是两个单元,后面可以无限添加。

最后加上黄色部分

黄色部分是建在最后:如果所有试炼场都有玩家,就告诉玩家试炼场人满了,然后把玩家传送回副本大厅。

给玩家说话 ( 脉冲 不受制约 红石控制 ) :/say @p[ 初级副本传送点 区域 ] 初级试炼场人员已满!

传送玩家 ( 连锁 不受制约 保持开启 ) :/tp @p[ 初级副本传送点 区域 ] 副本大厅传送 坐标

第二部分:

回想一下刚才第二部分的规划:检测玩家的暗币够不够试炼一次,如果不够就把玩家传送回大厅,告诉他赚钱去,免得他碍事;如果分数够了就扣掉20分,避免怪物数量影响试炼,相关记分板分数清零,最后把玩家传送走。

第二部分

先以传送玩家前往第一个初级试炼场为例( 就是图上面的一串命令方块 ):

注意:除了第一个是脉冲方块、红石控制,后面的都设为连锁方块、保持开启。命令方块箭头朝向一定不能错!因为连锁命令方块是指向性的!

1号检测玩家暗币是否在-2147483648到19的范围 ( 不受制约 ) :/scoreboard players test @p[ 初级副本传送点区域 ] money * 19

2号如果玩家money不够20分告诉玩家money不够 ( 条件制约 ) :/say @p[ 初级副本传送点区域 ] 暗币不足,再去挣钱吧~!

3号将money不够的玩家传送到副本大厅 ( 条件制约 ) :/tp @p[ 初级副本传送点区域 ] 副本大厅传送点

4号检测玩家暗币是否在20到2147483647的范围 ( 不受制约 ) :/scoreboard players test @p[ 初级副本传送点区域 ] money 20

5号如果玩家money够了就扣除20暗币 ( 条件制约 ) :/scoreboard players remove @p[ 初级副本传送点区域 ] money 20

6,7,8,9将玩家相关记分板分数清零 ( 条件制约 )

6:/scoreboard players set @p[ 初级副本传送点区域 ] fbjf 0:

7:/scoreboard players set @p[ 初级副本传送点区域 ] zombie 0

8:/scoreboard players set @p[ 初级副本传送点区域 ] spider 0

9:/scoreboard players set @p[ 初级副本传送点区域 ] pigzombie 0

10号将玩家传送到试炼场 ( 条件制约 ) :/tp @p[ 初级副本传送点区域 ] 第一个初级试炼场传送坐标 90 0( 90 0是玩家传送到坐标后的朝向

11号清除试炼场的怪物 ( 不受制约 ) :/kill @e[ 第一个初级试炼场区域 ]

条件制约是上一个命令方块执行命令成功才执行自己。 不受制约是 不论之前的命令方块执行成功或失败都执行。

第二排的命令方块链除了10号和11号中的 橙色部分 要改,其他的都一样。

那么至此,初级试炼场的玩家分配就做好了!

高级试炼场的玩家分配再建一个红石部分,改改命令中的坐标。加一个烈焰人记分板清零的命令方块:/scoreboard players set @p[ 初级副本传送点区域 ] blaze 0。

~~~~~~~神奇的分割线~~~~~~~

这一期的配套实在是太多了,红石也都是自己建的,改了挺久的。反正种种原因导致更的慢了还请小伙伴们见谅!

视频链接:https://www.bilibili.com/video/av18832111/

谢谢大家的支持!

全部原创,满地打滚求点赞,求关注 ^_^~~~

随便看看