1 votos

¿Cómo puedo hacer que una variable del marcador no supere un determinado número?

Necesito tener una variable de marcador que pueda contar hasta 9 y añadir uno cada vez que un jugador mate a otro. ¿Cómo puedo establecer un límite a la variable del marcador?

2voto

MrLemon Puntos 13223

No hay forma de establecer un límite intrínseco a un objetivo de marcador (es decir, limitarlo automáticamente), pero hay varias cosas que se pueden hacer. En lo que sigue, supondré un objetivo llamado PUNTUACIÓN, que no debe pasar de 10.

Compruebe dos veces la necesidad

Si la puntuación no está a la vista, un valor superior a 10 podría no perjudicar en absoluto la mecánica. @a[score_SCORE_min=10] funciona para todas las puntuaciones mayores o iguales a 10, ya sea 10, 11, 12 y 6871946.

Evitar que se incremente en primer lugar

Si su puntuación se incrementa manualmente, por ejemplo, con un dummy objetivo de tipo y scoreboard players add A menudo se puede simplemente evitar que la puntuación aumente más de lo que se desea con algo como

scoreboard players add @a[score_SCORE=9] SCORE 1

Sin embargo, ten cuidado, ya que podrías acabar aumentando la puntuación de otro jugador. Para evitarlo, asegúrate de que el jugador cuya puntuación debe aumentar es únicamente dirigido con su selector de objetivos y/o sus etiquetas de datos.

Ponerlo en MAX si es mayor

Si los dos puntos anteriores fallan, es el momento de añadir otro comando en conjunto, para restablecer el valor máximo si un jugador va por encima. Esto funciona para todo tipo de objetivos, incluyendo los que se incrementan automáticamente como stat.X.Y o deathCount . Cree un reloj (los bloques de comandos 20Hz./Repetición son ideales), o simplemente utilice el que usa de todos modos (colóquelo antes de la tapa es necesario en sus comandos)

scoreboard players set @a[score_SCORE_min=11] SCORE 10  

Esto también funciona para los límites inferiores, lo que puede ser útil en algunos casos:

scoreboard players set @a[score_SCORE=-1] SCORE 0

En ambos casos, cambiar el máximo puede ser molesto, ya que tienes que editar manualmente los comandos, y no puedes establecer fácilmente el tope con los comandos.

Solución dinámica

Una versión más sofisticada sería utilizar un jugador ficticio -llamémosle #MAX (el # hace que este nombre sea ilegal para los jugadores reales)- y scoreboard players operation . En lugar del comando anterior, utilice

scoreboard players operation @a SCORE < #MAX SCORE

La PUNTUACIÓN de cada jugador se fija ahora en el mínimo de su propia puntuación, o en la de #MAX. Para establecer el máximo, simplemente asigna a #MAX una puntuación:

scoreboard players set #MAX SCORE 10

Del mismo modo, se puede establecer un tope inferior (jugador ficticio llamado #MIN)

scoreboard players operation @a SCORE > #MIN SCORE

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