1 votos

¿Cómo cambiar la puntuación del marcador si el jugador no tiene un objeto en su inventario?

Quiero hacer un sistema de adjudicación de killstreak. para ello necesito poder hacer que un jugador elija usar sus puntos de killstreak para conseguir un efecto de habilidad/poción o abrir una determinada puerta.

Quería hacer que el jugador usara una botella de encantamiento para llegar al nivel 1 y luego hacer una prueba de bloqueo de comandos para esos jugadores y ejecutar la habilidad killstreak y luego reiniciar el sistema.

Pero qué pasa si el jugador no alcanza el nivel 1. qué pasa si otro jugador obtiene la XP de la botella.

¿Hay alguna forma más segura de conseguir la activación remota de un bloque de comandos para un determinado jugador? ¿Tengo que utilizar una variable de marcador?

EDIT: Traté de configurar una manera de ver si los jugadores no tienen un elemento de nombre personalizado en su inventario (si lo dejaron caer) y luego de acuerdo a eso, preformar una acción.

He llegado al punto en el que puedo saber si ninguno de los jugadores tiene ese objeto (bloques de comando rojos), matar el objeto si lo tiran al suelo (bloques de comando amarillos + azules) y devolver el objeto al jugador que tiene una puntuación por objetivo execute de 1.

Some Commandblocks

Comandos utilizados en los bloques de comandos: una fila para cada elemento (TNT llamado: "Choose Class" y TNT llamado: "Launch Killstreak")

  • ROJO: clear @a minecraft:tnt 0 0 {display:{Name:"Choose Class"}}
  • AZUL: testfor @e[type=Item] {Item:{id:"minecraft:tnt",tag:{display:{Name:"Choose Class"}}}}
  • AMARILLO: kill @e[type=Item] {Item:{id:"minecraft:tnt",tag:{display:{Name:"Choose Class"}}}}
  • VERDE: give @a[score_execute_min=1] minecraft:tnt 1 0 {display:{Name:"Choose Class",Lore:[Change your class when you get killed]}}
  • BLANCO: Comando para fijar la puntuación de execute un objetivo del marcador, a 1 para todos los jugadores que no tengan el objeto en su inventario.

Ahora el problema es que no sé cómo dar un punto a un objetivo del marcador de un jugador no tiene el artículo en su inventario. ¿Cómo lo hago?

0 votos

@pppery Supongo que me he precipitado al decidirme por este, eliminaré mi último comentario para no confundir a nadie y votaré en consecuencia.

0voto

jr0d Puntos 140

Podrías usar establecer la puntuación de ejecución de todos los jugadores a 1:

/scoreboard players set @a execute 1

Entonces podrías volver a poner a 0 la puntuación de todos los que tienen el objeto:

/scoreboard players set @a execute 0 {Inventory:[{id:"minecraft:tnt",tag:{display:{Name:"Choose Class"}}}]}

Esto debería funcionar, siempre y cuando los ejecutes en orden.

Por otro lado, deberías utilizar los bloques de comando de cadena en lugar de los repetidores. Basta con apuntar un bloque de comandos de impulso (estándar) a una línea de bloques de comandos en cadena. Esto consume menos recursos que los repetidores.

0 votos

Esto funciona, sin embargo, en lugar de utilizar un bloque de comandos de pulso he utilizado un bloque de comandos de repetición

0 votos

Me sugirieron que en los foros de Minecraft

0 votos

Sí, pero con tu configuración ahí, te sugería que mantuvieras el combo repetidor-comparador-impulso, pero que sustituyeras el patrón repetidor-impulso por bloques de cadena

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