我想要实现通过命令给最近的玩家药水效果的功能,但是effect @p 药水效果 会给到自己身上,怎么写指令能不给自己,而是除自己以外的最近玩家?
 本帖最后由 PleasedSun91669 于 2023-8-7 14:00 编辑 
加个name=!自己
复制代码
加个name=!自己
- execute as <span id="kM0.9641423382888159">@a[limit=1,name=!你的名字,sort=nearest] run </span>effect give <span id="kM0.1065368269822422">@s xxx</span>
PleasedSun91669 发表于 2023-8-7 13:58
加个name=!自己
如果是每个人都可以用的指令呢,能否用placehodlerapi的变量代替?
erling2021 发表于 2023-8-7 13:59
如果是每个人都可以用的指令呢,能否用placehodlerapi的变量代替?
你指的是...Placeholder的玩家变量名?
%player%
execute as @a[limit=1,name=!你的名字,sort=nearest] run effect give @s xxx
强大而无暇的discuz又把at识别了
PleasedSun91669 发表于 2023-8-7 14:04
你指的是...Placeholder的玩家变量名?
%player%
execute as @a[limit=1,name=!%player%,sort=nearest] run effect give @s Glowing
这样写就可以给除我以外最近的玩家发光效果了嘛
erling2021 发表于 2023-8-7 14:08
execute as @a[limit=1,name=!%player%,sort=nearest] run effect give @s Glowing
这样写就可以给除我以 ...
错误的,发光效果大写在我这个服务端上报错了,建议把Glowing改成小写的
PleasedSun91669 发表于 2023-8-7 14:11
错误的,发光效果大写在我这个服务端上报错了,建议把Glowing改成小写的
这是要放在命令方块里执行的吗?我直接前面加斜杠执行,显示:Entity 'as' cannot be found
erling2021 发表于 2023-8-7 14:14
这是要放在命令方块里执行的吗?我直接前面加斜杠执行,显示:Entity 'as' cannot be found ...
你这个服务器什么版本的,
这个是新语法
erling2021 发表于 2023-8-7 14:19
1.12.2
对不起大佬
effect give @a[limit=1,name=!%player%,sort=nearest] glowing
试试,因为我手里的1.12.2坏掉了试不了
PleasedSun91669 发表于 2023-8-7 14:20
effect give @a[limit=1,name=!%player%,sort=nearest] glowing
试试,因为我手里的1.12.2坏掉了试不了[:. ...
这样输完控制台说 Entity 'give' cannot be found
我把give删掉之后,说 无效的选择器参数'limit = 1'
erling2021 发表于 2023-8-7 14:26
这样输完控制台说 Entity 'give' cannot be found
我把give删掉之后,说 无效的选择器参数'limit = 1' ...
目前我的方案就是手动选择距离distance参数了,或者添加个计分板计算距离
(如果有其他dalao那当我没说)
PleasedSun91669 发表于 2023-8-7 14:29
1.12.2好像没有limit这个选择器
目前我的方案就是手动选择距离distance参数了,或者添加个计分板 ...
好的好的,谢谢大佬了
最方便的方法
复制代码
不足之处就是如果两个人重合在一起就不能用
- effect @p[rm=1] 效果
不足之处就是如果两个人重合在一起就不能用
- scoreboard players tag @a add not_myself
 
- scoreboard players tag @s remove not_myself
 
- effect @p[tag=not_myself] minecraft:glowing 5 0
 
- scoreboard players tag @a remove not_myself
做成数据包函数,让玩家执行