导航
首页 新闻 美女 娱乐 手游 攻略

我的世界CS爆破系统原理详解

来源: 乐游 2014/5/7 11:14:25

我的世界里面命令方块是个非常强大的工具,玩家可以通过命令方块来实现很多功能,这也是游戏最大乐趣所在,不过想要弄懂命令方块还需要一些代码知识,下面是爆破系统原理实现方法详解。

爆破系统原理详解

这是主要处理部分,命令方块比较多,将给大家详细讲解。(将以羊毛颜色命名命令方块)

前端输入区

主要目的:探测玩家是否有安放C4的动作,并输入信号。

首先一个命令方块脉冲(←点击“脉冲”进入教程)连接蓝色。

蓝色:

/testfor @p[388,8,381,r=0] {SelectedItemSlot:4,Inventory:[{Slot:4b,id:"minecraft:firework_charge",tag:{display:{Name:"C4"}}}]}

命令讲解:探测某方位(地图中红色地毯处,也就是C4安放点)那个方块位置的最近玩家、且手里拿着在5号物品栏(模仿背包中的C4为止)的名为C4的烟火之星。

若探测是,则输出黄色

黄色:在绿色放置一个红石块

绿色开启脉冲,激活安包区

主要目的:显示安包时间、刷出实体C4

绿色下面:

/xp 8l @p

命令讲解:给予最近(因为前面已经探测到了最近玩家持有C4,不用增加判据)玩家8级经验。

脉冲长度5刻,模拟大概1秒

白色:

/xp -1l @p

命令讲解:(每秒)减少最近玩家1级经验。

于是制作了一个经验条显示器。

灰色组:

/effect @p 2 2 255 true

命令讲解:(每秒)给予玩家长度2秒,等级255(无法移动)并隐藏颗粒物的缓慢效果。

/testfor @p[l=0]

命令讲解:探测玩家等级0,若是则输出。

深灰组:

/summon Item 388 8 381 {Item:{id:firework_charge,Count:1},PickupDelay:1000000000,Age:-32768}

命令讲解:在下包处(红色地毯处)生成一个无法捡起的烟火之星。(无法捡起物品的教程)

/clear @p firework_charge 0 1 {display:{Name:"C4"}}

命令讲解:清除玩家物品栏里的C4

在“前端输入区”红色处防止一个红石块,一个命令方块把红色羊毛设为空气,且激活:

/scoreboard players set @e[type=Item,c=-1] firework 1

命令讲解:给最近物品的firework计分板分数设为1。

首先我们需要一个实体计分板firework来探测:

/scoreboard objectives add firework dummy firework

这样做的主要目的是execute无法直接添加NBT标签,只能通过这样增加判据。

黑色组:

开启爆炸计时区、拆弹区、关闭安包区。

爆炸计时区

主要目的:显示爆炸倒计时、爆炸特效及重置。

当红色下面得到红石块输入后,激活三个命令方块:

按照先后信号顺序实现上下后左右

所以下面是:

/scoreboard objectives add C4DetonatingTime dummy C4DetonatingTime

命令讲解:创建名为“C4引爆时间”的计分板。

接着左右:

/scoreboard objectives setdisplay sidebar C4DetonatingTime

命令讲解:把这个计分板设置到侧边栏。

/scoreboard players set @a C4DetonatingTime 30

命令讲解:分数设为30(模拟30秒)

接着仍然也是激活一个5刻(长度1秒)的脉冲,连接黄色:

/scoreboard players remove @a C4DetonatingTime 1

命令讲解:(每秒)给这个计分板减1.

也连接蓝色:

/testfor @a[score_C4DetonatingTime=0]

命令讲解:探测全部玩家分数0,若是,则输出信号

绿色组(负责爆炸特效):

/execute @e[type=Item,score_firework_min=1] ~ ~ ~ kill @e[type=!FallingSand,r=10]

命令讲解:杀死所有在firework分数为1的物品周围10个方块单位的实体(除了掉落沙是因为周围有一个命令方块脉冲,同时也清除了C4)

/playsound ambient.weather.thunder @a ~ ~ ~ 1 1 1

命令讲解:给所有人播放打雷的音效。

/execute @e[type=Item,score_firework_min=1] ~ ~ ~ /particle largeexplode ~ ~ ~ 10 10 10 0.001 2000

命令讲解:在firework分数为1的物品处生成一个范围10,时间0.001,颗粒数量2000的大型烟雾

/scoreboard objectives remove C4DetonatingTime

命令讲解:删除倒计时计分板。

棕色(负责重置):

关闭爆炸倒计时、关闭拆包探测、关闭拆包倒计时、重置经验(若拆包失败及时清除倒计时)。

紫色:在拆包区另外讲解。

拆包区

主要负责拆包倒计时、重置。

首先我们来看一下警匪判据:

/scoreboard objectives add ispolice dummy

命令讲解:创建一个判断警匪的计分板。

若选择警察:

/scoreboard players set @p ispolice 1

则设为1

若选择土匪:

/scoreboard players set @p ispolice 0

/give @p firework_charge 1 0 {slot:4b,display:{Name:"C4"}}

设为0,并且给个C4。

所以若拆包,就探测这个人是否为警察。

拆包探测区:

红色:

/execute @e[type=Item,score_firework_min=1] ~ ~ ~ execute @p[score_ispolice_min=1,r=0] ~ ~ ~ playsound random.successful_hit @p[sore_ispolice_min=1] ~ ~ ~ 1 1 1

命令讲解:探测firework为1的物品(C4)接触到警察就播放ding的音效,并输出黄色

黄色:激活拆包倒计时

/xp 8l @p[score_ispolice_min=1]

给警察8级经验

倒计时区:

激活5刻(长度1秒)脉冲。激活蓝色组:

/xp -1l @p[score_ispolice_min=1]

命令讲解:(每秒)减去警察1级经验

/effect @p[score_ispolice_min=1] 2 2 255 true

命令讲解:(每秒)给予警察长度2秒,等级255(无法移动)并隐藏颗粒物的缓慢效果。

绿色:

/testfor @p[score_ispolice_min=1,l=0]

命令讲解:探测警察等级0,若是,则输出信号。

输出棕色:

/scoreboard objectives remove C4DetonatingTime

命令讲解:移除爆炸倒计时计分板

/kill @e[type=Item,score_firework_min=1]

命令讲解:清除C4

并且关闭爆炸倒计时、关闭拆包探测、关闭拆包倒计时

最后两个紫色一起讲:

若C4爆炸,则

匪:

/tellraw @a[score_ispolice=0] {text:"Explosion C4 successfully!",color:red,bold:true}

警:

/tellraw @a@a[score_ispolice_min=1] {text:"C4 has exploded",color:gray,bold:true}

若拆包成功,则:

警:

/tellraw @a[score_ispolice_min=1] {text:"Demolition C4 successfully!",color:red,bold:true}

匪:

/tellraw @a[score_ispolice=0] {text:"C4 has been defused",color:gray,bold:true}

最后希望大家能从中增长下命令知识

相关下载
相关文章
其它版本

大家还下载了这些:

+