本帖最后由 乙烯_中国 于 2016-3-20 18:08 编辑

  大家好,我是乙烯。今天和群里的小伙伴谈到了他的坑,然后他就提到了要仿制一个小游戏服务器里的游戏,当然,他也想做一个与服务器里类似的侧边栏的显示,就像这样:

  其实会玩的都知道这是插件所带来的效果,而会玩的也知道这个其实用计分板仿制一个也是不难的,只是方法太蛋疼了而已。
那么今天我就来介绍一下这种显示的仿制办法。
这是我的仿制结果:
其核心的命令是:
  1. scoreboard players set 虚拟玩家名 计分板 数值
复制代码
没错,核心命令就是这么简单

首先我们可以需要一个放置在侧边栏的一个计分板。
  1. /scoreboard objectives add show dummy §a§lWaiting for Players
复制代码
其中的Waiting for Players是加绿加粗的,而那个字符其实1.8不能直接输入,所以这里要提到那个2b的黑科技,空白有写生成器,以供玩家合法的在游戏里使用样式代码。

然后就可以再进行依次的设置计分板值,由于侧边栏的排序以从大到小的顺序排列,所以咱们以15开始,依次向下排列。
这里我就直接放出存档,暂不赘述
不过这里有两点值得注意的地方,一点,大家应该也看出原版和仿制品区别在哪里了吧?本来是空格的地方我用了一行“-”代替,因为我暂时还没有找到能够当名字的空白字符,而全角空格不能使用。但是有一点值得注意,我这一行“-”不是单纯的-号,其中混入了“—”号,之所以这样的原因大家想必也清楚,一个虚拟玩家名只能拥有某个计分板的一个值,不能同时拥有多个值,所以我使用了两个在mc里非常相似的字符作为代替,组成了多种不同的玩家名,而这样一来,拥有同样长度的玩家名便足够我的需求了。至于比如13个字符的玩家名能有多少组合方式呢,原理非常简单,就不在这里说了。另外一点就是,虚拟玩家名不是变量,是一段文字。所以如果牵扯到类似第三行的那种“1/24”的情况只能通过穷举来解决,至于像宝石数这种东西,cb太多,工程量太大,而变得不切实际。所以这里的数值,只能使用在有限的小范围的变量里。存档里我也做了第三行变量的示例,有兴趣的人可以下下来看看。


不过存档里我偷懒了。
当输出改变的时候,我只做了重置相邻玩家名的设置。

  1. /scoreboard players reset 2/24 show
复制代码


而真实情况是,玩家应该把所有该行的玩家名全部重置一遍。大家务必注意。

下载地址:http://pan.baidu.com/s/1mg7UH64


@MsYqgzt









[groupid=143]The Redpixel[/groupid]