本帖最后由 ghyzhi10086 于 2014-5-3 11:29 编辑

前言:这个作品其实做主要的部分是空白菌做的,但因为它发不了贴,所以我增加了一些功能并帮他发了上来
空白菌原本得作品:
/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
QAQ哎哟妈呀我终于打完了,虽然我也知道没有图片没人看,但还是手贱发一个贴把
前文:
手雷系统
爆破系统

[groupid=546]Command Block Logic[/groupid]