26号猪肉
没错又是我,我又来问问题了。。。

1.探测新/旧玩家进入 并新玩家回复 你好“这个玩家” 旧玩家回复欢迎回来“这个玩家”
2.能否用命令方块实现“闪现”这个类型的技能
是不是问题有点多?我要不要加点金粒算了穷得很

26号猪肉
大晚上的就我一个通宵肝地图么。。。

xiaowei233v
本帖最后由 xiaowei233v 于 2018-8-29 11:02 编辑

本来想用leavegame的判定但发现需要初始化(因为分数是无)
所以可以直接使用暴力标签法来实现======================================
新玩家
RCB(保持开启):
  1. /tellraw @a[tag=join] ["",{"text":"你好"},{"selector":"@a[tag=!join]"},{"text":"!"}]
复制代码

CCB(最好开一下条件制约):
  1. /scoreboard players tag @a[tag=!join] add join
复制代码

=======================================
然后老玩家有点麻烦 需要配合一个记分板才能做到不被刷屏
加入记分板:
/scoreboard objectives add login dummy 登入记分
/scoreboard objectives add quit stat.leaveGame 离开记分
----------------------------

RCB(同上):
  1. /tellraw @a[tag=join,score_quit_min=1] ["",{"text":"欢迎回来"},{"selector":"@a[tag=join,score_QuitGame_min=1]"},{"text":"!"}]
复制代码

CCB(同上):
  1. /scoreboard players add @a[score_quit_min=1] login 1
复制代码

CCB(同上):
  1. /scoreboard players set @a[score_quit_min=1] quit 0
复制代码

=======================================
好了第一个问题就解决了 如果你想把你的tellraw弄得更有逼格 你可以直接上这个网站
http://minecraft.tools/en/tellraw.php
=======================================
第二个问题我还真的看的有点懵,,闪现?你要哪种类型的闪现?
是末影珍珠的具体限定范围闪现(那还要还原干什么)
还是类似突进或者在限定范围内转到生物旁边的闪现?
---我就按照后者来还原把
具体思路:送你一把名叫“闪现之刃”的钻石剑(好违和)当剑在你副手上(按"F"触发)
检测附近20m是否有非自己的实体,检测到直接瞬移
--------------------------
单独RCB(保持开启)
  1. /scoreboard players tag @a add move {Inventory:[{Slot:-106b,tag:{display:{Name:"闪现之刃"},id:"minecraft:diamond_sword",Unbreakable:1b}}]}
复制代码

------------------------
命令组#2
RCB(保持开启):
  1. /execute @a[tag=move] ~ ~ ~ /testfor @e[tag=!move,type=!Item,r=20]
复制代码

CCB(条件制约)
  1. /tp @a[tag=move] @e[tag=!move,type=!Item,c=1]
复制代码

CCB(条件制约)
  1. /clear @a[tag=move] diamond_sword 0 1 {display:{Name:"闪现之刃"},id:"minecraft:diamond_sword",Unbreakable:1b}
复制代码

CCB(条件制约)
  1. /give @a[tag=move] diamond_sword 1 0 {display:{Name:"闪现之刃"},id:"minecraft:diamond_sword",Unbreakable:1b}
复制代码

CCB(不受制约)
  1. /scoreboard players tag @a[tag=move] remove move
复制代码

获得这把剑的方式:命令给予 设置为无法破坏
  1. /give @a diamond_sword 1 0 {display:{Name:"闪现之刃"},id:"minecraft:diamond_sword",Unbreakable:1b}
复制代码
GIF展示图(12.7MB...)
GIF展示图#2(7.97MB)

幸亏问答狂魔还在睡觉 开始补作业在问答版蹲点awa




SPGoding
第一问不需要那么麻烦…


单次执行
scoreboard objectives add leaveGame stat.leaveGame
高频执行
scoreboard players add @a leaveGame 0
tellraw @a[score_leaveGame_min=0,score_leaveGame_0] ["你好",{"selector":"*"}]
tellraw @a[score_leaveGame_min=2,score_leaveGame_2] ["欢迎回来",{"selector":"*"}]
scoreboard players set @a leaveGame 1


第二问,猎空那样的闪现做不到,你换 1.13 并把金粒加到 100 就做得到了ww
我就答个 1.12 的传送吧。传送到箭落之处。
如果需要兼容多人你再追问我,下面这个只能单人用。【要把弓命名为“传送弓”
scoreboard players tag @a add teleported {SelectedItem:{tag:{display:{Name:"传送弓"}}}}
execute @a[tag=teleported] ~ ~ ~ scoreboard players tag @e[r=3,type=arrow] add teleporter
scoreboard players tag @a remove teleported
scoreboard players tag @e[tag=teleporter] add in_ground {inGround:1b}
teleport @a @e[tag=in_ground]
kill @e[tag=in_ground]

xiaowei233v
本帖最后由 xiaowei233v 于 2018-8-29 11:19 编辑
SPGoding 发表于 2018-8-29 09:20
第一问不需要那么麻烦…

单次执行

tellraw的json文本显示
无效的json:Unterminated array at line 1 column 9 path $[1]
这个不应该是
["你好,",{"selector":"*"}]
嘛。。还有这个说不停设置退出次数为1 然后玩家自己推出会变为2
这真的让我耳目一新,,然而???(是我的问题还是玩家进入机制有问题。。。)GIFx2:(共约10MB)


我回去看了一下延时视频 发现很有可能是在跳出加载世界中。。这个结束后 有一小段时间是全屏泥土块,这时候可能命令就已经被加载上去了,玩家数据也已经加好了【这可能就是为什么记分板没有joinGame的原因】
我继续看 发现,进入世界之后,会有大概不到三四帧的时间是世界全蓝 我截图截到了:

Emm...  是不是跟个人配置有关系awa-
-
XD




26号猪肉
本帖最后由 26号猪肉 于 2018-8-29 16:42 编辑
SPGoding 发表于 2018-8-29 09:20
第一问不需要那么麻烦…

单次执行

闪现就是向前移动 不需要猎空的连闪还有带个追问,就当是免费送我的吧qwq
如何显示分数 通过标题

26号猪肉
SPGoding 发表于 2018-8-29 17:39
/title @a {"score":{"objective":"记分板名","name":"*"}}

不行?显示我整个命令都是错误的

26号猪肉
本帖最后由 26号猪肉 于 2018-8-30 02:03 编辑
SPGoding 发表于 2018-8-29 17:39
/title @a {"score":{"objective":"记分板名","name":"*"}}

不行?显示我整个命令都是错误的?可以了勿回复 谢谢了

1756746217
刚想说点什么,结果往下一翻。。。。。。膜拜大神们

26号猪肉
1756746217 发表于 2018-8-30 10:04
刚想说点什么,结果往下一翻。。。。。。膜拜大神们

没事你说吧,听听你的思路如何