JugonesTop

Comandos de bloques y comparadores de Redstone minecraft minecraft-redstone minecraft-commands

Así que me estoy dando Bloques de Comandos de un primer intento y he encontrado que con el comparador puedes hacer lo que percibe un jugador está cerca de ellos (y, por supuesto, si el uso de la [r=x] de la etiqueta.
El escenario que estoy tratando de hacer es uno donde son 2 jugadores o más, el jugador N y el jugador M.)

  • N está en el rango y el Bloque de Comando de la condición se aplica.
  • M entra en el rango, mientras que la N también está en él. Condición se aplica también.

Esencialmente, estoy tratando de hacer una burbuja que, cada vez que alguien entra, presenta las ventajas de ser en el interior sin la necesidad de la otra dejando; por el contrario, estoy recibiendo ningún cambio si alguien está en el rango de ya.

El diseño que estoy usando es el siguiente: redstone layout
Por cierto, sé que esto funciona si la gente tome turnos, pero quiero trabajar incluso cuando hay alguien en el rango ya, así que estoy abierto a cambiar el diseño si es necesario.
Gracias de antemano.

Respuesta

Este es el lado de abajo de la utilización de los comparadores. NO MP amable. Cuando un jugador entra en el bloque de comandos ya está activa.

Solución 1:

Esta constantemente re-aplicar el beneficio a cualquiera.

Programa de instalación:

/scoreboard objectives add inRange dummy

Reloj(20tps Llenar Reloj)

/scoreboard players set @a inRange 0
/scoreboard players set @a[x=<X>,y=<Y>,z=<Z>,r=<Range>] inRange 1
Run commands that will give the perks using the player selector @a[score_inRange_min = 1]

Solución 2:

La versión más simple de Solución 1

Reloj(20tps Llenar Reloj)

Run commands that will give the perks using the player selector @a[x=<X>,y=<Y>,z=<Z>,r=<Range>

Solución 3:

Dar ventaja al entrar en rango.

Programa de instalación:

/scoreboard objective add inRange dummy

Reloj(20tps Llenar Reloj)

Run Commands that will give the perks using the player selector @a[x=<X>,y=<Y>,z=<Z>,r=<Range>,score_inRange = 0]
/scoreboard players set @a inRange 0
/scoreboard players set @a[x=<X>,y=<Y>,z=<Z>,r=<Range>] inRange 1

Explicación:

Solución 1:

Primero restablecer la puntuación de todos los jugadores. A continuación, marcar todos los jugadores dentro de la gama en un cuadro de indicadores, y finalmente ejecutar un comando en marcados todos los jugadores.

Solución 2:

Recta hasta ejecutar un comando en todos los jugadores dentro de la gama

Solución 3:

Ejecutar un comando en todos los jugadores que estén en el rango, pero no han sido marcados aka. apenas entró en el rango. A continuación, restablezca la puntuación y la marca de todos los jugadores en el rango.