當個創世神 1.8版本指令方塊CommandStats圖文教學

當個創世神 1.8版本指令方塊CommandStats圖文教學 ,在14w27a中出來了一個新的dataTag:{CommandStats}。這個dataTag是控制積分板用的,適合做冒險地圖什麼。這個功能比較強大。目前有4個功能:Block,Item,Entity和Success。這個的用處是,可以探測玩家背包里有多少個某個物品,探測地圖裡有多少個生物等等。

當個創世神 1.8版本指令方塊CommandStats圖文教學

Blocks – 控制方塊

指令方塊放置了幾個方塊,那就會把積分變到幾分。比如:如果是/setblock,那就是1,因為/setblock只能放一個方塊。如果是/fill,那就可以很多了,看玩家/fill多少個方塊,然後就顯示多少。

Items – 控制物品

用這個可以探測玩家身上帶了幾個指定的物品。這個和/clear結合,把玩家的某個物品刪除0個,然後Item就會顯示出玩家物品的數量。

Entities – 探測生物

比如:使用/tp @e ~ ~ ~,可以把所有生物TP到他們當前的位置,然後Entity就會顯示出有多少個輸出,也就是多少個生物。

Success – 控制執行的次數

比如如果是Item的話,/clear之後就會探測有多少個物品,但是Success還是1,因為就執行了一次。

Query – 遊戲晚點再加入的,控制其他一些東西的次數

比如:/time,來告訴玩家時間是多少,可能者/xp,來告訴玩家自己有多少XP等等。這個就不發教學了,詳情請看Tyson的教學。

之後來說下NBT的格式。格式:

{CommandStats:{AffectedItemsName:"Items玩家",AffectedItemsObjective:"積分板變量",

AffectedBlocksName:"Blocks玩家", AffectedBlocksObjective:"積分板變量",

AffectedEntitiesName:"Entities玩家", AffectedEntitiesObjective:"積分板變量",

SuccessCountName:"Success玩家",SuccessCountObjective:"積分版變量"}}

大家看見。NBT的格式裡面有4個剛才說的東西:Blocks,Items,Entities和Success。本人推薦把積分板變量都改成相同的變量,這樣比較方便。Blocks玩家,Entities玩家什麼,都是積分板裡面的玩家系統。但是本人推薦使用假名。(官方格式來自Wiki)

之後來教大家如何使用這個NBT。首先要做很多準備工作,比如創建積分板變量,創建假名什麼。

首先創建一個積分板變量。指令方塊里輸入:

/scoreboard objectives add (變量名字) dummy

變量名字地方隨便填寫。本人這裡就使用「14w27b」這個名字。

之後,創建假名。這裡也是和剛才一樣。指令方塊里分別輸入:

/scoreboard players set (假名) (變量名字) 0

這裡需要4個假名,因為有4個選項。所以,放置4個指令方塊,然後分辨打入4個不同的假名。本人的假名就使用Blocks,Items,Entities和Success。(注意,變量名字要和剛才創建的相同

之後,設定積分板的顯示。這個很簡單,使用setdisplay:

/scoreboard objectives setdisplay sidebar (變量名字)

這條指令把積分板變量顯示在遊戲畫面右邊。輸入完這條指令后不會出現東西,因為還未加入積分。所以,我們要把假名的積分全部設定成0(默認)。

現在把積分板變量里的4個假名分數都變成0。指令就是:

/scoreboard players set (假名) (積分板變量) 0

有4個假名,所以就要把4假名都設定成0。一個一個的設定。

最終效果就是在畫面右邊顯示積分板。截圖:

當個創世神 1.8版本指令方塊CommandStats圖文教學

之後來控制顯示使用的指令方塊。地上放一個指令方塊,然後裡面輸入:

/blockdata ~ ~ ~

{CommandStats:{AffectedItemsName:"Items玩家",AffectedItemsObjective:"積分板變量",

AffectedBlocksName:"Blocks玩家", AffectedBlocksObjective:"積分板變量",

AffectedEntitiesName:"Entities玩家", AffectedEntitiesObjective:"積分板變量",

SuccessCountName:"Success玩家",SuccessCountObjective:"積分版變量"}}

大家看見,這個格式就和剛才一樣。這裡使用/blockdata給指令方塊注入積分板的訊息。這裡有4個玩家:Blocks, Entities, Success和Items。這4個玩家就分別使用剛才創建的4個假名。然後積分板變量就和剛才創建的相同

比如像我這裡,就是:

/blockdata ~ ~ ~

{CommandStats:{AffectedItemsName:"Items",AffectedItemsObjective:"14w27b",

AffectedBlocksName:"Blocks", AffectedBlocksObjective:"14w27b",

AffectedEntitiesName:"Entities", AffectedEntitiesObjective:"14w27b",

SuccessCountName:"Success",SuccessCountObjective:"14w27b"}}

假名不同,變量一樣。

(當然,/setblock也可以使用。)

之後執行就可以了。然後指令方塊會自己注入所有的訊息。注意:只有注入的指令方塊才可以執行。所以注入完畢后別打掉指令方塊,否則要重新注入

注入完畢后清空掉指令方塊里的指令,然後就可以隨便的打了。比如:/fill ~ ~1 ~ ~ ~3 ~ minecraft:stone 0 replace ,那麼指令方塊就會把上面3格換成石頭。然後看積分板,控制Blocks的假名就會實現,把0分換成3分,因為換了3個方塊。然後Success處也會+1分,因為執行了一次就成功。

截圖:

之後,控制Entities,Items都一樣。Entities的話,那麼就可以使用 /tp @e ~ ~ ~ ,把所有的生物移到他們當前位置(也就是沒有移動),然後Entities就會顯示所有移動的生物數量:

之後的Items就不多說了。使用/clear可能者/give什麼,可以增加Items假名的積分。

之後,如果要輸出的話本人就不多說了,過於簡單。可以用/testfor,execute可能者/scoreboard players test。

最後,要清空積分板的話那就把4個假名的分數都變成0。

之後,教大家使用/stats。這個/stats,也是新出的指令,配合{CommandStats}。首先,指令格式是:

/stats <entity> <對象> <格式> <stat> <積分板假名> <積分板變量>

這個是使用在生物上面的。之後,還有一個使用在指令方塊上面的:

/stats block <指令方塊XYZ> <格式> <stat> <積分板假名> <積分板變量>

這些指令我就不多說了,和上面的一樣。主要是把NBT換成了指令而已。

最後推斷:

所謂的變量名字、假名我以前搗鼓計分板時實際上是把它們作為記錄體格式的變量來統計的。這裡計分板我看就是個指示統計輸出的作用。

按說計分板數據的輸出是一個比較糾結的問題,通過命令方塊本身NBT存儲這些數據,最好能作為指令里的參數發揮作用,這樣可以類似於編程里i++等的作用,簡單循環比如造伸展造橋的效果什麼的可以用較少的指令方塊來完成。

來源:gamersky

更多《當個創世神 Minecraft》實用攻略/模組/技巧:

  1. 當個創世神 紅石裝置製作圖文教學
  2. 當個創世神 投擲器電梯建造方法圖文詳解
  3. 當個創世神 提高fps遊戲心得
  4. 當個創世神 建築學圖文攻略 建築材料飾品與建築創意構想
  5. 當個創世神 PS4版白金圖文攻略

我來說兩句...

匿名留言版: