2015年9月23日水曜日

【コマンドブロック】スプラトゥーン制作日記(7)スプラッシュボム。遅延1秒の再現【マインクラフト】

コマンドブロックだけでスプラトゥーンを作っていく日記


スプラッシュボムは放物線を描き、着弾から1秒後に爆発する



どうやって再現していくの?

再現のやり方は様々ですが、私はプレイ動画を見ながら仕様を把握していきます。
放物線を描きながらスプラッシュボムは飛んでいきますから、利用するアイテムはスプラッシュポーションが良さそうです。

1、使うアイテムは「スプラッシュポーション」

次に識別です。識別は各チームごとに判定が異なるため必要となります。
プレイヤーがスプラッシュポーションを使った時、そのプレイヤーに最も近いポーションにスコアをセットします。

/execute @a[team=red,score_usedpotion_min=1] ~ ~ ~ /scoreboard players set @e[type=Potion,c=1,r=1] redpotion 1 

このコードを読むと、赤チームのusedpotionが1のプレイヤーの座標に対して、選択するエンティティは1,範囲は1でポーションにredpotionというスコアを1セットするというコードです。

2,赤チームがスプラッシュポーションを使うと、投げられたポーションにはredpotionスコアが1セットされる。

つづいて、このスプラッシュポーションの着弾判定です。今回は赤の場合です。

/execute @e[type=Potion,score_redpotion_min=1] ~ ~ ~ detect ~ ~-.5 ~ minecraft:wool -1 /summon Creeper ~0 ~0 ~0 {ignited:1,ExplosionRadius:0,Fuse:25,CustomName:"red",Fire:40}


ここがコマンド力が試されるところですね。redという名前で炎上しているクリーパーを召喚させます。着火させた状態で1.25秒後に爆発します。
この状態のクリーパーがいる場合、そのクリーパーにスコアを1ずつ加算していきます。redfuseスコアです。

/execute @e[type=Creeper,name=red] ~ ~ ~ /scoreboard players add @e[type=Creeper,name=red] redfuse 1 


クリーパーの爆破とほぼ同時にクリーパーの周りを塗ります。なので

/execute @e[type=Creeper,score_redfuse_min=20] ~ ~ ~ /fill ~1 ~1 ~1 ~-1 ~-1 ~-1 minecraft:wool 1 replace minecraft:wool

redfuseが20(1秒)の時、塗りつぶします。約0.25秒後にクリーパーが爆発しますが、見た目は爆発と同時です。




まだ調整中ですが、こんな感じにマイクラに置き換えれるものにかえてつくっていきます。

次:【コマンドブロック】スプラトゥーン制作日記(8)バリアの再現がかなり悩ましい【マインクラフト】
前:【コマンドブロック】スプラトゥーン制作日記(6)登場する武器を決める!【マインクラフト】

 にほんブログ村 ゲームブログ Minecraftへ

0 件のコメント:

フィード