跑跑車首頁(yè)

當(dāng)前位置:首頁(yè)攻略秘籍單機(jī)攻略 → 我的世界命令方塊教程檢測(cè)實(shí)體死前位置新方法

我的世界命令方塊教程檢測(cè)實(shí)體死前位置新方法

作者:佚名來(lái)源:本站整理 發(fā)表時(shí)間:2015/10/19 9:27:16 評(píng)論(0)

小編為大家?guī)?lái)了《我的世界》命令方塊教程檢測(cè)實(shí)體死前位置新方法,一直以來(lái),檢測(cè)實(shí)體的死前位置都是一件很麻煩的事情。常見(jiàn)的方法有:

配對(duì)——就是每個(gè)實(shí)體給一個(gè)編號(hào),然后把指定編號(hào)的盔甲架tp到那個(gè)實(shí)體那里

這個(gè)方法雖然不太可能出錯(cuò),因?yàn)槟莻(gè)盔甲架是肯定傳送到指定的實(shí)體那里的,然而那個(gè)窮舉數(shù)十分多。

檢測(cè)掉落物——這個(gè)方法就是給生物一個(gè)裝備,可能是不能顯示的。然后該生物死后,那裝備就會(huì)掉下,檢測(cè)那個(gè)裝備就代表檢測(cè)那個(gè)生物死前的位置。

然而這個(gè)方法有極大的局限,比如說(shuō)野生的生物,你需要更改他們的裝備,就可能會(huì)令他們?cè)镜难b備失去。也不能夠追蹤其他實(shí)體種類。

有一天,我突然想弄這個(gè),想了想,其實(shí)我們要做的東西其實(shí)很簡(jiǎn)單。

流程就是

選擇實(shí)體?選擇最近的從未選擇過(guò)(這1游戲刻)的盔甲架并把其tp過(guò)來(lái)

(不停重復(fù)以上步驟直至所有實(shí)體都選擇完)

那么剩下的不就是代表的實(shí)體"死了"的盔甲架嗎?

雖然的確會(huì)有bug,比如一些會(huì)傳送的實(shí)體,可能就不適合這個(gè)。還有當(dāng)實(shí)體很靠近的時(shí)候可能會(huì)互相干擾,盔甲架可能到了旁邊的實(shí)體也不一定,然而這其實(shí)根本就無(wú)關(guān)要緊,只要不是不能用就好了2333333333

(起碼這個(gè)比一大堆窮舉/只能檢測(cè)生物的位置對(duì)我來(lái)說(shuō)方便點(diǎn)吧23333)

思路、原理分析

首先,我們用stats把指定實(shí)體和盔甲架的successcount儲(chǔ)存到記分板,并且把其分?jǐn)?shù)設(shè)置為0。

然后,我們execute指定實(shí)體execute該實(shí)體最近還沒(méi)被選擇的盔甲架tp到最近還沒(méi)被選擇過(guò)的指定實(shí)體

比如execute @e[type=!Player,score_time=1,score_time_min=1] ~ ~ ~ execute @e[c=1,type=ArmorStand,score_stats=0] ~ ~ ~ tp @e[c=1] @e[c=1,score_time=1,score_time_min=1,score_stats=0]

由于tp了之后,該實(shí)體和用以標(biāo)記的盔甲架的successcount分?jǐn)?shù)都會(huì)為1(execute的成功),所以之后就不會(huì)選擇到它們

之后,我們就可以對(duì)stats分?jǐn)?shù)為0的盔甲架為所欲為♂ (因?yàn)閟tats為0的盔甲架就代表了它是剩下的一個(gè),沒(méi)有任何配搭,代表它所標(biāo)記的實(shí)體死了)

#其實(shí)這里有個(gè)假設(shè)的,我剛才忘記說(shuō)明了2333333我是假設(shè)每個(gè)實(shí)體最近的盔甲架為其上1gt的位置,所以這東西是根據(jù)這個(gè)假設(shè)來(lái)運(yùn)作的

如果那個(gè)實(shí)際情況違背了這個(gè)假設(shè)(比如會(huì)瞬移的實(shí)體),這樣子這個(gè)系統(tǒng)就會(huì)出很大的bug

例子

例子下載: http://pan.baidu.com/s/1o6N86Ps

這個(gè)例子是標(biāo)記僵尸的,然而其他的實(shí)體也是能夠標(biāo)記的,只要不是末影人這類會(huì)傳送的。

命令:

scoreboard players add @e[type=Zombie] time 0

execute @e[score_time=0,score_time_min=0] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:"Marker",Invisible:1b,NoGravity:1b,Invulnerable:1b}

scoreboard players set @e[score_time=0,score_time_min=0] time 1

scoreboard players set @e[type=!Player] stats 0

execute @e[type=!Player] ~ ~ ~ stats entity @e[c=1,r=0,type=!Player] set SuccessCount @e[c=1,r=0,type=!Player] stats

scoreboard players set @e[type=!Player] stats 0

execute @e[type=!Player,score_time=1,score_time_min=1] ~ ~ ~ execute @e[c=1,type=ArmorStand,score_stats=0] ~ ~ ~ tp @e[c=1] @e[c=1,score_time=1,score_time_min=1,score_stats=0]

scoreboard players set @e[score_stats=0,name=Marker] time -5

execute @e[score_time=-5,type=ArmorStand] ~ ~ ~ /particle fireworksSpark ~ ~ ~ 0 0 0 1 50

kill @e[score_time=-5,type=ArmorStand]

復(fù)制代碼

首先,前三個(gè)命令都是為了標(biāo)記新誕生的僵尸,并且讓他們生成盔甲架的。我們先把所有僵尸的time分?jǐn)?shù)+0(不改變分?jǐn)?shù),然而如果沒(méi)有分?jǐn)?shù)就會(huì)把分?jǐn)?shù)變?yōu)?),然后讓所有time分?jǐn)?shù)為0的summon盔甲架,之后把他們的分?jǐn)?shù)設(shè)置為1(讓他們不會(huì)再生成盔甲架)。

之后的3個(gè)命令就是為了設(shè)置僵尸和盔甲架的stats

首先把stats分?jǐn)?shù)設(shè)置為0(以免出現(xiàn)沒(méi)有分?jǐn)?shù)的情況),然后設(shè)置stats(每只僵尸和盔甲架的successcount設(shè)置給自己的stats分?jǐn)?shù)里),最后把stats分?jǐn)?shù)設(shè)置為0(因?yàn)樯弦粋(gè)命令是成功的,所以他們的stats分?jǐn)?shù)是1)

然后,那一個(gè)命令就是整個(gè)系統(tǒng)的核心了,詳見(jiàn)上一個(gè)部分的解釋 (雖然也說(shuō)得不詳細(xì))。

最后的三個(gè)指令,就是用來(lái)對(duì)那個(gè)stats分?jǐn)?shù)為0的實(shí)體執(zhí)行操作的

首先我們把stats分?jǐn)?shù)為0的實(shí)體用time分?jǐn)?shù)來(lái)標(biāo)記,因?yàn)閑xecute命令在他們身上執(zhí)行了之后也是會(huì)讓其分?jǐn)?shù)變?yōu)?的

之后我們就執(zhí)行一些指令(比如在這里就是用particle指令來(lái)告訴玩家這個(gè)盔甲架的主人死了)

最后就把那個(gè)沒(méi)有主人的盔甲架殺死

bug:

1.不能指定末影人這類會(huì)瞬移的實(shí)體,因?yàn)樗麄儌魉蛠?lái)傳送去,這系統(tǒng)根本就不知道哪個(gè)盔甲架代表哪只末影人,于是那些位置就可能亂起來(lái)

2.不能跨世界指定,因?yàn)槟强准芪也⒉荒鼙WC它能夠過(guò)去那個(gè)世界(尤其是末地)

3.實(shí)體之間距離很接近的話,那個(gè)stats有可能會(huì)混亂(由于那個(gè)stats儲(chǔ)存的分?jǐn)?shù)是給最近的非玩家實(shí)體,太靠近可能會(huì)給錯(cuò)人,其原因應(yīng)該是MC的特性吧。。。),于是那個(gè)盔甲架可能會(huì)傳送到同一個(gè)實(shí)體那里。然而不用擔(dān)心,等一會(huì)/實(shí)體之間的距離遠(yuǎn)了的話,這個(gè)bug就會(huì)自動(dòng)消失。

4.玩家千萬(wàn)千萬(wàn)別打要標(biāo)記的實(shí)體...........無(wú)論是創(chuàng)造模式還是生存等都千萬(wàn)別打.......原因還是未知,可能就是MC的特性。


玩家評(píng)論
我要點(diǎn)評(píng)

網(wǎng)名 注:您的評(píng)論需要經(jīng)過(guò)審核才會(huì)顯示出來(lái)。

已有 0 位玩家參與點(diǎn)評(píng)
下載排行