切換
舊版
前往
大廳
主題

【嵐】【指令】記分板也可以製作機率事件

雪色 | 2016-12-09 20:52:58 | 巴幣 4 | 人氣 585

--------------------------------------------------------------------------------------
前提:
主要是利用Minecraft裡的刻(每0.05秒)記分方式製作成的快速機率計算事件,
大概要有的能力就是基本的數學能力了...(分數和百分比數字的計算)
--------------------------------------------------------------------------------------
正文:
一開始可以先創立記分板:
/scoreboard objectives add Time stat.playOneMinute

如果你再輸入以下指令後會顯示一個記分板在右側:
/scoreboard objectives setdisplay sidebar Time

同時那個記分板會一直不段的向上增加(每0.05秒+1),這時你就完成了第一步了~

再來要幫這個機率設定一個上限的範圍:'
/scoreboard players set @a[score_Time_min=2] Time 0
(2是這個記分板最大的上限數值,改越大的話機率會越低)

按下完成後如果右側的記分版分數只顯示在1和2的話就代表你第二步成功了


最後就是在選擇玩家的目標裡面設定一個分數的指定數值:
/execute @a[score_Time_min=1,score_Time=1] ~ ~ ~ (自訂義指令)

(min後面的1是最小被指定的分數為1,[]裡最後面的1是最大被指定分數為1,
你也可以提高最大被指定的分數或改變最小被指定的分數,
只要分數在範圍內即可,但不建議過大,不然會有太明顯的機率週期)
而後可以推理出這個系統一共有1/2(50%)被執行的機率,
(也就是分數會不斷刷新,當觸發機關後且分數是1的時候後方的指令會被執行)

--------------------------------------------------------------------------------------
範例:
「鑽石抽獎機」


製作方式:
先創立記分板:
/scoreboard objectives add Time stat.playOneMinute

而後放置指令方塊裡面輸入:
/scoreboard players set @a[score_Time_min=3] Time 0
(這個機關最大的機率範圍是3)

接下來把這串指令丟到指令方塊後執行:
/setblock ~ ~1 ~ minecraft:standing_sign 0 replace {Text1:"[{\"text\":\"\u00a7b「鑽石抽獎機」\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/execute @a[score_Time_min=1,score_Time=1] ~ ~ ~ /give @p diamond 1\"}}]",Text2:"[{\"text\":\"\u00a7a33%抽鑽石一顆\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/execute @a[score_Time_min=1,score_Time=1] ~ ~ ~ /tellraw @p [{\\\"text\\\":\\\"\u00a76恭喜你抽到了 \u00a7b鑽石x1\\\"}]\"}}]",Text3:"[{\"text\":\"\u00a76(點我開始抽鑽)\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/execute @a[score_Time_min=2,score_Time=3] ~ ~ ~ /tellraw @p {\\\"text\\\":\\\"\u00a76很可惜沒有抽到鑽石,再接再勵\\\"}\"}}]"}

右鍵告示牌後會有三個指令會被同時執行,分別解析:
/execute @a[score_Time_min=1,score_Time=1] ~ ~ ~ /give @p diamond 1
(當玩家的Time分數最小大於1,最大小於1時,會給予最近玩家1顆鑽石)

/execute @a[score_Time_min=1,score_Time=1] ~ ~ ~ /tellraw @p [{\\\"text\\\":\\\"\u00a76恭喜你抽到了 \u00a7b鑽石x1\\\"}]
(當玩家的Time分數最小大於1,最大小於1時,會對最近玩家說:「恭喜你抽到 鑽石x1」)

/execute @a[score_Time_min=2,score_Time=3] ~ ~ ~ /tellraw @p {\\\"text\\\":\\\"\u00a76很可惜沒有抽到鑽石,再接再勵\\\"}\"}
(當玩家的Time分數2以上,3以下時,會對最近玩家說:「沒有抽到鑽石,再接再勵)
-------------------------------------------------------------------------------

創作回應

卡滋厚切洛排(央夜)
那個,我嘗試以後,只有第一二項指令作用

第三項/scoreboard players set @a[score_Time_min=2] Time 0
似乎沒有作用呢...我是開新世界測試的,版本1.10
2017-01-14 00:34:52
雞塊
為什麼他不會跑出0阿@@ 不是有設定成0的步驟嗎
2017-08-25 13:15:20
追蹤 創作集

作者相關創作

更多創作