Minecraft(我的世界)中文论坛
标题: MC1.7:指令方块PVP地图生命计数器原理讲解
作者: PotatoMaster101 时间: 2014-1-14 21:12
标题: MC1.7:指令方块PVP地图生命计数器原理讲解
本帖最后由 PotatoMaster101 于 2014-1-14 23:13 编辑
大家好,今天给大家讲下PVP地图里的生命积分板系统的教程/原理。大家去国外大型服的时候,有些PVP小游戏会告诉玩家的剩余生命,如果生命全用完后就会进入观战模式。大型服一般用的是插件,都是自动计算的,不是指令方块。今天教大家如何在原版服务器里安装生命计数器。缺点是有个高速脉冲,可能会卡。截图:
本人这里设置的是最高有5条命。死了一次会降低一条。本人的积分板显示系统是list,所以在单机也可以按tab查看。大家也可以用sidebar,不推荐用belowName。
说下原理,主要是一个高速脉冲为核心。脉冲的一部分链接到3个指令方块里(图片右边),目的是不停地创建2个积分板变量,以防有人把变量移除,导致系统失败。这里用的是2个变量:dummy和deathCount。如果光光就用deathCount的话,那只能显示死亡次数,而不能显示生命剩余。所以主要原理是每次deathCount+1后,dummy就会-1。当莫个玩家的dummy变成0后,就会把该玩家tp到观战区。显示积分板的就是dummy变量。所以第3个指令方块用处就是创建积分板的显示,让玩家知道自己还剩下几条命。用的指令是:
- scoreboard objectives add (名字) dummy
复制代码 这条指令的意思就是创建一个dummy变量的积分板。名字处大家可以自己随便写。这个变量之后用处就是计算/显示玩家生命数量,所以还要加一条显示用的指令:
- scoreboard objectives setdisplay sidebar (名字)
复制代码 这条就是控制积分板显示的指令了,让玩家清楚自己有几条命。注意的是dummy变量的名字是什么,显示的名字就是什么。之后玩家还要加一条deathCount变量的指令,这条指令是核心,计算玩家死亡次数,然后改进dummy的变量。指令是:
- scoreboard objectives add Death deathCount
复制代码 这条指令里的Death就是本人的自定义名字。但推荐用Death,可以知道这个积分板具体是掌握什么。当然,Death玩家可以随意的改变,只是个名字而已。(注意,名字不可以和dummy变量一样)。
之后就是真正的计算部分了。全电路在图片的左边。第一步是探测任何deathCount积分板为1的玩家,也就是刚死过的玩家,一旦探测成功后会把该玩家的dummy积分板-1。之后就把该玩家的deathCount重新调回0,所以最终的目的是,玩家每次死亡都会把dummy变量-1,这样就是控制玩家生命数量的显示。之后就是探测任何dummy变量为0的玩家,也就是把所有生命次数都用完的玩家。当探测成功后,会给出输出,然后会把该玩家TP到一个观战区,并给该玩家冒险模式。还会有一条提示,说明该玩家的生命已经全部用完。之后会把该玩家的dummy变量变成-1,这样子就不会和其他活着的玩家搞混。当重启游戏后,所有玩家的生命都会回到5。最大生命可以自己调,比如3条生命也可以。
==========END============
作者: minehenry 时间: 2014-1-14 21:16
大触你来了 我们做朋友吧
作者: H-eartbreaker 时间: 2014-1-14 21:16
好流弊呢~~~
作者: 719_Lokii 时间: 2014-1-14 21:17
lz被禁了?

作者: zz12341 时间: 2014-1-14 21:19
LZ 难道因为抄袭被监禁了?
作者: 寂寞过了就好 时间: 2014-1-14 21:20
唉 为什么我看到lz被禁言了?
作者: songfeitong 时间: 2014-1-14 21:38
唉,当年1.5没有好好学记分板,现在我几乎对计分板一窍不通
作者: David1259886940 时间: 2014-1-15 07:07
貌似命令矿车不用脉冲?
作者: wdsjwzzz 时间: 2014-1-15 10:57
楼主为什么要用英文。。
作者: PotatoMaster101 时间: 2014-1-15 21:53
zz12341 发表于 2014-1-14 23:19 
LZ 难道因为抄袭被监禁了?
。。。发帖发太多被系统自己封了而已 没抄袭任何人
作者: PotatoMaster101 时间: 2014-1-15 21:54
寂寞过了就好 发表于 2014-1-14 23:20 
唉 为什么我看到lz被禁言了?
。。。发帖发太多被系统说成了放水
作者: 寂寞过了就好 时间: 2014-1-15 23:32
PotatoMaster101 发表于 2014-1-15 21:54 
。。。发帖发太多被系统说成了放水
.... 好吧{:10_493:}
作者: PotatoMaster101 时间: 2014-1-16 16:53
wdsjwzzz 发表于 2014-1-15 12:57 
楼主为什么要用英文。。
中文看不惯。我生活在一个英文的世界
作者: 胡智豪 时间: 2014-2-21 20:27
我也一样~~~~(>_<)~~~~ {:10_516:}
作者: sunjiajun 时间: 2014-4-5 16:51
感觉英文比中文更加直观{:10_492:}
作者: 血蹄77 时间: 2014-4-15 22:20
太赞了,最近想做个大一点的pvp地图,太有用了。
不过还是问一下lz怎么做杀敌数的记分板
作者: 864522638 时间: 2014-12-2 01:48
大触 急求左半部分的详细指令
作者: xu11xx 时间: 2015-1-5 20:29
求左边的详细指令+1
作者: qiq2i 时间: 2015-3-6 23:20
那可以做只要杀死其他人,最后1个存活的的制动获胜吗?
作者: HackerXuanxu 时间: 2015-7-3 20:15
求助把积分板某个玩家减分的命令,只能加,不能减啊?
作者: 明天的经济 时间: 2017-10-20 16:23
其它计分板呢
作者: qq2799660499 时间: 2018-5-22 23:40
明白了呃zzzz1 63666333