1、传源捍悉刈送书顾名思义,利用书本来进行传送,核心的命令就是1,.8新增的书本和牌子Json功能。不知道Jso荏鱿胫协n是什么请自行百度,不过对RPG地图作者来说应该都会有所研究吧简单来说,1.8可以让牌子和书本也拥有了可点击并触发命令的选项,简直就是要逼死插件啊。 下面上命令 首先我们要用计分板新建一个dummy数据,名为tp 然后最核心的刷出传送书 give @p minecraft:written_book 1 0 {title:"tp_book",author:God,pages:["{text:"tp points",color:red,extra:[{text:"n1",color:red,clickEvent:{action:run_command,value:"/scoreboard players set @p tp 1"}},{text:"n2",color:red,clickEvent:{action:run_command,value:"/scoreboard players set @p tp 2"}}]}"]} give什么的就不多说了,到时候具体可配合另一个神级命令execute来用,written_book 1 0是指一本成书,后面的title和author是指书名和作者,也不多说,接下来的page也就是内容是重点。 text:等后面一系列类似格式就是书本Json,具体的用法请自行学习,MCBBS的PotatoMaster101大神有详细的讲解,鉴于我这等级貌似一发网址就会被删所以就不手贱了,大家自行搜索吧…… page里的内容大致是这样的 第一行:tp points(无clickEvent,作为标题使用) 第二行:1(有clickEvent,点击触发命令/scoreboard players set @p tp 1,即把使用者的tp数值设定为1) 第三行:2(有clickEvent,点击触发命令/scoreboard players set @p tp 2,即把使用者的tp数值设定为2)
2、 1,2是指传送地点,大家可随意更改,只要后面的命令注意对齐就行,而传送地点可以继续添加,相对应的把tp数值改为3,4,5……以此类推 或许会有人问,既然可以直接触发命令为何不直接就用tp传送使用者呢?这个当然没问题,其实做到这传送书最主要部分已经完成了,如果把计分板命令改为tp命令那么就可以直接使用了。但这样的话传送就过于简陋而且可以无限使用,显然不符合一个MOBA类游戏的需求,所以我们用记分板来给它赋予更多的内容。 接下来是整个系统的搭建 这四个命令方块用高频探测
3、首先来看这个方块
4、命令为 /execute @a[score_tp=5,score_tp_min=1] ~ ~ ~ particle cloud ~ ~ ~ 4 3 4 0.000000000002 1000 该命令为探测计分板tp分数为1到5(这里我准备建5个传送点所以设为1到5)的玩家,并在该玩家处执行命令particle cloud ~ ~ ~ 4 3 4 0.000000000002 1000 这里用到了execute命令,也是1.8新增的,非常强大,效果如上所述,基本能取代原来的testfor和比较器的组合。而particle则是一个生成粒子效果的命令,在这里我生成了烟雾作为传送的效果,该命令具体使用方法很简单,大家百度一下即可。 简单来说这个命令方块负责制造传送前的烟雾效果,虽然效果方面可有可无但后面有比较器连接传送系统。 然后先说与上面的命令方块用比较器连接的这个系统
5、准心所指的方块命令为 /execute @a[score_tp=5,score_tp_min=1] ~ ~ ~ scoreboard players set @p tp_cd 100 也就是检测tp分数为1到5的所有玩家,并把该玩家的tp_cd数值改为100 前面忘了说了tp_cd是一个事先创建的dummy数据 正如其名这是一个冷却判定用的数据,100则是冷却时间,可根据需要加长或减短。烟雾效果激发后比价器输出信号继而激活该命令 tp_cd数据可以把它显示到右边作为一个技能冷却的倒计时,具体命令我忘了反正是计分板的运用。
6、准心所指的这个方块命令为 /tp @a[score_tp=1,score_tp_min=1] 0 108 1000 就是把tp分数为1的玩家传送到某个坐标 后面同一列的方块都是类似命令,只不过分别把tp=1换成了2、3、4……和坐标换成了想对应的而已。 这个就是负责传送的方块,同样在烟雾效果触发后被比较器触发。
7、这个方块命令为 /scoreboard players set @a[score_tp=5,score_tp_min=1] tp 0 把tp分数为1到5的玩家的tp分数重置为0 这是一个重置系统,在传送完成后触发。
8、 准心所指方块命令为 /execute @a[score_tp_cd=100,score_tp_cd_min=2] ~ ~ ~ clear @p minecraft:written_book 0 1 {title:"tp_book"} 作用是探测tp_cd分数为100,即刚传送玩的玩家,执行命令clear @p minecraft:written_book 0 1 {title:"tp_book"},清空其背包里名为“tp_book"的成书。 这里就是技能冷却判定了,删除传送书使其无法再次传送。
9、 此方块命令为 /execute @a[score_tp_cd=100,score_tp_cd_min=1] ~ ~ ~ scoreboard players remove @ptp_cd 1 作用是探测分数tp_cd为1到100的玩家,将其tp_cd减1。 注意此方块是用高频激发的,会不断的被重复执行。所以每一个处在技能冷却时间(tp_cd=1~100)的玩家都会被不断的执行该命令,直到tp_cd被减到1一下,即0为止。 这样就起到了冷却倒计时的作用。
10、 字斤谯噌最后一个方块,命令为 /execute @a[score_tp_cd=1,score_tp_cd_min=1] ~ ~ ~ /爿讥旌护give @p minecraft:written_book 1 0 {title:"tp_book",author:God,pages:["{text:"tp points",color:red,extra:[{text:"n1",color:red,clickEvent:{action:run_command,value:"/scoreboard players set @p tp 1"}},{text:"n2",color:red,clickEvent:{action:run_command,value:"/scoreboard players set @p tp 2"}}]}"]} 命令较长,但仔细看可以发现相当一部分是前面刷出传送书的命令。作用为探测tp_cd分数为1的玩家,给予一本传送书。 也就是说,当冷却完成前一瞬间,tp_cd被减到1的时候,再次把传送书给回玩家,自此冷却结束,玩家可再次使用传送。
11、至此传送系统就算是做好了,根据不同的需要,可以对命令中的数据进行修改。今后计划中还有职业系统,魔法系统,据点系统,地图炮系统(灵感来自红警)等等一系列的史前巨坑,如果做好了都会贴上来,但鉴于学生党所以不保证会不会弃坑……