hhttll
我这里有一个命令方块,我要让它用tellraw告诉一个区域的人某个人的名字,前后要加方括号。但是如果是 /tellraw @a[x=1,y=1,z=1,r=100] {text:"[ @p ]"} 的话,会输出 [ hhttll ],前后会多出一个空格。
但是如果是 /tellraw @a[x=1,y=1,z=1,r=100] {text:"[@]"} 的话,会输出 [@p],就无效了。


我希望输出的是 [hhttll] ,前后没有空格,我该怎么做?


我的MC版本是1.7.2,需要在服务器上使用。


回答目前没有方法的是不可能拿到金粒的。请先确保有效再告诉我。




pca006132
tellraw @a[x=1,y=1,z=1,r=100] [{text:"["},{selector:"@p"},{text:"]"}]
试试

hhttll
....没用...那个原json信息应该是大括号吧。。。我改成大括号还是没用。。

hhttll
pca006132 发表于 2015-7-18 15:08
tellraw @a[x=1,y=1,z=1,r=100] [{text:"["},{selector:"@p"},{text:"]"}]
试试

还有我这个是172

hhttll
pca006132 发表于 2015-7-18 15:08
tellraw @a[x=1,y=1,z=1,r=100] [{text:"["},{selector:"@p"},{text:"]"}]
试试

....没用...那个原json信息应该是大括号吧。。。我改成大括号还是没用。。

爱心魔王FHC
1.8已实验,可行
tellraw @a[x=1,y=1,z=1,r=100] {text:"[",extra:[{selector:"@p"},{text:"]"}]}
1.7却不行,因为1.7貌似没有加入@p选择器在tellraw指令中

hhttll
FHC红石 发表于 2015-7-18 19:39
1.8已实验,可行
tellraw @a[x=1,y=1,z=1,r=100] {text:"[",extra:[{selector:"@p"},{text:"]"}]}
1.7却不 ...

都说了我是1.7.2。。。那么1.7.2有没有什么办法呢,或者有没有什么办法可以用一个命令仿冒一个人说话?

langyo
问题①:如何才能实现用一个命令仿冒一个人说话?
回答:有办法的,不过暂时只能以直接加真实ID来使用
详情参见:json的详细解释

例子:
/tellraw @a {text:"<",extra:[{text:"此人ID "},{text:">"},{text:"内容,可以根据要求加上color等标签,详情上面的链接 "}]}效果:(假设是你)
<hhttll>!@$%^&*()_+

1.7.2只能像这样手动修改指令手动写(不过反着后面说话内容也会要改的,所以这种指令到1.8也是很常用)

问题②:选择器在tellraw中输出时如何将玩家名的前后空格去掉?
回答:1.7.2中因为没有引入selector(选择器)参数,所以暂时没办法。不过,到了1.8,这将可行。
(= =你只能先升级服务器啦= =这没办法只能二选一)
/tellraw {text:"<",extra:[{selector:"@p"},{text:">"},{text:"body "}]}



(本来想过用score来间接实现的,但是发现1.7.2连score都不是支持的太好= =)

(这简直是我回答过的最难的一道题,游戏不升级真可怕啊)

(但是,还是厚皮脸地求采纳= ={:10_502:})


下一页 最后一页