abel820114
本帖最后由 abel820114 于 2019-2-16 20:28 编辑

版本:1.13.2
各位dalao好。以下問題描述:

我想做一個點擊式告示牌,
這個告示牌的效果是:「右鍵點擊互動後,會偵測互動玩家的副手是不是"空瓶"。如果是空瓶,就執行命令。」
我寫的命令是這樣的:

give @p sign{BlockEntityTag:{Text1:"{\"text\":\"sell空瓶回收\",\"bold\":\"true\"}",Text2:"{\"text\":\"Click me\",\"clickEvent\":{\"action\":\"run command\",\"value\":\"/execute as @s[nbt={Inventory:[{Slot:-106b,id:\\\"minecraft:glass_bottle\\\"}]}] run give @p minecraft:apple\"}}"}}

實際上也拿到告示牌了,告示牌的文字顯示也都正常,但無法檢測互動玩家副手上的空瓶

請問有沒有人哪裡出錯了?



2021.12 数据,可能有更多内容版本:1.13.2
各位dalao好。以下問題描述:


我想做一個點擊式告示牌,
這個告示牌的效果是:「右鍵點擊互動後,會偵測互動玩家的副手是不是"空瓶"。如果是空瓶,就執行命令。」
我寫的命令是這樣的:


give @p sign{BlockEntityTag:{Text1:"{\"text\":\"sell空瓶回收\",\"bold\":\"true\"}",Text2:"{\"text\":\"Click me\",\"clickEvent\":{\"action\":\"run command\",\"value\":\"/execute as @s[nbt={Inventory:[{Slot:-106b,id:\\\"minecraft:glass_bottle\\\"}]}] run give @p minecraft:apple\"}}"}}

實際上也拿到告示牌了,告示牌的文字顯示也都正常,但無法檢測互動玩家副手上的空瓶


請問有沒有人哪裡出錯了?




虎水小骥
本帖最后由 虎水小骥 于 2019-2-16 21:52 编辑
  1. give @p sign{BlockEntityTag:{Text1:"{"text":"sell空瓶回收","bold":"true"}",Text2:"{"text":"Click me","clickEvent":{"action":"run command","value":"execute as @s[nbt={SelectedItem:{"id":\\"minecraft:glass_bottle\\","Count":1b}}] run give @p minecraft:apple"}}"}}
复制代码

不需要“/”,同时使用的目标选择器不对
我尽力了……

apple7032
虎水小骥 发表于 2019-2-16 21:35
不需要“/”
请采纳

我刚刚试了一下
还是不行

apple7032
虎水小骥 发表于 2019-2-16 21:35
不需要“/”,同时使用的目标选择器不对
请采纳

他的excuse没有任何问题
你的nbt是“主手”是玻璃瓶
他的nbt是“副手”是玻璃瓶

id记得转义\\\"minecraft:glass_bottle\\\"
而且  还是不行


虎水小骥
apple7032 发表于 2019-2-16 21:50
他的excuse没有任何问题
你的nbt是“主手”是玻璃瓶
他的nbt是“副手”是玻璃瓶

好吧没注意读题xxx感谢提醒
我实力有限……还请各位大佬多多指教

SPGoding
少了一個下劃線,是 "run_command" 而不是你所寫的 "run command"。
下面的指令修復了這個問題,並刪除了你所嵌套的實際並無意義的 execute 指令。
give @p sign{BlockEntityTag:{Text1:"{\"text\":\"sell空瓶回收\",\"bold\":\"true\"}",Text2:"{\"text\":\"Click me\",\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/give @s[nbt={Inventory:[{Slot:-106b,id:\\\"minecraft:glass_bottle\\\"}]}] minecraft:apple\"}}"}}



abel820114
SPGoding 发表于 2019-2-16 20:26
少了一個下劃線,是 "run_command" 而不是你所寫的 "run command"。
下面的指令修復了這個問題,並刪除了你 ...

原來如此,修改之後可以了,非常感謝!
想再請問一下,如果excute後面的只是不只是give apple,而是function的話,也是直接function就好了嗎? 我好像有聽過 sign執行的指令就直接是以互動人的名義執行?

abel820114
本帖最后由 abel820114 于 2019-2-17 01:54 编辑
SPGoding 发表于 2019-2-17 00:39
沒錯,sign 執行的命令是在 sign 的位置、以互動人的身份執行。

所以有點需要注意,如果你的 function  ...


原來如此,因為執行位置還是在告示牌以至於我之前一直很疑惑執行人是誰。非常感謝!

第一页 上一页 下一页 最后一页