為什麼這篇minecraft藥水id鄉民發文收入到精華區:因為在minecraft藥水id這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者twosheep0603 (兩羊)看板Minecraft標題Re: [討論] 關閉隱形藥水的使用...
※ 引述《sakuraku (weiwei)》之銘言:
: 如題
: 朋友架設的伺服器一直有玩家喝隱形藥水傷害其他優良市民
: 爬過文章後也沒有看到如何取消隱形藥水的功能或指令插件
: 想知道某些伺服器是如何關閉隱形藥水的權限的QQ
想說難得有題目可以當作指令練習,沒想到意外的簡單4行指令就解決了
下面可以用上色來對照指令跟說明之間的關係
由於目前並沒有直接尋找身上有特定效果玩家的指令
所以必須藉助功能強大但是不太好用的計分板scoreboard來達成
首先先建立一個計分板物件 i_see_you (名字可以隨便取)
在遊戲中輸入指令1:
/scoreboard objectives add i_see_you dummy I see you
其中i_see_you 是這個計分板的名字
dummy 表示這個計分板的分數只能透過指令改變
I see you 是記分板顯示的名稱,不過這裡不會用到
接著輸入指令2:
/scoreboard players set @a i_see_you 0
這行指令會把所有的玩家加入這個記分板並設定分數為0
再來輸入指令3:
/scoreboard players set @a i_see_you 1 {ActiveEffects:[{Id:14b}]}
稍微講解一下
這行看起來有點複雜,其實也只比上一行多一串怪東西而已
{ActiveEffects:[{Id:14b}]}的功能是從所有玩家(@a)中
過濾出身上帶有14號效果的玩家,而14號就是我們的隱形效果
也就是說,這一行指令的功能是將有隱形效果的玩家分數設為1
最後輸入指令4:
/effect @a[score_i_see_you_min=1] 14 0
細講會講太多,直接整行指令翻譯的結果是:
給予所有在i_see_you記分板上分數不小於1的玩家0秒的隱形效果
由於使用指令新增效果會覆蓋原有的效果且包含持續時間
所以不論原本的隱形效果還剩多少秒數都會強制結束
重複指令3.4就能達到禁用隱形藥水的效果
如果伺服器有開啟指令方塊的話
可以將指令3.4放在指令方塊內就能簡化操作
搭配定時電路就可以達到隨時偵測的效果,不過很多伺服器是禁止紅石連閃的
OP帶頭破壞規矩可是很嚴重的事情要盡量避免>.0
可行的方案有採用指令方塊礦車+觸發鐵軌像這樣
http://i.imgur.com/2By5Rt8.png
一個放指令3,另一個放指令4就能搞定了
不過在放之前指令1.2要先照順序下才能放3.4
如果發現哪裡怪怪的話就對調礦車裡的指令看看
這篇只分享解決問題的方法,很多東西都只是帶過而已沒有深究
如果有興趣的話改天再來發篇專門的文章
另外我絕對不會說我好像有篇文章富姦超過一年了...(還敢講
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.66.228
※ 文章網址: https://www.ptt.cc/bbs/Minecraft/M.1451433548.A.92E.html
以官方伺服器無任何模組的情況下
這些指令會造成隱形效果無法附在任何人身上所以也包含OP
至於其他第三方伺服器的OP隱形機制因為各家實現方式不同所以要一個個測試
不過OP能不能隱形其實好像不是那麼重要 你有一堆好棒棒的指令(?)
1只要執行一次,2如果有新增玩家的話再更新就可以了當然也是可以連續觸發
不過就要考慮到234三段指令執行的順序會有一點點影響
另外pre-1.9用fill clock也是會造成不小的伺服器負擔的
我自己是覺得使用15w35a之後新增的repeat跟chain功能會更乾脆一點
像上面的東西我只花了3顆指令方塊就做完了XD
某種程度上當然是可以啦
只是使用記分板可以抓出偷喝隱形藥水的壞小孩出來教訓一下
例如送他30秒致盲或凋零之類的 直接送kill好像太狠了一點點(?)
真是簡單又乾脆的做法XD
※ 編輯: twosheep0603 (140.113.66.228), 12/31/2015 01:37:38