"> Foro - Como detector vida de mobs??? en Bloques de comandos - Page 1 of 1
Diciembre 23, 2025, 01:19:53 pm
Visitante

Autor Tema:  Como detector vida de mobs???  (Leído 7889 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Enero 03, 2017, 05:39:27 pm

Fullcraft AdriAC




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Mapas minijuego, mapas de aventura, ctm y min.
  • Actividad

  • 0%
  • Logros

Más información

Estoy haciendo una serie MiniCTM, en ella hay una vaca-seta a la que hay que matar, me gustaría detectar la vida , para mientras vas bajando la vida, me gustaría dar efectos al jugador y spawnear mobs y por el estilo, la pregunta es
¿Cómo detecto la vida de un mob? ¿Qué comandos necesito?


Linkback: https://minecraftmin.net/index.php?topic=14178.0
¿QUIERES SABER MÁS? Visita mi página web

https://dirkcastillo.webnode.es


Respuesta #1 Enero 04, 2017, 01:39:24 pm

sircripers




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    ñeñeñe? ⎝(。◁゚)⎠
  • Actividad

  • 0%
  • Logros

Más información

La respuesta en la que uso /testfor @e[type=mooshroom] {Health:10s} es un método que tras probarlo varias veces me di cuenta que no funciona en versiones superiores a la 1.8
Spoiler para ocultar:
tienes que usar este comando:
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Al ser la única forma actualmente que permite detectar la vida es bastante limitado y no se puede detectar cuando un mob esta por debajo de x vida, para ello tienes que utilizar varias veces este comando detectando cada vez menos vida
Ejemplo:

Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:9s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:8s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:7s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:6s}
Puedes enlazar esa serie de comandos a un mismo resultado, quiero decir, si la vaca seta tiene una vida entre 10 y 6, que todos los command block activen un mismo comando.

Tras investigar un poco mas a fondo descubrí un método el cual si que funciona actualmente (esta vez lo he probado antes de responder xd)

Este método requiere de scoreboards y es más simple de usar, para empezar necesitas estos comandos:
Código: [Seleccionar]
/scoreboard objectives add DamageDealt stat.damageDealt-Este comando servirá para detectar el daño que hace el jugador sobre un mob.

Código: [Seleccionar]
/scoreboard objectives add vida dummy
Código: [Seleccionar]
/summon mooshroom ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:50}],Health:50.0f}-Este comando tendrías que reemplazarlo por el summon que utilizas tú en tu mapa para la vaca seta, este en concreto lo uso como ejemplo para lo que diré.

Código: [Seleccionar]
/scoreboard players set @e[type=mushroom] vida 500-Vale, utilizando el ejemplo de la vaca que puse anteriormente, si el mob del cual quieres detectar la vida tiene por ejemplo 50 de vida, en este comando tendras que poner 500, es decir que tienes que multiplicar la vida por 10.
(Este comando lo tienes que activar despues del summon)

Los siguientes comandos tienen que estar activados constantemente.


Código: [Seleccionar]
/execute @a[score_DamageDealt_min=1] ~ ~ ~ /scoreboard players operation @e[type=mushroom] vida -= @p DamageDealt-Sinceramente no soy ningún experto en scoreboard y las operaciones matemáticas de estos, pero este comando sirve para que en base del daño que hagas se resten puntos al scoreboard "vida" de la vaca seta.

Código: [Seleccionar]
/scoreboard players set @a[score_DamageDealt_min=1] DamageDealt 0-con esto simplemente se resetea el scoreboard de DamageDealt al jugador.

Código: [Seleccionar]
/execute @e[type=mushroom,score_vida=-100] ~ ~ ~ /setblock 381 51 569 minecraft:redstone_block-Y finalmente este es el comando que tendrías que usar para que cuando tenga x vida se activen los comandos que quieras; summon, effect, etc.... (date cuenta que en este comando se esta detectando una puntuación negativa en el scoreboard de vida)

-El setblock lo usarías para que se activara el circuito con los summon o lo que quieras que ocurra durante la batalla.

Ya con esto por fin termino de explicar como detectar la vida de un mob xd al final me complique contestando a tu pregunta por no comprobar si el primer metodo funcionaba  :I
Espero que te sirva  :D

 
« Última modificación: Enero 04, 2017, 03:11:31 pm por sircripers »
(∩ ͡° ͜ʖ ͡°)⊃━☆゚.*・。゚copy pastus magicae



https://myanimelist.net/animelist/Sircriperss?status=2&order=4&order2=0



Respuesta #2 Diciembre 19, 2017, 08:53:13 pm

Baati




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Redstoner y me encantan los CTM`s,creo minijuegos.
  • Actividad

  • 0%
  • Logros

Más información

La respuesta en la que uso /testfor @e[type=mooshroom] {Health:10s} es un método que tras probarlo varias veces me di cuenta que no funciona en versiones superiores a la 1.8
Spoiler para ocultar:
tienes que usar este comando:
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Al ser la única forma actualmente que permite detectar la vida es bastante limitado y no se puede detectar cuando un mob esta por debajo de x vida, para ello tienes que utilizar varias veces este comando detectando cada vez menos vida
Ejemplo:

Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:10s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:9s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:8s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:7s}
Código: [Seleccionar]
/testfor @e[type=mooshroom] {Health:6s}
Puedes enlazar esa serie de comandos a un mismo resultado, quiero decir, si la vaca seta tiene una vida entre 10 y 6, que todos los command block activen un mismo comando.

Tras investigar un poco mas a fondo descubrí un método el cual si que funciona actualmente (esta vez lo he probado antes de responder xd)

Este método requiere de scoreboards y es más simple de usar, para empezar necesitas estos comandos:
Código: [Seleccionar]
/scoreboard objectives add DamageDealt stat.damageDealt-Este comando servirá para detectar el daño que hace el jugador sobre un mob.

Código: [Seleccionar]
/scoreboard objectives add vida dummy
Código: [Seleccionar]
/summon mooshroom ~ ~1 ~ {Attributes:[{Name:generic.maxHealth,Base:50}],Health:50.0f}-Este comando tendrías que reemplazarlo por el summon que utilizas tú en tu mapa para la vaca seta, este en concreto lo uso como ejemplo para lo que diré.

Código: [Seleccionar]
/scoreboard players set @e[type=mushroom] vida 500-Vale, utilizando el ejemplo de la vaca que puse anteriormente, si el mob del cual quieres detectar la vida tiene por ejemplo 50 de vida, en este comando tendras que poner 500, es decir que tienes que multiplicar la vida por 10.
(Este comando lo tienes que activar despues del summon)

Los siguientes comandos tienen que estar activados constantemente.


Código: [Seleccionar]
/execute @a[score_DamageDealt_min=1] ~ ~ ~ /scoreboard players operation @e[type=mushroom] vida -= @p DamageDealt-Sinceramente no soy ningún experto en scoreboard y las operaciones matemáticas de estos, pero este comando sirve para que en base del daño que hagas se resten puntos al scoreboard "vida" de la vaca seta.

Código: [Seleccionar]
/scoreboard players set @a[score_DamageDealt_min=1] DamageDealt 0-con esto simplemente se resetea el scoreboard de DamageDealt al jugador.

Código: [Seleccionar]
/execute @e[type=mushroom,score_vida=-100] ~ ~ ~ /setblock 381 51 569 minecraft:redstone_block-Y finalmente este es el comando que tendrías que usar para que cuando tenga x vida se activen los comandos que quieras; summon, effect, etc.... (date cuenta que en este comando se esta detectando una puntuación negativa en el scoreboard de vida)

-El setblock lo usarías para que se activara el circuito con los summon o lo que quieras que ocurra durante la batalla.

Ya con esto por fin termino de explicar como detectar la vida de un mob xd al final me complique contestando a tu pregunta por no comprobar si el primer metodo funcionaba  :I
Espero que te sirva  :D

Con respecto al segundo método, no detecta la vida de un mob en especifico, porque el scoreboard damagedealt detecta cuánto daño le haces a cualquier mob, entonces le va a restar el puntaje de scoreboard al mob que quieres detectarle la vida un golpe A CUALQUIER MOB, no necesariamente a ese. ¿Y si alguien está en un jefe donde hay muchos mobs, sin embargo por pegarles a los demás se le modifica el score de vida al jefe?


Respuesta #3 Enero 15, 2018, 05:03:20 am

keane5


  • *

  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    MinecraftMin, el mejor foro Español!
  • Actividad

  • 0%
  • Logros

Más información

Gracias por tu respuesta detallada. Es realmente útil. Sin embargo, tengo que admitir que en cuanto al primer método, no sirve de nada porque nunca le dejarás la vida justa que pones en el comando para detectarla
Free movies online GoMovies




Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

question
Como hago un indicador de vida para mobs 1.12.2

Iniciado por Elcoloma2203

1 Respuestas
2022 Vistas
Último mensaje Junio 09, 2020, 11:10:35 am
por Aglo
xx
Detector de creativo

Iniciado por ByJavitxu

5 Respuestas
2813 Vistas
Último mensaje Noviembre 02, 2014, 03:38:18 pm
por lNaut7000
question
Detector de muertes

Iniciado por Ivn93

2 Respuestas
4995 Vistas
Último mensaje Noviembre 06, 2016, 11:08:53 pm
por Ivn93
xx
Detector de Jugadores con Spawner

Iniciado por TheSamiCraft

2 Respuestas
2174 Vistas
Último mensaje Julio 09, 2015, 04:24:29 pm
por Yeeee