1 votos

Dar un efecto cuando no lo tengan

¿Existe alguna forma de darle un efecto únicamente a un jugador que esté a una distancia específica de un bloque de comandos si no tiene el efecto en 1.19.2?

Estoy teniendo el problema de que simplemente envía el efecto repetidamente, lo que lo hace un poco inútil y llena el chat con un montón de mensajes de que se le ha dado el efecto al jugador.

1voto

Miles G. Puntos 163

Royce, para aplicar un efecto a un jugador solo si aún no tiene ese efecto, puedes usar una combinación de comandos con execute y effect.

Así es como se hace:

Prueba este comando (asegúrate de que el bloque de comando esté configurado en "Repetir" y "Siempre activo".):

execute as @a[distance=..5] unless entity @s[nbt={ActiveEffects:[{Id:}]}] run effect give @s    true

@a[distance=..5]: apunta a todos los jugadores dentro de un radio de 5 bloques (puedes cambiar la distancia).

unless entity @s[nbt={ActiveEffects:[{Id:}]}]: verifica si el jugador no tiene ningún efecto.

effect give @s true: otorga el efecto al jugador. El parámetro true oculta los efectos de partículas.

Por ejemplo, si quieres darle al jugador el efecto de Velocidad (ID del efecto 1) por 10 segundos con un amplificador de 1:

execute as @a[distance=..5] unless entity @s[nbt={ActiveEffects:[{Id:1}]}] run effect give @s minecraft:speed 10 1 true

Y para evitar que el chat se llene de mensajes, el true al final del comando de efecto asegura que la aplicación del efecto sea silenciosa.

Avísame cómo te va con esto.

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X