UID464381性别保密经验 EP铁粒 粒回帖0主题精华在线时间 小时注册时间2022-6-25最后登录1970-1-1
| 本帖最后由 Laughedqiu 于 2022-7-18 03:11 编辑
适用版本:BE1.19.0.05及以下(网易BE租赁服用不了,1.19.0.05以上要修改execute指令格式,JE用不了)
注意:网易be使用此指令会崩服
注意:网易be使用此指令会崩服
注意:网易be使用此指令会崩服
(重要的事情说三遍)网易be有解决方法,就是使用计分板的random函数
这个bug挺多,比如说会传送到水里或者岩浆里,建议配合死亡不掉落使用
---------分割线---------
制作教程:
主城 (见P1图片)
op指令区 (见P2图片)
注: ①“#”后面的字符都是注释,不用输入到命令方块里 ②此处的连锁命令方块均保持活动,箭头方向后面有缺口的为有条件的命令方块,没有的为无条件的命令方块(注意方向) ③除B2命令方块已选项延迟为10,其他都为0
-----分割线-----
A1:/setblock -5 2 2 redstone_block #红石块的位置为op指令区的红羊毛的坐标 A2:/execute @a ~~~ playsound firework.launch @p ~~~ #播放一个烟花发射的音效,提示要开始传送了
B1:/execute @e[tag=tpset] ~~~ detect ~~-1~ air 0 tp @p ~~-1~ #因为spreadplayers指令对未加载的区块默认传送Y坐标为320(1.18以下为256),所以要做防掉落伤害
B2:/tag @a[x=0,y=115,z=-31,r=5] add tpset #给在主城靠近随机传送开关的玩家一个tag标签(限定传送对象)
B3:/title @a[tag=tpset] title 正在随机传送,请稍等 #/title指令没什么好说的,但是选择器要带tag
B4:/spreadplayers 0 0 45 12000 @a[tag=tpset] #随机传送的关键指令,其中45是随机传送的分散值,12000为传送范围(圆形)要根据实际情况修改
#B1命令方块后面接了一个比较器,如果玩家在空中比较器发出信号熄灭红石火把,当玩家落地后红石火把发出信号,激活B5,B6,B7和C2,C3
B5:/setblock -5 2 2 air #把红石块替换成空气 B6:/title @a[tag=tpset] title 传送完成! #tp完成的提示
B7:/execute @a[tag=tpset] ~~~ tag @a[tag=tpset] remove tpset #实际上单tag就可以,接execute防止出错,这里的作用是清除tag标签,结束循环
C1:/effect @e[tag=tpset] darkness 1 5 true #给tp的玩家一个黑暗效果(低版本改成失明效果也可以,黑暗效果是直接修改伽马值,效果更好),1为持续时间(单位:秒),5为等级,自己可以调整
C2:/execute @e[tag=tpset] ~~~ playsound ambient.weather.lightning.impact @a[tag=tpset] ~~~ #给tp完成的玩家发送一个闪电击中地面的音效
C3:/execute @a[tag=tpset] ~~~ particle minecraft:mob_portal ~~~ #给tp完成的玩家一个末影珍珠的传送粒子
此时,整个循环结束,你传送到了一些意想不到的地方
--------分割线--------
但是整个指令有一些问题
①比如说没有安全位置检测,本人实测会传送到水里或者岩浆里,但是不会摔死
②没有相同位置检测,可能会传送到相同的位置,这个就要使用二分法了,很麻烦
③一堆人传送的时候会把一堆人传送到同一个地方,可以改成@p选择器
---END--- |
评分查看全部评分
|