首页 > 新闻
导航

我的世界枪械系统实现方法

来源: 乐游日期:2014/5/8 9:58:01

我的世界里面玩家可以通过命令方块实现各种游戏功能,最近有玩家放出了CS的爆破系统和手雷系统实现方法,而枪械系统也给玩家带来了不少惊喜,下面是关于枪械系统的实现方法详解。

枪械系统实现方法

空白菌原本得作品

/scoreboard objectives add explode dummy 创建一个名为explode的变量

高频

/scoreboard players set @e[type=Arrow] explode 1 {inGround:1b} 给所有落在地上的箭的explode分数设置为1

/execute @e[type=Snowball] ~ ~ ~ kill @e[type=Arrow,r=3] 以雪球杀死周围半径3内的所有箭

/execute @e[type=Snowball] ~ ~1 ~ summon Arrow ~ ~ ~ 在雪球上方召唤一只箭

超高频

/execute @e[type=Snowball] ~ ~ ~ execute @e[type=Arrow,r=3] ~ ~ ~ tp @e[type=Arrow,r=0] @e[type=Snowball,r=3] 把离雪球最近的弓箭传送到雪球的位置

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ summon Creeper ~ ~ ~ {ignited:1,Fuse:3} 在explode分数为1的箭召唤一只待爆的苦力怕

/kill @e[type=Arrow,score_explode_min=1] 杀死所有explode分数为1的弓箭

如上,顺序必须十分严谨

而改进是基于上文之上,先是

/scoreboard objectives add quantity dummy 创造一个名为quantity的变量

然后将

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ summon Creeper ~ ~ ~ {ignited:1,Fuse:3} 指令的位置改为

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ effect @p[team=blue,r=1] 7 1 1 在explode分数为1的箭给半径为1内的蓝队玩家一个1秒的瞬间伤害效果

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ tp @p[team=red] ~ ~ ~ ~ ~-5 在explode分数为1的箭给最近的红队玩家角度上调5度(后座力)

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ clear @p[team=red] snowball 1 1 在explode分数为1的箭清除最近红队玩家的一个雪球

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ scoreboard players remove @p[team=red] quantity 1 在explode分数为1的箭给最近红队玩家的quantity分数减一

然后放一个中继器(档数就是换弹速度)

与/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ testfor @p[score_quantity_min=1,team=red](在explode分数为1的箭检测最近的红队玩家是否quantity分数不小于1)构成与门

/execute @e[type=Arrow,score_explode_min=1] ~ ~ ~ give @p[team=red] snowball 1 1 在explode分数为1的箭给予最近红队玩家一个雪球

而弹夹更是简单

/scoreboard objectives add 20 dummy 创造一个20的变量

/scoreboard objectives add number dummy 创造一个名为number的变量

/scoreboard objectives add quantity2 dummy 创造一个名为quantity2的变量

然后设置进入服务器就触发:/scoreboard players add @a number 1 给所有玩家的number分数加1

然后/scoreboard players set @a 20 20 给所有玩家的20变量设置为20

高频

/testfor @p[score_number_min=x,ccore_number=x] {SelectedItemSlot:5} 检测number分数为x的玩家是否选中6号物品栏(x为任意数字,或者用tellraw,不过我不会用这个指令)

-true

/clear @p[score_number_min=x,ccore_number=x] redstone 1 1 给number分数为x的玩家清除1格红石(这里的redstone只是代表弹夹,任何物品不限)

/scoreboard players operation @p[score_number_min=x,ccore_number=x] 20 -= @p quantity 将玩家的20变量减去quantity变量

/scoreboard players operation @p[score_number_min=x,ccore_number=x] quantity2 -= @p 20 将玩家的quantity2变量减去20变量

/testfor @p[score_number_min=x,ccore_number=x,score_quantity2_min=1] 检测玩家的quantity2变量是否不小于1

-true

/give @p[score_number_min=x,ccore_number=x] snowball 给玩家一个雪球

/scoreboard players set @p[score_number_min=x,ccore_number=x] quantity 20 将玩家的quantity分数设置为20

/scoreboard players set @a 20 20 给所有玩家的20变量设置为20

我的世界(minecraft)中文完整版

中文63.7M17-01-04

下载
玩家留言
跟帖评论
查看更多评论
猜你喜欢
访问电脑版 | 游戏 | 排行榜