來源:我的世界中文論壇
作者:hacccc
這是一個計分板教程,計分板又稱記分板,反正都一樣。有耐心的話可以試試看!相信想學計分板的人一定會有耐心的!
首先,計分板的指令是/scoreboard 它的分支有3個指令他們分別是objectives,players,teams翻譯為目標(或專案),玩家和隊伍。objectives是控制計分板的計分專案,players是控制玩家的分數,team就是隊伍。命令可以通過隊伍來改變某隊的玩家分數
objectives支指令教程:
objectives分為list/add/remove/setdisplay.
list就是列出所有計分項目,包括它的類型,顯示的名字,和它的真正名字.
add就是添加一個計分專案指令為 /scoreboard objectives add <名稱> <類型> [顯示的名稱] 注意:<>是必須要填 []是可填可不填
/scoreboard objectives add <名稱> <類型> [顯示的名稱]
名稱就是你用命令或者命令方塊來修改玩家分數時的名字,用它的顯示名字是不行的,除非你沒有打顯示的名稱就可以。類型的話就是得到分數的方法,玩家可以通過做一些事情去獲得分數,類型一般分為 dummy,health,totalKillCount,playerKillCount,deathCount. dummy就是虛擬的,只能通過命令或者命令方塊去修改分數。health是不可修改的,它是根據玩家的生命值而變化。totalKillCount只要玩家殺死任何生物(包括玩家)就可以獲得的分數,playerKillCount就是玩家殺死玩家所得的分數。deathCount是由玩家的死亡次數而增加的,可以說是可以記住玩家死亡的次數。顯示的名稱隨便寫,就是顯示出來的名字。
舉一個例子,假如我新建一個計分項目是這樣的/scoreboard objectives add Kills totalKillCount 殺敵數
/scoreboard objectives add Kills totalKillCount 殺敵數
那麼我只要殺任何東西(包括殺人)就可以獲得分數了,顯示的名字則是殺敵數,命令控制的名字就是Kills.每殺一個生物就可以得到一分。
接下來的是objectives的remove,remove就是移除的意思,不用說,就是移除一個計分項目的。
/scoreboard objectives remove <名稱> 名稱就是你添加計分專案的名稱,也就是命令執行要的那個名字。
/scoreboard objectives remove <名稱>
有人說,得到了分數,怎麼才可以看到自己的分數呢?
那就得用到objectives的setdisplay了,setdisplay是設置計分專案的顯示位置,顯示的位置分為list/sidebar/belowname.list是顯示在多人連線的人數清單(按Tab鍵可以看得到),sidebar就是顯示在你遊戲螢幕內的右邊,belowname 則是顯示在玩家的頭上(需要多人連線才可以)
/scoreboard objectives setdisplay <位置> [目標]
如果不打目標,那會就清空那個顯示位置的計分專案
舉一個例子,我之前已經創建了一個“殺敵數”的計分項目(看上面)
那麼顯示位置list/sidebar的效果圖分別為:
計分板objectives支命令章結束
players支指令教程
players支命令分為set/add/remove/reset/list. list指令可以列出哪一些玩家獲得了分數(可以這樣說),通過這樣你可以知道有哪些人獲得了參與了計分. set指令則是設置玩家某計分專案的分數,add指令則是增加多少分到某玩家的某計分專案,remove指令則是移除某玩家在某計分項目多少分,reset則是重置某玩家所有計分專案的分數(清空他的分數,並且退出計分)。如果你想修改一個dummy的計分項目的玩家玩家分數,那麼你只能通過這個players支命令來修改玩家的分數。
/scoreboard players <設置(set)|添加(add)|移除(remove)重置|(reset)|列表(list)>
設置某玩家的某計分專案的分數(目標則是計分專案):
/scoreboard players set <玩家> <目標> <分數>
添加(加上)多少分至某玩家的某計分專案的分數(目標則是計分專案):
/scoreboard players add <玩家> <目標> <分數>
移除(減去)多少分至某玩家的某計分專案的分數(目標則是計分專案):
/scoreboard players remove <玩家> <目標> <分數>
重置某玩家所有計分專案的分數(目標則是計分專案,直接退出計分):
/scoreboard players reset <玩家>
假如我輸入:/scoreboard set hacccc Kills 100 那麼,這個命令則是設置hacccc的Kills計分專案的分數為100,輸入後,我的Kills分數就有100了。
假如我輸入:/scoreboard add hacccc Kills 100 那麼,這個命令則是加上100分到hacccc的Kills計分專案,輸入後,我的Kills分數就多了100了。
其他也是這樣,依次內推。相信這很容易理解吧?
players支命令章結束
teams支命令教程
teams支指令分為list/add/remove/empty/join/leave/option.
list列出所有隊伍,add添加隊伍,remove移除隊伍,empty清空某隊伍的人(T光某隊的人),join加入某隊,leave退出某隊,option設置某隊
/scoreboard teams <list|add|remove|empty|join|leave|option>
list-略添加隊伍指令:
/scoreboard teams add <隊名> [顯示的名字]
移除一個隊伍:
/scoreboard teams remove <隊名>
加入一個隊伍:
/scoreboard teams join <隊名> [玩家ID]
玩家ID不寫則為自己,隊名則是必須寫現有的隊伍。
退出隊伍:
/scoreboard teams leave [玩家ID]
不寫玩家ID則為自己。
使某隊的所有玩家退出該隊伍:
/scoreboard teams empty <隊名>
option支指令教程:
/scoreboard teams option <隊名> <friendlyfire|color|seeFriendlyInvisibles> <數值>
option分為friendlyfire/color/seeFriendlyInvisibles.
friendfire翻譯的意思是誤傷,它的數值有true和false,true則是開啟誤傷,false則是關閉誤傷。
/scoreboard teams option <隊名> friendlyfire <true|false>
color則是設置某隊伍的顏色請按Tab鍵進行選擇顏色,數值就是顏色。(太多種顏色了,不打出來了= =)
/scoreboard teams option <隊名> color <顏色>
seeFriendlyInvisibles則是設置是否可以看到自己隊伍的人隱身,它的數值有true和false,true則是可見,false則是關閉可見。
/scoreboard teams option Red seeFriendlyInvisibles <true|false>
teams支命令章結束
好了,閱讀完了上面,相信你已經大致懂得了如何使用記分板,你可能還覺得記分板只是個計分數的,沒有啥用,那你就大錯特錯了。記分板它不但可以記住你的分數,而且,你還可以使用它製作更多的東西,例如是商店、用戶組(當然,伺服器最好用基礎外掛程式)、機械的使用限制。但是你前提是要學會以下的東西,以下內容由淺到深請注意。首先,你必須要學習players如何跟teams支命令連接在一起,意思是怎麼使用隊伍來控制玩家的分數。教程如下:
teams與players支命令的聯繫(必學!)
首先,先用players裡的set來舉例子。我們可以知道players的set的指令是這樣子用的/scoreboard players set <玩家> <計分項目> <分數>,在命令方塊裡,我們可以把 “<玩家>” 改成 “@p”即最近的玩家。如果在@p的右邊用[]括弧貼著它可以弄附加條件,請參照學習MCWiKi命令方塊←學習完後再看這裡= = 那麼,現在怎麼弄呢? 先給你個例子/scoreboard players set @p[team=Red] ABC 123這個例子就是讓執行該命令的命令方塊找到離自己最近,隊伍為Red的玩家,然後設置這個玩家的ABC計分專案的分數為123。這樣類似於/testfor指令(不要問我)。當然,也可以放個比較器在這個命令方塊附近,像/testfor指令一樣。
P.S:players的其他子命令都可以,例如add、remove、reset。
/scoreboard players set @p[team=Red] <計分項目> <分數>
接下來就是更複雜一些的了,請看以下例子!
/scoreboard players set @p[team=Red,score_ABC_min=123] EFG 23333
這個例子是先讓這個執行命令的命令方塊找到隊伍為Red的人,然後這個人的計分專案ABC的分數必須最小為123,如果這些條件符合接著就會設置這個人的EFG計分專案的分數為23333,如果找不到符合條件的玩家,這個命令將會失效。
/scoreboard players set @p[team=Red,score_計分項目_min=N] <計分項目> <分數>