erling2021
我想要实现通过命令给最近的玩家药水效果的功能,但是effect @p 药水效果 会给到自己身上,怎么写指令能不给自己,而是除自己以外的最近玩家?

PleasedSun91669
本帖最后由 PleasedSun91669 于 2023-8-7 14:00 编辑

加个name=!自己
  1. execute as <span id="kM0.9641423382888159">@a[limit=1,name=!你的名字,sort=nearest] run </span>effect give <span id="kM0.1065368269822422">@s xxx</span>
复制代码


erling2021

如果是每个人都可以用的指令呢,能否用placehodlerapi的变量代替?

PleasedSun91669
erling2021 发表于 2023-8-7 13:59
如果是每个人都可以用的指令呢,能否用placehodlerapi的变量代替?

你指的是...Placeholder的玩家变量名?
%player%

execute as @a[limit=1,name=!你的名字,sort=nearest] run effect give @s xxx
强大而无暇的discuz又把at识别了

erling2021
PleasedSun91669 发表于 2023-8-7 14:04
你指的是...Placeholder的玩家变量名?
%player%

execute as @a[limit=1,name=!%player%,sort=nearest] run effect give @s Glowing
这样写就可以给除我以外最近的玩家发光效果了嘛

PleasedSun91669
erling2021 发表于 2023-8-7 14:08
execute as @a[limit=1,name=!%player%,sort=nearest] run effect give @s Glowing
这样写就可以给除我以 ...

错误的,发光效果大写在我这个服务端上报错了,建议把Glowing改成小写的

erling2021
PleasedSun91669 发表于 2023-8-7 14:11
错误的,发光效果大写在我这个服务端上报错了,建议把Glowing改成小写的

这是要放在命令方块里执行的吗?我直接前面加斜杠执行,显示:Entity 'as' cannot be found

PleasedSun91669
erling2021 发表于 2023-8-7 14:14
这是要放在命令方块里执行的吗?我直接前面加斜杠执行,显示:Entity 'as' cannot be found ...

你这个服务器什么版本的,问问题不带版本的恶习啥时候能改改
这个是新语法

erling2021
PleasedSun91669 发表于 2023-8-7 14:18
你这个服务器什么版本的,问问题不带版本的恶习啥时候能改改
这个是新语法
...

1.12.2
对不起大佬

PleasedSun91669

effect give @a[limit=1,name=!%player%,sort=nearest] glowing
试试,因为我手里的1.12.2坏掉了试不了

erling2021
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'

PleasedSun91669
erling2021 发表于 2023-8-7 14:26
这样输完控制台说 Entity 'give' cannot be found
我把give删掉之后,说 无效的选择器参数'limit = 1' ...

1.12.2好像没有limit这个选择器
目前我的方案就是手动选择距离distance参数了,或者添加个计分板计算距离
(如果有其他dalao那当我没说)

erling2021
PleasedSun91669 发表于 2023-8-7 14:29
1.12.2好像没有limit这个选择器
目前我的方案就是手动选择距离distance参数了,或者添加个计分板 ...

好的好的,谢谢大佬了

穰🌾
最方便的方法
  1. effect @p[rm=1] 效果
复制代码

不足之处就是如果两个人重合在一起就不能用

8784
  1. scoreboard players tag @a add not_myself
  2. scoreboard players tag @s remove not_myself
  3. effect @p[tag=not_myself] minecraft:glowing 5 0
  4. scoreboard players tag @a remove not_myself
复制代码

做成数据包函数,让玩家执行