本帖最后由 PotatoMaster101 于 2014-7-27 19:21 编辑

大家好。今天在和CBL制作Shadowride冒险地图时候发现了个好玩的东西。主要是使用/tellraw来模仿别人说话,还有显示别人退出游戏的信息什么。

主要是/tellraw。首先是模仿其他玩家讲话。(服务器的话,首先需要有OP权限,之后服务器要是官方纯净服务器,并非水桶服)。如果是水桶服的话本人无法100%确定能否使用。模仿其他玩家说话的指令:
  1. /tellraw @a
  2. {text:"<",extra:[{text:"(玩家名字)",clickEvent:{action:suggest_command,value:"/msg (玩家名字)"},
  3. hoverEvent:{action:show_text,value:"(玩家名字) \n1626ae14-1bca-459f-8b2b-3f7bcfa42926"},color:white},{text:"> "},{text:"(说话的文字)"}]}
复制代码

大家看到,主要是用/tellraw提示一个信息。在玩家名字地方输入玩家的名字,然后说话的文字地方打入想让某个玩家说出的文字。注意:3个玩家名字都要相同。大家看见,本人还加入了hoverEvent,后面有一行随机的数字和字母。这个就是UUID的关系。因为1.8更新后,多人服务器玩家可以鼠标移到某个玩家的名字,然后可以看见他的UUID。加入这个UUID提高真实性。当然,不需要使用本人这里使用的UUID,玩家可以自己随机修改。但是如果大家要改的话,从\n后面开始修改。\n意思是空行。使用空行的话,那是100%的真实,没有任何玩家可以分辨出来。

之后大家看见本人还加入了color。这是因为,如果服务器里有积分板的teams的话,那么如果目标玩家在一个teams里面,之后那个teams有自定义颜色,那么那个玩家说出的话也有自定义颜色。所以,这个颜色的话默认就是白色。如果目标玩家在一个teams里,导致他的名字颜色改变,那么就可以改变color,来提高真实性。

之后大家看,里面还有clickEvent,这是因为,一旦某个玩家鼠标移到玩家会显示UUID,点击一下还会出现/msg指令,提供给那个玩家密语的指令。这里也是同样,点一下出现/msg,然后玩家名字可以自定义设置。这个/tellraw系统应该是终极模式了,在大型服务器内,即使OP也无法分辨!!

之后教大家如何来模仿某个玩家加入了游戏/退出了游戏。主要还是使用这个/tellraw。首先,玩家加入游戏。指令是:
  1. /tellraw @a
  2. {text:"",extra:[{text:"(玩家名字) ",color:yellow,clickEvent:{action:suggest_command,value:"/msg (玩家名字)"},
  3. hoverEvent:{action:show_text,value:"(玩家名字) \n1626ae14-1bca-459f-8b2b-3f7bcfa42926"}},{color:yellow,text:"joined the game"}]}
复制代码

大家看见,这个和刚才的一样。也同样拥有hoverEvent和color。原理和刚才一样,如果玩家在一个有颜色的积分板teams里,那么不管他退出,打字还是按tab查看,他的名字都会有那个teams的颜色。hoverEvent显示UUID来提高真实性。

玩家只要在玩家名字的地方输入目标的玩家就可以了。之后大家可能会问,指令前面为什么会有一个{text:""},然后到{extra}才加入文字?这是因为,经过试验之后,本人发现如果在一开始的text内加入名字的话,那么就要加入hoverEvent来提高真实性。但是,一旦加入了hoverEvent,那么其他玩家移到这行句子的任何部位,都会出现hoverEvent。所以,本人使用{extra}来分开这些hoverEvent,最终效果是只有移到名字,才会有hoverEvent。

之后玩家退出也一样的指令。只要改下后面的文字就可以了。指令:
  1. /tellraw @a
  2. {text:"",extra:[{text:"(玩家名字) ",color:yellow,clickEvent:{action:suggest_command,value:"/msg (玩家名字)"},
  3. hoverEvent:{action:show_text,value:"(玩家名字) \n1626ae14-1bca-459f-8b2b-3f7bcfa42926"}},{color:yellow,text:"left the game"}]}
复制代码

这条指令和刚才一样,但是就是把加入游戏变成了退出游戏。

(本篇教程内,使用的UUID均由游戏刷出,非任何玩家。)
游戏效果:



(站在后面的扔鱼竿的是指令方块大神2b。@贰逼)

最后,那就是:有时候玩家可以给另一个玩家密语(指令是/msg或者/tell)。这个原版可以,无需水桶。所以,/tellraw照样可以伪造这个假的/msg信息。具体指令是:
  1. /tellraw @a
  2. {text:"",extra:[{text:"(玩家名字) ",color:white,clickEvent:{action:suggest_command,value:"/msg (玩家名字)"},
  3. hoverEvent:{action:show_text,value:"(玩家名字) \n1626ae14-1bca-459f-8b2b-3f7bcfa42926"}},
  4. {text:"whispers to you: ",italic:true,color:gray},{text:"(信息)",color:gray}]}
复制代码
大家看见,这个和刚才的一样。名字就是名字,然后信息就是随便想打什么就打什么。


==========END==========